Cocos2dx 接入友盟社会化分享-微信分享

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sinat_31803737/article/details/52213140

需要准备的材料:
1.友盟Appkey

如果你之前已经在友盟注册了应用,并获取到了Appkey,可以继续使用它.

如果你尚未在友盟注册开发者账号,需要先注册,注册之后登录你的账号,点击添加新应用,填写完应用基本信息后,将进入”下载SDK并添加代码”页面,此页面即可得到Appkey。

2.友盟U-Share SDK

解压SDK压缩包,将文件夹中的’main/libs’和’main/res’文件夹复制到你的项目工程根目录下(如使用’ADT 17’以下用户需要手动添加’libs’下的jar文件到工程Path中)

解压SDK压缩包,将文件夹中的social_sdk_library_project文件夹导入Eclipse,并在您的工程中添加对此项目的引用即可。

3.微信AppID及secret

在微信开放平台申请,通过审核后即可得到。

签名和包名不能填错!!!!

由于微信的签名过程跟验证流程较多,出错的可能性较大,这里将对微信的签名过程跟验证做详细的说明。

首先必须确保正确设置微信AppID及secret 工程的包名必须同申请应用的包名一致。 在微信开放平台填写你App的的签名,测试、发布时要保证App的签名跟微信开放平台的签名一致。 开发者的应用需要通过审核。开发者在申请应用必须要通过微信官网的审核才能进行调试,可以使用签名工具自行检查比对。

获取签名的方法:

导出 带签名 的apk文件,将该apk文件安装至手机中。安装微信的签名工具,打开应用程序,即可得到签名。(签名工具链接:http://pan.baidu.com/s/1jHMlgTC 密码:rypg)

准备好就可以开始啦~

1.导入sdk中res,libs下的文件

2.导入platforms下weixin的所有文件

wxapi下面的文件需要和包名同名

3.AndroidManifest配置

分别增加友盟activity ,友盟appkey,微信acitivity,友盟权限

<activity           
android:name="com.umeng.socialize.editorpage.ShareActivity"
android:theme="@style/Theme.UMDefault"
android:excludeFromRecents="true"/>

<meta-data
android:name="UMENG_APPKEY"
android:value="4eaee02c527015373b000003" >
</meta-data>

<activity
            android:name=".wxapi.WXEntryActivity"
            android:configChanges="keyboardHidden|orientation|screenSize"
            android:exported="true"
            android:screenOrientation="portrait"
            android:theme="@android:style/Theme.Translucent.NoTitleBar" />


<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_LOGS" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.GET_TASKS" />
<uses-permission android:name="android.permission.SET_DEBUG_APP" />
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.USE_CREDENTIALS" />
<uses-permission android:name="android.permission.MANAGE_ACCOUNTS" />

4.初始化配置

PlatformConfig.setWeixin("wx967daebe835fbeac","5bb696d9ccd75a38c8a0bfe0675559b3");
 //微信 appid appsecret

建议放在全局Application或者程序入口

5.share接口调用

public static void share()
    {
        Log.v("Share", "123");

        if(null != appactivity){

            appactivity.runOnUiThread(new Runnable(){

                public void run() {

                    new ShareAction(appactivity).setDisplayList(SHARE_MEDIA.WEIXIN,SHARE_MEDIA.WEIXIN_CIRCLE)
                     .withTitle("test")
                     .withText("test"+"——来自友盟分享面板")
                     .withMedia(new UMImage(appactivity,"http://dev.umeng.com/images/tab2_1.png"))
                     .withTargetUrl("https://wsq.umeng.com/")
                     .setCallback(new UMShareListener() {
                         @Override
                         public void onResult(SHARE_MEDIA platform) {
                             Log.d("plat","platform"+platform);
                             Toast.makeText(appactivity, platform + " 分享成功啦", Toast.LENGTH_SHORT).show();
                         }

                         @Override
                         public void onError(SHARE_MEDIA platform, Throwable t) {
                             Toast.makeText(appactivity,platform + " 分享失败啦", Toast.LENGTH_SHORT).show();
                             if(t!=null){
                                 Log.d("throw","throw:"+t.getMessage());
                             }
                         }

                         @Override
                         public void onCancel(SHARE_MEDIA platform) {
                             Toast.makeText(appactivity,platform + " 分享取消了", Toast.LENGTH_SHORT).show();
                         }
                     })
                     .open();


                }

               });
           }
    }

新建一个UI子线程来弹出分享面板。

6.运行测试

最好打包成apk在真机上运行。

Over。

猜你喜欢

转载自blog.csdn.net/sinat_31803737/article/details/52213140