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