天天看點

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

需要準備的材料:

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。

繼續閱讀