由于app要做海外版的妖,所以最近在app中加入了Line的第三方授權(quán)登錄润歉。在開(kāi)發(fā)過(guò)程中也經(jīng)歷了很多問(wèn)題,填了不少坑渠鸽。
line開(kāi)發(fā)者注冊(cè)
1叫乌、注冊(cè)line賬號(hào)(必須手機(jī)下載客戶(hù)端,真實(shí)手機(jī)號(hào)碼注冊(cè)徽缚,記得手機(jī)開(kāi)VPN)综芥,綁定郵箱,然后使用此郵箱進(jìn)行登錄猎拨,注冊(cè)成為開(kāi)發(fā)者。
2屠阻、Line developers 地址?登入進(jìn)行操作
3红省、line 注冊(cè)流程圖示?注冊(cè)你的app,iOS的注冊(cè)很簡(jiǎn)單国觉,安卓的需要簽名吧恃,包名,SHA1之類(lèi)的比較麻煩
4麻诀、注冊(cè)完成之后就可以進(jìn)行集成了
line集成
使用的mob第三方集成痕寓,cocoapods進(jìn)行集成,簡(jiǎn)單快速蝇闭。
pod 'mob_sharesdk', '4.3.2'
pod 'mob_sharesdk/ShareSDKPlatforms/Line'
集成之后呻率,進(jìn)行項(xiàng)目配置。
1呻引、url Types 里加入line 選項(xiàng) 添加line3rdp.$(PRODUCT_BUNDLE_IDENTIFIER)
2礼仗、LSApplicationQueriesSchemes 添加 line,line3rdp.$(PRODUCT_BUNDLE_IDENTIFIER)逻悠,lineauth元践,?lineauth2 四個(gè)key。
3童谒、添加LineSDKConfig单旁,ChannelID 是為剛才line 開(kāi)發(fā)者那里注冊(cè)的app id。
line使用
在appDelegate中引入頭文件?ShareSDK饥伊。注意如果在國(guó)內(nèi)開(kāi)發(fā)象浑,記得開(kāi)啟VPN。
1撵渡、代碼注冊(cè)
?[ShareSDK registPlatforms:^(SSDKRegister *platformsRegister) {
? ? ? ? ? [platformsRegistersetupLineAuthType:SSDKAuthorizeTypeBoth];
? ? }];
2融柬、登錄授權(quán)
[ShareSDK getUserInfo:SSDKPlatformTypeLine onStateChanged:^(SSDKResponseState state, SSDKUser *user, NSError *error) {
?? ? ? ? if (state == SSDKResponseStateSuccess) {
? ? ?//成功之后,獲得用戶(hù)信息?user.credential.uid 趋距,user.credential.token粒氧,user.credential.expired
? ? ? ? }
? ? ? ? else? if(state ==SSDKResponseStateCancel) {
? ? ? ? ?}
?? ? ? ? else{
?? ? ? ? }
? ? }];
3、用戶(hù)驗(yàn)證节腐。
客戶(hù)端這邊進(jìn)行本地驗(yàn)證外盯,或者把數(shù)據(jù)post給服務(wù)端摘盆,由服務(wù)端進(jìn)行驗(yàn)證也可。使用的是profileV2進(jìn)行驗(yàn)證饱苟。?https://api.line.me/v2/profile孩擂。如果進(jìn)行accesToken更多操作,請(qǐng)參考line Social API V2
參數(shù)配置箱熬,[[EPHttpClientManager simpleInstance].requestSerializer setValue:FORMAT(@"Bearer {%@}", accessToken) forHTTPHeaderField:@"Authorization"];
返回用戶(hù)詳細(xì)信息之后就可以進(jìn)行正常使用了类垦。
注意 :line 不提供用戶(hù)的性別
一般的授權(quán)登錄也就這樣,如若在開(kāi)發(fā)過(guò)程中有其他問(wèn)題城须,歡迎在下邊留言討論蚤认。