如果需要詳細說明,可以點擊鏈接去看原文。
創新互聯建站云計算的互聯網服務提供商,擁有超過13年的服務器租用、成都移動云計算中心、云服務器、網站空間、網站系統開發經驗,已先后獲得國家工業和信息化部頒發的互聯網數據中心業務許可證。專業提供云主機、網站空間、域名與空間、VPS主機、云服務器、香港云服務器、免備案服務器等。
重新運行就可以分享至微博了。
分享成功后,友盟有個回調的函數,返回分享成功或者失敗。在這個函數中寫你要做的事就好
友盟版本:6.10.3
//? ? 初始化?
[UMConfigure initWithAppkey:@"友盟AppID" channel:@"App Store"];
//? ? 這個要加,不然微信注冊會失敗,不跳轉到微信
就這句,賊坑,SDK里面沒寫,Demo里面也沒有,但是這個版本就是需要+
[UMSocialGlobal shareInstance].universalLinkDic = @{@(UMSocialPlatformType_WechatSession):@"",@"UMSocialPlatformType_QQ":@"222",@"UMSocialPlatformType_Sina":@""};
//接著才是注冊微信QQ等平臺信息
[[UMSocialManager defaultManager] setPlaform:UMSocialPlatformType_WechatSession appKey:@"AppID" appSecret:@"appSecret" redirectURL:nil];
。。。。
官方說的比較詳細,但是就是有些重復,而且有很多坑
在info.plist中加入安全域名白名單(右鍵info.plist用source code打開)
在info.plist的NSAppTransportSecurity下新增NSAllowsArbitraryLoads并設置為YES,指定所有HTTP連接都可正常請求
打開app,用第三方登錄,發現沒有sso授權頁面,或打開QQ失敗、微信失敗、微博失敗等
info.plist增加:
在iOS9下就需要增加一個可跳轉的白名單,指定對應跳轉App的URL Scheme,否則將在第三方平臺判斷是否跳轉時用到的canOpenURL時返回NO,進而只進行webview授權或授權/分享失敗。
我這里就是因為這個圖片傳的過大,導致一直出現應用消息數據錯誤。
首先我簡單介紹一下組件壓縮包的組成
Cocos2dx
實現Cocos2d-x中跨平臺分享功能,需拷貝到您項目的Classes文件夾中;
Platforms
原生的Android和iOS社會化組件SDK,需要您將庫和資源拷貝到對應平臺的項目中;
doc
組件的集成文檔;
Umeng_Cocos2dx_Demo_V1.0
Android部分的demo文件,可以安裝在手機上看一下簡單的分享效果和樣式
Cocos2d-x雖然是一個跨平臺的引擎,但是對于Android和IOS平臺來說,具體的集成方式還是有一定的區別,這里分別介紹Android和IOS平臺集成中不同的地方,然后再集中介紹跨平臺通用的部分。
Android平臺集成步驟:
步驟一:
下載Cocos2d-x組件(下載地址) 并且將jar包添加到build path 路徑下,將res資源文件夾加入到你工程對應資源文件下。將Platforms/Android/controller目錄下的com文件夾拷貝到您的Cocos2d-x項目Android平臺的src目錄下,并且在jni/Android.mk中的LOCAL_SRC_FILES下添加如下配置 (注意格式,否則會編譯出錯) :
../../Classes/Cocos2dx/Android/CCUMSocialController.cpp \
../../Classes/Cocos2dx/ShareButton/UMShareButton.cpp \
../../Classes/Cocos2dx/Common/CCUMSocialSDK.cpp
步驟二:
在Cocos2dxActivity子類的onCreate方法下添加如下代碼,用來完成初始化步驟
// this為Cocos2dxActivity類型, 參數2為描述符,可隨意修改.
CCUMSocialController.initSocialSDK(this, "com.umeng.social.share");
步驟三:
在代碼中覆寫Cocos2dxActivity子類的onActivityResult方法,用來實現回調方法。在onActivityResult添加如下代碼 :
// 授權回調
CCUMSocialController.onActivityResult(requestCode, resultCode, data);
super.onActivityResult(requestCode, resultCode, data);
iOS平臺集成步驟:
步驟一:
解壓SDK壓縮包,將Platforms/iOS文件夾和Cocos2dx文件夾拖入工程目錄,并刪除Cocos2dx/Android文件夾,添加后應該是這個效果:
步驟二:
添加系統需要的framework
Security.framework //用于系統加密處理
libiconv.dylib //QQ互聯的庫文件
SystemConfiguration.framework //QQ互聯需要的framework
CoreGraphics.framework //QQ互聯需要的framework
Social.framework //分享組件需要的framework,如果不使用twitter則不需要
libsqlite3.dylib //QQ互聯需要的framework
libstdc++.dylib //C++的庫文件
CoreTelephony.framework //QQ互聯需要的framework
libz.dylib //QQ互聯需要的framework
Accounts.framework //系統需要的framework,如果不使用twitter則不需要
步驟三:
實現系統的回調方法,在Xcode工程中的ios文件夾下的AppController.mm文件中加入下面的代碼:
#import "UMSocial.h"
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
{
return [UMSocialSnsService handleOpenURL:url];
}
完成了上述準備工作之后,就可以開始正式的分享步驟了,友盟提供了多種分享樣式,有精力的開發者可以使用底層接口,可以完全自由定制分享界面和樣式,不過相信大部分開發者們使用第三方插件的初衷都是為了節省精力,所以這里就只介紹使用默認分享界面的方法,有更多需求的開發者們可以自己探索自定義界面接口部分。
步驟一:加入系統需要的頭文件
// 授權回調
#include "Cocos2dx/Common/CCUMSocialSDK.h"
#include "Cocos2dx/ShareButton/UMShareButton.h"
// 使用友盟命令空間
USING_NS_UM_SOCIAL;
// ...... 代碼省略
// HelloWorld為cocos2d::CCLayer的子類
bool HelloWorld::init()
{
//////////////////////////////
// 1. super init first
if ( !CCLayer::init() )
{
return false;
}
}
步驟二:分享按鈕的創建
// 創建分享按鈕, 參數1為按鈕正常情況下的圖片, 參數2為按鈕選中時的圖片,參數3為友盟appkey, 參數4為分享回調
UMShareButton *shareButton = UMShareButton::create("shareNormal.png","shareSelected.png", "你的友盟appkey", share_selector(shareCallback)) ;
步驟三:設置分享平臺及內容
// 顯示在友盟分享面板上的平臺
vector
* platforms = new vector
();
platforms-push_back(SINA);
platforms-push_back(RENREN) ;
platforms-push_back(DOUBAN) ;
platforms-push_back(QZONE) ;
platforms-push_back(QQ) ;
// 設置友盟分享面板上顯示的平臺
shareButton-setPlatforms(platforms);
// 設置文本分享內容
shareButton-setShareContent("umeng social Cocos2d-x sdk.") ;
// 設置要分享的圖片, 圖片支持本地圖片和url圖片, 但是url圖片必須以http://或者https://開頭
shareButton-setShareImage("/sdcard/header.jpeg") ;
// 設置按鈕的位置
shareButton-setPosition(ccp(150, 180));
// 然后開發者需要將該按鈕添加到游戲場景中
CCMenu* pMenu = CCMenu::create(shareButton, NULL);
pMenu-setPosition(CCPointZero);
this-addChild(pMenu, 1);
// ********************** 設置平臺信息 ***************************
// CCUMSocialSDK *sdk = shareButton-getSocialSDK();
// sdk-setQQAppIdAndAppKey("設置QQ的app id", "appkey");
// sdk-setWeiXinAppId("設置微信和朋友圈的app id");
// sdk-setYiXinAppKey("設置易信和易信朋友圈的app id");
// sdk-setLaiwangAppInfo("設置來往和來往動態的app id",
// "設置來往和來往動態的app key", "我的應用名");
// sdk-setFacebookAppId("你的facebook appid");
// 設置用戶點擊一條圖文分享時用戶跳轉到的目標頁面, 一般為app主頁或者下載頁面
// sdk-setTargetUrl(" ");
// 打開或者關閉log
// sdk-setLogEnable(true) ;
// ********************** END ***************************
集成到這一步就完成了,如果沒有異常,應該會出現下面的界面,這說明你已經成功實現了集成工作。
名稱欄目:ios開發友盟分享,ios聯盟
文章起源:http://m.newbst.com/article20/phheco.html
成都網站建設公司_創新互聯,為您提供網站建設、網站排名、網站改版、面包屑導航、網站收錄、用戶體驗
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