1. 程式人生 > >Cocos2dx 接入友盟社會化分享-微信分享

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。