iOS 友盟微信,QQ,微博登錄

在開發(fā)過程中,常常會遇到第三方授權登錄,這里用友盟比較快捷方便

1.導入友盟的SDK,當然用CocoaPods更加方便快捷

pod 'UMengSocial'

2.設置友盟appkey

  • 獲取友盟Appkey漾根。如果你之前已經在友盟注冊了應用祥得,獲得了Appkey婆排,可以繼續(xù)使用之前獲得Appkey。
  • 如果你尚未在友盟注冊賬號傲隶,需要先注冊,注冊之后登錄你的賬號,點擊添加新應用,完成新應用填寫之后炭序,將進入應用管理頁面。在該頁面就能得到Appkey.
  • 在代碼中設置你的友盟Appkey苍日,在AppDelegate
    文件內設置你的AppKey:
#import "UMSocial.h"
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{   
     [UMSocialData setAppKey:@"507fcab25270157b37000010"];
}

3.微信登錄

  • 使用微信分享首先需要在微信開放平臺(點擊鏈接)申請惭聂,按照要求填寫應用信息,審核通過后獲取到微信APPID和APPsecret
    在你的程序APPdelegate入口方法添加下面的代碼
#import "UMSocialWechatHandler.h" 
//設置微信AppId相恃、appSecret辜纲,分享url 
[UMSocialWechatHandler setWXAppId:@"wxd930ea5d5a258f4f" 
appSecret:@"db426a9829e4b49a0dcac7b4162da6b6"
 url:@"http://www.umeng.com/social"];
  • 在微信登錄按鈕中實現(xiàn)下面的方法
UMSocialSnsPlatform *snsPlatform = [UMSocialSnsPlatformManager getSocialPlatformWithName:UMShareToWechatSession];
        snsPlatform.loginClickHandler(self,[UMSocialControllerService defaultControllerService],YES,^(UMSocialResponseEntity *response){
            if (response.responseCode == UMSResponseCodeSuccess) {
                UMSocialAccountEntity *snsAccount = [[UMSocialAccountManager socialAccountDictionary]valueForKey:UMShareToWechatSession];
                NSLog(@"username is %@, uid is %@, token is %@ url is %@",snsAccount.userName,snsAccount.usid,snsAccount.accessToken,snsAccount.iconURL);
            }
        });
  • 當然還要去Info.plist中設置 URL schemes
    在你的工程設置項,targets 一欄下,選中自己的 target,在 Info->URL Types 中添加 URL Schemes。如果使用的是Xcode3或更低版本拦耐,則需要在plist文件中添加耕腾。獲取各個平臺appkey或者appid的方法可以參考分享詳細文檔綁定各個平臺部分,各個平臺的url scheme格式如下表:


    屏幕快照 2016-04-15 上午11.44.49.png
  • 之后還要去設置白名單
<key>LSApplicationQueriesSchemes</key>
    <array>
        <string>iosamap</string>
        <string>alipay</string>
        <string>alipayshare</string>
        <string>wechat</string>
        <string>weixin</string>
        <string>sinaweibohd</string>
        <string>sinaweibo</string>
        <string>sinaweibosso</string>
        <string>weibosdk</string>
        <string>weibosdk2.5</string>
        <string>mqqapi</string>
        <string>mqq</string>
        <string>mqqOpensdkSSoLogin</string>
        <string>mqqconnect</string>
        <string>mqqopensdkdataline</string>
        <string>mqqopensdkgrouptribeshare</string>
        <string>mqqopensdkfriend</string>
        <string>mqqopensdkapi</string>
        <string>mqqopensdkapiV2</string>
        <string>mqqopensdkapiV3</string>
        <string>mqzoneopensdk</string>
        <string>wtloginmqq</string>
        <string>wtloginmqq2</string>
        <string>mqqwpa</string>
        <string>mqzone</string>
        <string>mqzonev2</string>
        <string>mqzoneshare</string>
        <string>wtloginqzone</string>
        <string>mqzonewx</string>
        <string>mqzoneopensdkapiV2</string>
        <string>mqzoneopensdkapi19</string>
        <string>mqzoneopensdkapi</string>
        <string>mqqbrowser</string>
        <string>mttbrowser</string>
    </array>

這個就是微信的登錄方法,在登錄后就會回調回你所需要的信息.
4.微博登錄

  • 在你的工程設置項,targets 一欄下,選中自己的 target,在 Info->URL Types 中添加 URL Schemes,格式為“wb”+新浪appkey杀糯,例如“wb126663232”
  • 配置微博APPkey
#import "UMSocialSinaSSOHandler.h"
 //第一個參數為新浪appkey,第二個參數為新浪secret扫俺,第三個參數是新浪微博回調地址,這里必須要和你在新浪微博后臺設置的回調地址一致固翰。
 [UMSocialSinaSSOHandler openNewSinaSSOWithAppKey:@"3921700954"
 secret:@"04b48b094faeb16683c32669824ebdad" 
RedirectURL:@"http://sns.whalecloud.com/sina2/callback"];
/**
 這里處理新浪微博SSO授權之后跳轉回來狼纬,和微信分享完成之后跳轉回來
 */
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
{
    return  [UMSocialSnsService handleOpenURL:url wxApiDelegate:nil];
}

