1、在友盟文檔中這樣說(shuō):
7.4? 微信登錄
添加配置文件參考文檔:添加微信及朋友圈,添加相關(guān)庫(kù)文件,配置URL schemes及添加系統(tǒng)回調(diào)
注意微信登錄必須先在微信開(kāi)放平臺(tái)申請(qǐng)微信登錄權(quán)限
在你的程序APPdelegate入口方法添加下面的代碼
#import "UMSocialWechatHandler.h"
//設(shè)置微信AppId、appSecret,分享url
[UMSocialWechatHandler setWXAppId:@"wxd930ea5d5a258f4f" appSecret:@"db426a9829e4b49a0dcac7b4162da6b6" url:@"http://www.umeng.com/social"];
在微信登錄按鈕中實(shí)現(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);
}
});
在授權(quán)完成后調(diào)用獲取用戶信息的方法
//得到的數(shù)據(jù)在回調(diào)Block對(duì)象形參respone的data屬性
[[UMSocialDataService defaultDataService] requestSnsInformation:UMShareToWechatsession? completion:^(UMSocialResponseEntity *response){
NSLog(@"SnsInformation is %@",response.data);
}];
2、實(shí)踐使用時(shí):
#pragma mark - 微信登錄
- (void)loginViewClickedWeiXiButton{
[UMSocialData setAppKey:@"55bb141a67e58e9f80001801"];
[UMSocialWechatHandler setWXAppId:@"wx2802d4e49f68996f" appSecret:@"f1bf8a16c5f87570ab07782d3e0ab223" url:@"http://www.umeng.com/social"];
UMSocialSnsPlatform *snsPlatform = [UMSocialSnsPlatformManager getSocialPlatformWithName:UMShareToWechatSession];
snsPlatform.loginClickHandler(self,[UMSocialControllerService defaultControllerService],YES,^(UMSocialResponseEntity *response){
//? 獲取微博用戶名、uid、token等
if (response.responseCode == UMSResponseCodeSuccess) {
UMSocialAccountEntity *snsAccount = [[UMSocialAccountManager socialAccountDictionary]valueForKey:UMShareToWechatSession];
NSLog(@"username is %@, uid is %@, token is %@ iconUrl is %@",snsAccount.userName,snsAccount.usid,snsAccount.accessToken,snsAccount.iconURL);
}
});
}
3、【坑在這里】沒(méi)有回調(diào)時(shí)因?yàn)橐趹?yīng)用代理方法中增加:
//sdk
#import "UMSocialSnsService.h"
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
{
return? [UMSocialSnsService handleOpenURL:url wxApiDelegate:nil];
}
- (void)applicationDidBecomeActive:(UIApplication *)application
{
[UMSocialSnsService? applicationDidBecomeActive];
}
最后說(shuō)明
微信的openid對(duì)應(yīng)友盟里叫usid
下面是授權(quán)成功的回調(diào)數(shù)據(jù):
- UMSocial:? makeRequestWithPath is /share/token/53290df956240b6b4a0084b3/, parameters is {
"access_token" = "OezXcEiiBSKSxW0eoylIeJDUKD6z6dmr42JANLPjNN56WRFnd-vVJO37ma0gCpKY1v5q8EVEMwdQqzvXoFFpe1jQXUzjqukub9-228J8sjvugvVVQYvzkhyvAgItvkYmMIGD_cE2hAWUm44_qCB-oQ";
ak = 53290df956240b6b4a0084b3;
de = "iPhone7,1";
dt = 1438857527939;
ek = 4b37315fd0421b0b3a682a4a5e4487e9;
en = WiFi;
"expires_in" = 7199;
mac = "02:00:00:00:00:00";
openid = oyAaTjrJMAb3qfCbyDRp3h0NKyew;
openudid = 147ad485c3b80ffd54bfc8689c2d7db1ed88994b;
os = iOS;
pcv = "2.0";
"refresh_token" = "OezXcEiiBSKSxW0eoylIeJDUKD6z6dmr42JANLPjNN56WRFnd-vVJO37ma0gCpKYHXgyDeQ4Xqm60G-omrGp2u-KbIy7zTP5gV5dnw3RVN-GzkjY8gCWIMC3_cCHcflH6IPexy2c-k46gGG0M07p6g";
sdkv = "4.2.3";
to = wxsession;
tp = 0;
uid = 462ae0edb57d53dfd2affb5e4ae36ad;
usid = oyAaTjrJMAb3qfCbyDRp3h0NKyew;
}
[18:38:48.197( 2055)] - UMSocial:? actionType is 15 , received json Dic is {
data =? ? {
};
msg = "no error";
st = 200;
}
-
作者:iHTCboy
鏈接:http://www.itdecent.cn/p/177e3309272a
來(lái)源:簡(jiǎn)書
著作權(quán)歸作者所有。商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請(qǐng)注明出處。