美文网首页ios积累编程知识点
友盟分享集成(支持HTTPS)

友盟分享集成(支持HTTPS)

作者: 凤鹃一鸣 | 来源:发表于2016-11-22 17:35 被阅读621次

    苹果官方发出消息,2017年1月1号以后,必须全部使用https协议,至此友盟分享最新版已经可以支持https了,废话不多说,直接上过程

    一.  U-Share SDK集成

    1.友盟官方文档里下载SDK  ( UMSocial ),将整个UMSocial文件拖入工程中。[UMSocial有三个文件,见下图]

    2. 添加项目配置

    3.关闭 Bitcode 设置为NO

    4.加入依赖系统库

    平台依赖系统库

    微信SystemConfiguration.framework

    CoreTelephony.framework

    libsqlite3.tbd

    libc++.tbd

    libz.tbd

    QQSystemConfiguration.framework

    libc++.tbd

    新浪微博SystemConfiguration.framework

    CoreTelephony.framework

    ImageIO.framework

    libsqlite3.tbd

    libz.tbd

    TwitterCoreData.framework

    注:Twitter平台加入后需添加TwitterKit.framework/Resources/TwitterKitResources.bundle。

    U-Share SDK平台配置

    二.  U-Share SDK平台配置

    添加URL Types  ( 个人爱好通过工程设置面板添加 )

    三.调用U-Share SDK

    1.AppDelegate.m中设置如下代码 (个人觉得添加这几个QQ,微信,微博平台就可以,不能满足你的要求,可以在官网文档上自行添加,再移除其他的平台)  

    //打开日志

    [[UMSocialManagerdefaultManager]openLog:YES];

    //设置友盟appkey

    [[UMSocialManagerdefaultManager]setUmSocialAppkey:@"57b432afe0f55a9832001a0a"];

    //获取友盟social版本号

    NSLog(@"友盟版本: %@", [UMSocialGlobalumSocialSDKVersion]);

    //各平台的详细配置

    //设置微信的appId和appKey

    [[UMSocialManagerdefaultManager]setPlaform:UMSocialPlatformType_WechatSessionappKey:@"wxdc1e388c3822c80b"appSecret:@"3baf1193c85774b3fd9d18447d76cab0"redirectURL:@"http://mobile.umeng.com/social"];

    //设置分享到QQ互联的appId和appKey

    [[UMSocialManagerdefaultManager]setPlaform:UMSocialPlatformType_QQappKey:@"100424468"appSecret:nilredirectURL:@"http://mobile.umeng.com/social"];

    //设置新浪的appId和appKey

    [[UMSocialManagerdefaultManager]setPlaform:UMSocialPlatformType_SinaappKey:@"3921700954"appSecret:@"04b48b094faeb16683c32669824ebdad"redirectURL:@"http://sns.whalecloud.com/sina2/callback"];

    //如果不想显示平台下的某些类型,可用以下接口设置

    [[UMSocialManagerdefaultManager]removePlatformProviderWithPlatformTypes:@[@(UMSocialPlatformType_Flickr),@(UMSocialPlatformType_Linkedin),@(UMSocialPlatformType_Pinterest),@(UMSocialPlatformType_KakaoTalk),@(UMSocialPlatformType_Twitter),@(UMSocialPlatformType_Facebook),@(UMSocialPlatformType_Email)]];

    2.系统回调

    #warning注意如果同时使用微信支付、支付宝等其他需要改写回调代理的SDK,请在if分支下做区分,否则会影响分享、登录的回调

    - (BOOL)application:(UIApplication*)application openURL:(NSURL*)url sourceApplication:(NSString*)sourceApplication annotation:(id)annotation{

    BOOLresult = [[UMSocialManagerdefaultManager]handleOpenURL:url];

    if(!result) {}

    returnresult;}

    - (BOOL)application:(UIApplication*)application handleOpenURL:(NSURL*)url{

    BOOLresult = [[UMSocialManagerdefaultManager]handleOpenURL:url];

    if(!result) { }

    returnresult; }

    3.点击弹出分享面板 (举例:分享网页,其他平台查看官方Demo)

    #import"UMSocialUIManager.h"

    //点击分享按钮

    - (IBAction)share:(id)sender {

    __weaktypeof(self) weakSelf =self;

    //显示分享面板

    [UMSocialUIManager showShareMenuViewInView:nilsharePlatformSelectionBlock:^(UMSocialShareSelectionView *shareSelectionView,NSIndexPath*indexPath, UMSocialPlatformType platformType) {

    // 根据platformType调用相关平台进行分享  

        [weakSelf shareWebPageToPlatformType:platformType];  // 分享网页

      }];          

      }

    //网页分享

    - (void)shareWebPageToPlatformType:(UMSocialPlatformType)platformType

    {

    //创建分享消息对象

    UMSocialMessageObject*messageObject = [UMSocialMessageObjectmessageObject];

    //创建网页内容对象

    //UMShareWebpageObject *shareObject = [UMShareWebpageObject shareObjectWithTitle:@"分享标题" descr:@"分享内容描述" thumImage:[UIImage imageNamed:@"icon"]];

    NSString* thumbURL =@"http://weixintest.ihk.cn/ihkwx_upload/heji/material/img/20160414/1460616012469.jpg";

    UMShareWebpageObject*shareObject = [UMShareWebpageObjectshareObjectWithTitle:@"分享标题"descr:@"分享内容描述"thumImage:thumbURL];

    //设置网页地址

    shareObject.webpageUrl=@"http://mobile.umeng.com/social";

    //分享消息对象设置分享内容对象

    messageObject.shareObject= shareObject;

    //调用分享接口

    [[UMSocialManagerdefaultManager]shareToPlatform:platformTypemessageObject:messageObjectcurrentViewController:selfcompletion:^(iddata,NSError*error) {

    if(error) {

    UMSocialLogInfo(@"************Share fail with error %@*********",error);

    }else{

    if([dataisKindOfClass:[UMSocialShareResponseclass]]) {

    UMSocialShareResponse*resp = data;

    //分享结果消息

    UMSocialLogInfo(@"response message is %@",resp.message);

    //第三方原始返回的数据

    UMSocialLogInfo(@"response originalResponse data is %@",resp.originalResponse);

    }else{

    UMSocialLogInfo(@"response data is %@",data);

    }}  // [selfalertWithError:error];  }];

    }

    四.适配ios10/9

    1.https传输安全  在info.plist中加入安全域名白名单 (个人觉得最好在demo里直接拖这个文件)

    2.应用跳转(SSO等)(个人觉得最好在demo里直接拖这个文件)

    最新的友盟分享界面

    详细请看友盟官方文档:http://dev.umeng.com/social/ios/quick-integration

    补充:

    错误:QQAPI- QQApi.m:252 param error: url is nil

    因为有些字符识别有问题,所以网页地址需要转换

    //设置网页地址

    NSString *str_share_url = @"https://itunes.apple.com/cn/app/芒果盒子/id1208408572?mt=8";

    NSString *new_url = [str_share_url stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

    shareObject.webpageUrl = new_url;

    相关文章

      网友评论

        本文标题:友盟分享集成(支持HTTPS)

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