/**
 這里處理新浪微博SSO授權進入新浪微博客戶端后進入后臺,再返回原來應用
 */
- (void)applicationDidBecomeActive:(UIApplication *)application
{
    [UMSocialSnsService  applicationDidBecomeActive];
}

  • 刪除授權調用下面的方法
[[UMSocialDataService defaultDataService] 
requestUnOauthWithType:UMShareToSina completion:^(UMSocialResponseEntity *response){
 NSLog(@"response is %@",response);
 }];

4.QQ及Qzone登錄
QQ登錄只支持SSO登錄方式骂际,必須具備手機QQ客戶端疗琉,Qzone默認調用SSO登錄
添加配置文件參考文檔:添加QQ,添加相關庫文件歉铝,配置URL schemes及添加系統(tǒng)回調
在AppDelegate應用入口方法添加下面的方法

//設置分享到QQ的應用Id盈简,和分享url 鏈接 
#import "UMSocialQQHandler.h" 
[UMSocialQQHandler setQQWithAppId:@"100424468"
 appKey:@"c7394704798a158208a74ab60104f0ba"
 url:@"http://www.umeng.com/social"];

在QQ登錄按鈕中實現(xiàn)下面的方法

UMSocialSnsPlatform *snsPlatform = [UMSocialSnsPlatformManager getSocialPlatformWithName:UMShareToQQ];
 snsPlatform.loginClickHandler(self,[UMSocialControllerService defaultControllerService],YES,^(UMSocialResponseEntity *response){
// 獲取微博用戶名、uid太示、token等 
if (response.responseCode == UMSResponseCodeSuccess) { 
        UMSocialAccountEntity *snsAccount = [[UMSocialAccountManager socialAccountDictionary] valueForKey:UMShareToQQ];
        NSLog(@"username is %@, uid is %@, token is %@ url is %@",snsAccount.userName,snsAccount.usid,snsAccount.accessToken,snsAccount.iconURL); 
}});

如果還有哪里不明白,可以直接去友盟官方文檔查看

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末送火,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子先匪,更是在濱河造成了極大的恐慌种吸,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,640評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件呀非,死亡現(xiàn)場離奇詭異坚俗,居然都是意外死亡,警方通過查閱死者的電腦和手機岸裙,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,254評論 3 395
  • 文/潘曉璐 我一進店門猖败,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人降允,你說我怎么就攤上這事恩闻。” “怎么了剧董?”我有些...
    開封第一講書人閱讀 165,011評論 0 355
  • 文/不壞的土叔 我叫張陵幢尚,是天一觀的道長破停。 經常有香客問我,道長尉剩,這世上最難降的妖魔是什么真慢? 我笑而不...
    開封第一講書人閱讀 58,755評論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮理茎,結果婚禮上黑界,老公的妹妹穿的比我還像新娘。我一直安慰自己皂林,他們只是感情好朗鸠,可當我...
    茶點故事閱讀 67,774評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著础倍,像睡著了一般童社。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上著隆,一...
    開封第一講書人閱讀 51,610評論 1 305
  • 那天,我揣著相機與錄音呀癣,去河邊找鬼美浦。 笑死,一個胖子當著我的面吹牛项栏,可吹牛的內容都是我干的浦辨。 我是一名探鬼主播,決...
    沈念sama閱讀 40,352評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼沼沈,長吁一口氣:“原來是場噩夢啊……” “哼流酬!你這毒婦竟也來了?” 一聲冷哼從身側響起列另,我...
    開封第一講書人閱讀 39,257評論 0 276
  • 序言:老撾萬榮一對情侶失蹤芽腾,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后页衙,有當地人在樹林里發(fā)現(xiàn)了一具尸體摊滔,經...
    沈念sama閱讀 45,717評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,894評論 3 336
  • 正文 我和宋清朗相戀三年店乐,在試婚紗的時候發(fā)現(xiàn)自己被綠了艰躺。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,021評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡眨八,死狀恐怖腺兴,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情廉侧,我是刑警寧澤页响,帶...
    沈念sama閱讀 35,735評論 5 346
  • 正文 年R本政府宣布篓足,位于F島的核電站,受9級特大地震影響拘泞,放射性物質發(fā)生泄漏纷纫。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,354評論 3 330
  • 文/蒙蒙 一陪腌、第九天 我趴在偏房一處隱蔽的房頂上張望辱魁。 院中可真熱鬧,春花似錦诗鸭、人聲如沸染簇。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,936評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽锻弓。三九已至,卻和暖如春蝌箍,著一層夾襖步出監(jiān)牢的瞬間青灼,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,054評論 1 270
  • 我被黑心中介騙來泰國打工妓盲, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留杂拨,地道東北人。 一個月前我還...
    沈念sama閱讀 48,224評論 3 371
  • 正文 我出身青樓悯衬,卻偏偏與公主長得像弹沽,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子筋粗,可洞房花燭夜當晚...
    茶點故事閱讀 44,974評論 2 355

推薦閱讀更多精彩內容