集成UMeng的分享及登錄功能

按照官方集成有時(shí)可能會遇到各種BUG耕皮,官方文檔好像有點(diǎn)不全沈跨,你必須去官方的demo里去找相關(guān)的代碼!
下面介紹一下我的集成過程:

分享:
  • 在AppDelegate.m里面注冊友盟的key
-(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
        [UMSocialData setAppKey:umengAppKey];
}
  • 在你分享按鈕的控制器里面注冊分享平臺
    因?yàn)槲业氖莿討B(tài)的url库糠,所以需要注冊在分享頁面舷丹,如果是靜態(tài)的url可以直接在AppDelegate里面注冊;


    分享代碼

    如果用后手機(jī)沒有安裝相關(guān)的客戶端就隱藏相應(yīng)的分享按鈕

    [UMSocialConfig hiddenNotInstallPlatforms:@[UMShareToQQ, UMShareToWechatSession, UMShareToWechatTimeline]];

設(shè)置微信分享類型:

/*
typedef enum{
    UMSocialWXMessageTypeNone,
    UMSocialWXMessageTypeText,      //微信消息文本類型
    UMSocialWXMessageTypeImage,     //微信消息圖片類型
    UMSocialWXMessageTypeApp,       //微信消息應(yīng)用類型
    UMSocialWXMessageTypeWeb,       //微信消息網(wǎng)頁類型
    UMSocialWXMessageTypeMusic,     //微信消息音樂類型
    UMSocialWXMessageTypeVideo,     //微信消息視頻類型
    UMSocialWXMessageTypeEmotion,   //微信消息表情類型
    UMSocialWXMessageTypeOther      //微信消息其他多媒體類型
}UMSocialWXMessageType;
*/
[UMSocialData defaultData].extConfig.wxMessageType = UMSocialWXMessageTypeWeb;

QQ分享類型:

[UMSocialData defaultData].extConfig.qqData.qqMessageType = UMSocialQQMessageTypeDefault;

微博分享類型:

    [UMSocialData defaultData].extConfig.sinaData.shareText = [NSString stringWithFormat:@"%@翘魄,%@",bz,socialUrl];

或(分享網(wǎng)頁):

    UMSocialUrlResource *urlRes = [[UMSocialUrlResource alloc] initWithSnsResourceType:UMSocialUrlResourceTypeWeb url:socialUrl];
    [UMSocialData defaultData].extConfig.sinaData.urlResource = urlRes;
注意:

這種方式也可以設(shè)置博分享類型鼎天,但是它會影響到QQ 分享的類型,導(dǎo)致QQ分享只能分享文字暑竟;這個(gè)問題我問過友盟官方的客服斋射,給我的解答是他們沒有提供這樣的方法設(shè)置分享類型,我也是醉啦但荤,難道是我自己發(fā)明的嘛罗岖?

[[UMSocialData defaultData].urlResource setResourceType:UMSocialUrlResourceTypeWeb url:socialUrl];

分享成功之后:在分享成功之后需要做一下其他操作需要實(shí)現(xiàn)下面方法

#pragma mark - UMSocialUIDelegate
-(void)didFinishGetUMSocialDataInViewController:(UMSocialResponseEntity *)response
{
    //根據(jù)`responseCode`得到發(fā)送結(jié)果,如果分享成功
    if(response.responseCode == UMSResponseCodeSuccess)
    {}
}
  • 配置URL scheme


補(bǔ)充:

如果分享的URL里面包含中文就會出現(xiàn)某些分享平臺無法打開的情況,要將URL轉(zhuǎn)碼;

