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檔案安裝至手機中。安裝微信的簽名工具,開啟應用程式,即可得到簽名。(簽名工具連結:
準備好就可以開始啦~
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。