iOS友盟分享和登录

作者: 无意惹东风 | 来源:发表于2017-06-02 17:32 被阅读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

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

    相关文章

      网友评论

        本文标题:iOS友盟分享和登录

        本文链接:https://www.haomeiwen.com/subject/tbpufxtx.html