iOS开发技术iOS Developerios实用开发技巧

iOS友盟分享和登录

2017-06-02  本文已影响1183人  无意惹东风

关于第三方分享、我常用的是友盟社区的社会化分享、今天来说说关于使用友盟分享的操作步骤以及一些注意事项。

其实对于三方框架的应用、最基本的还是下载SDK了。
具体适用步骤:

1.下载SDK、导入至项目、添加项目配置和相关依赖库
2.配置SSO授权白名单:设置白名单为的是能够获取第三方平台的授权
3.配置URL Scheme:目的是能够在分享结束后跳回到自己的app中
4.初始化设置:
在项目 AppDelegate.m 的
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{}
方法中做如下操作:

4.1 打开调试日志:
[[UMSocialManager defaultManager] openLog:YES];

4.2 设置友盟appKey:

[[UMSocialManager defaultManager] setUmSocialAppkey:@“你的友盟appkey”];

4.3 设置要分享到的各个平台的appKey-appSecret-redirectURL(重定向URL)
如:

/* 设置微信的appKey和appSecret */
[[UMSocialManager defaultManager] setPlaform:UMSocialPlatformType_WechatSession appKey:@"wxdc1e388c3822c80b" appSecret:@"3baf1193c85774b3fd9d18447d76cab0" redirectURL:@"http://mobile.umeng.com/social"];

/* 设置新浪的appKey和appSecret */
[[UMSocialManager defaultManager] setPlaform:UMSocialPlatformType_Sina appKey:@"3921700954"  appSecret:@"04b48b094faeb16683c32669824ebdad" redirectURL:@"https://sns.whalecloud.com/sina2/callback"];

4.4 设置系统回调

- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {
       BOOL result = [[UMSocialManager defaultManager] handleOpenURL:url sourceApplication:sourceApplication annotation:annotation];
       if (!result) {
       // 其他如支付等SDK的回调
       }
       return result;
}

5.具体分享:
分享内容支持:文本、图片、网页链接、表情、图文、视频、音乐,分别有自己对应的分享方法
点击分享按钮显示分享面板选择平台showShareMenuViewInWindowWithPlatformSelectionBlock
也可以先设置平台显示顺序setPreDefinePlatforms:@[@(UMSocialPlatformType_Sina),@(..)];
之后再显示面板。

点击面板中的平台按钮之后、设置相应的分享内容、调用分享接口
[[UMSocialManager defaultManager] shareToPlatform:platformType messageObject:messageObject currentViewController:self completion:^(id data, NSError *error) {}
进行分享、在分享接口的回调中进行分享结果显示和用户积分处理等操作。
例如:分享文本内容

- (void)shareTextToPlatformType:(UMSocialPlatformType)platformType
{
    //创建分享消息对象
    UMSocialMessageObject *messageObject = [UMSocialMessageObject messageObject];
    //设置文本
    messageObject.text = @"社会化组件UShare将各大社交平台接入您的应用,快速武装App。";

    //调用分享接口
    [[UMSocialManager defaultManager] shareToPlatform:platformType messageObject:messageObject currentViewController:self completion:^(id data, NSError *error) {
        if (error) {
            NSLog(@"************Share fail with error %@*********",error);
        }else{
            NSLog(@"response data is %@",data);
        }
    }];
}

以上就是关于友盟分享的一些注意点、接下来说说关于登录相关内容。

其实登录和分享的前面配置操作都是相同的、主要问题在于授权登录后如果退出登录再次登录的时候的授权问题。
按道理来说:QQ三方登录----退出----QQ再次登录、这个时候应该是直接登录啥没问题。

但是:我这次想换个QQ号码登录怎么办、按照上面的这个逻辑是不会出现让你换号码登录的页面的、所以你不管怎么退出、再次登录还是原来使用过的那个账号。

哎、问题就来了、你想啊、为啥会出现这个问题呢、就是因为你在第一次登录的时候进行授权完毕之后、系统在短时间内并没有立即取消上次的授权、所以你再次登录的时候还是默认已经授权过的。
说到这里其实答案已经出来了、那就是在你每次点击登录的时候先把原来的授权取消掉。这样就能出现允许换号登录的页面了。

具体的取消授权的代码如下:

// 取消授权-写在三方登录按钮的点击事件中
[[UMSocialManager defaultManager] cancelAuthWithPlatform:UMSocialPlatformType_QQ completion:^(id result, NSError *error) {
     // QQ登录
     [self getAuthWithUserInfoFromQQ];
}];

好啦、以上就是关于友盟平台社会化分享和三方登录的相关知识点总结了、其实可以看出来并没有想象中的那么复杂、本文主要是讲述了大致的操作流程、具体的细节内容如有哪些依赖库等等的、请大家移步友盟官网查看文档解说、仔细看、真的没那么难。
文档地址: http://dev.umeng.com/social/ios/quick-integration

希望我的文章能对大家有所帮助、如果喜欢我的文章、还请关注本宝宝来支持宝宝的继续写作呀~谢谢!

上一篇下一篇

猜你喜欢

热点阅读