[socialUrl stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

不轉(zhuǎn)碼會出現(xiàn)類似如下錯(cuò)誤:

-QQAPI- QQApi.m:252 param error: url is nil
sent to qq result is 5

第三方登錄

  • 在AppDelegate里面注冊第三方平臺


  • 登錄按鈕


    • WeChat
        UMSocialSnsPlatform *snsPlatform = [UMSocialSnsPlatformManager getSocialPlatformWithName:UMShareToWechatSession];
        snsPlatform.loginClickHandler(self,[UMSocialControllerService defaultControllerService],YES,^(UMSocialResponseEntity *response){
            if (response.responseCode == UMSResponseCodeSuccess) {
                UMSocialAccountEntity *snsAccount = [[UMSocialAccountManager socialAccountDictionary]valueForKey:UMShareToWechatSession];
                [self saveUserInfo:[NSString stringWithFormat:@"wechat_%@",snsAccount.usid] token:@"" headerImageUrl:snsAccount.iconURL name:snsAccount.userName type:@"wechat"];     
            }
        });
  • sina
        UMSocialSnsPlatform *snsPlatform = [UMSocialSnsPlatformManager getSocialPlatformWithName:UMShareToSina];
        snsPlatform.loginClickHandler(self,[UMSocialControllerService defaultControllerService],YES,^(UMSocialResponseEntity *response){
            if (response.responseCode == UMSResponseCodeSuccess) {
                UMSocialAccountEntity *snsAccount = [[UMSocialAccountManager socialAccountDictionary] valueForKey:UMShareToSina];
                [self saveUserInfo:[NSString stringWithFormat:@"sina_%@",snsAccount.usid] token:@"" headerImageUrl:snsAccount.iconURL name:snsAccount.userName type:@"sina"];
            }});
  • QQ
    UMSocialSnsPlatform *snsPlatform = [UMSocialSnsPlatformManager getSocialPlatformWithName:UMShareToQQ];
    snsPlatform.loginClickHandler(self,[UMSocialControllerService defaultControllerService],YES,^(UMSocialResponseEntity *response){
    if (response.responseCode == UMSResponseCodeSuccess) {
    UMSocialAccountEntity *snsAccount = [[UMSocialAccountManager socialAccountDictionary] valueForKey:UMShareToQQ];
    [self saveUserInfo:[NSString stringWithFormat:@"qq_%@",snsAccount.usid] token:@"" headerImageUrl:snsAccount.iconURL name:snsAccount.userName type:@"qq"];
    }});

官方文檔是只說明到這步腹躁,你發(fā)現(xiàn)的你程序會崩潰桑包;那是因?yàn)樵贏ppDelegate少代碼,這是我通過官方的demo找到的纺非;

/**
 這里處理新浪微博SSO授權(quán)之后跳轉(zhuǎn)回來哑了,和微信分享完成之后跳轉(zhuǎn)回來
 */
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
{
    return  [UMSocialSnsService handleOpenURL:url wxApiDelegate:nil];
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市烧颖,隨后出現(xiàn)的幾起案子弱左,更是在濱河造成了極大的恐慌,老刑警劉巖炕淮,帶你破解...
    沈念sama閱讀 216,692評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件拆火,死亡現(xiàn)場離奇詭異,居然都是意外死亡涂圆,警方通過查閱死者的電腦和手機(jī)榜掌,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,482評論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來乘综,“玉大人憎账,你說我怎么就攤上這事】ǔ剑” “怎么了胞皱?”我有些...
    開封第一講書人閱讀 162,995評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長九妈。 經(jīng)常有香客問我反砌,道長,這世上最難降的妖魔是什么萌朱? 我笑而不...
    開封第一講書人閱讀 58,223評論 1 292
  • 正文 為了忘掉前任宴树,我火速辦了婚禮,結(jié)果婚禮上晶疼,老公的妹妹穿的比我還像新娘酒贬。我一直安慰自己又憨,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,245評論 6 388
  • 文/花漫 我一把揭開白布锭吨。 她就那樣靜靜地躺著蠢莺,像睡著了一般。 火紅的嫁衣襯著肌膚如雪零如。 梳的紋絲不亂的頭發(fā)上躏将,一...
    開封第一講書人閱讀 51,208評論 1 299
  • 那天,我揣著相機(jī)與錄音考蕾,去河邊找鬼祸憋。 笑死,一個(gè)胖子當(dāng)著我的面吹牛肖卧,可吹牛的內(nèi)容都是我干的蚯窥。 我是一名探鬼主播,決...
    沈念sama閱讀 40,091評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼喜命,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了河劝?” 一聲冷哼從身側(cè)響起壁榕,我...
    開封第一講書人閱讀 38,929評論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎赎瞎,沒想到半個(gè)月后牌里,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,346評論 1 311
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡务甥,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,570評論 2 333
  • 正文 我和宋清朗相戀三年牡辽,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片敞临。...
    茶點(diǎn)故事閱讀 39,739評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡态辛,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出挺尿,到底是詐尸還是另有隱情奏黑,我是刑警寧澤,帶...
    沈念sama閱讀 35,437評論 5 344
  • 正文 年R本政府宣布编矾,位于F島的核電站熟史,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏窄俏。R本人自食惡果不足惜蹂匹,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,037評論 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望凹蜈。 院中可真熱鬧限寞,春花似錦忍啸、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,677評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至静尼,卻和暖如春白粉,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背鼠渺。 一陣腳步聲響...
    開封第一講書人閱讀 32,833評論 1 269
  • 我被黑心中介騙來泰國打工鸭巴, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人拦盹。 一個(gè)月前我還...
    沈念sama閱讀 47,760評論 2 369
  • 正文 我出身青樓鹃祖,卻偏偏與公主長得像,于是被迫代替她去往敵國和親普舆。 傳聞我的和親對象是個(gè)殘疾皇子恬口,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,647評論 2 354

推薦閱讀更多精彩內(nèi)容