关于友盟分享

下面分享一些关于友盟分享的一些流程和经验。

首先为了给我们的应用添加分享功能,我们要在友盟开发者平台上面进行注册登录,之后,创建应用。创建过程如下:

1.友盟-我的产品-管理-添加新应用


填好了以上内容,你便可提交获取你应用的AppKey了,记下你的AppKey。

2.下载友盟SDK添加到工程中,文档中心-社会化组件-IOS,下载该组件,添加到工程文件夹中。

3.到你要集成的平台的公共平台注册账号,流程如下图:

例如,我要集成QQ好友的分享功能,我要到腾讯开放平台登录,登录地址:http://open.qq.com  创建对应的应用,完善信息。创建之后你会获得一个App ID和App Key,记下这两个id.下面,简要介绍一下应用平台信息中需要晚上的一些内容。


这里需要你输入Iphone平台信息和Ipad平台信息,信息内容一致,这里只介绍Iphone平台信息。

URL scheme:友盟的官方文档给的解释是“URL schemes 和跳出应用后返回应用的逻辑相关,因此如果使用了SSO授权功能或QQ、微信、webview方式的Facebook,就必须配置URL schemes,否则跳出应用后将无法返回”,没看懂什么叫webview方式的Facebook,反正他就是告诉你,这个配置好了,你分享完之后,才能成功返回你自己的应用。详细的配置过程,请看友盟分享官方文档中“配置URL schemes”这个章节。就是在你的工程TARGETS-info-URL Types中添加URL schemes。注意,QQ好友分享和QQ空间分享在工程中对应了不同的URL schemes,虽然你在腾讯开放平台中只创建一个应用,获取了一个App id,但是通过不同的生成方式,你可以分别获得QQ好友和QQ空间的URL schemes,并分别添加在工程中。这里要填写的,就是这个URL schemes。

Bundle ID:就是你的Bundle identifier,这个一定不要填错。

AppStore ID:注意,这里不是你在友盟创建的应用ID,也不是你在第三方平台注册获得的App id,而是你的应用上线时,在AppStore中创建的应用对应的App ID。因此,如果你在应用商店曾经创建过该应用,直接填写即可,如果没有,还要先在应用商店创建应用获取App ID,再在此处填写,因为这个是必填项。由此可以看出来,分享功能的集成还是需要你做一些准备工作的,不是几分钟就能搞定的。

其他几个就根据自己的实际情况填写。

填写完成之后,点击保存。

当你将所有的信息完善之后,将此应用提交审核,审核的时间大约需要3天左右,如果公司项目上线很急,可以找客服商议尽快审核。审核之前要保证各项信息正确无误,不然提交审核以后再修改,还要重新审核,会影响上线时间。

4.第三方平台注册完成之后,还需要在友盟开发者平台上添加设置,及友盟后台绑定第三方账号。绑定方法如下:

选定你的应用-社会化分享-设置


填写对应的信息进行绑定。

5.绑定完成之后,你就可以按照友盟文档在你的工程里面添加代码了。

如果你的应用被允许使用友盟自定义的分享列表和编辑页,直接添加如下代码即可:

[UMSocialSnsService presentSnsIconSheetView:self
                                      appKey:你的友盟应用Appkey
                                   shareText:@"友盟社会化分享让您快速实现分享等社会化功能,http://umeng.com/social"
                                  shareImage:[UIImage imageNamed:@"icon.png"]
                          shareToSnsNames:@[UMShareToSina]
                                    delegate:self];
//实现回调方法(可选):
-(void)didFinishGetUMSocialDataInViewController:(UMSocialResponseEntity *)response
{
        //根据`responseCode`得到发送结果,如果分享成功
        if(response.responseCode == UMSResponseCodeSuccess)
        {
            //得到分享到的微博平台名
            NSLog(@"share to sns name is %@",[[response.data allKeys] objectAtIndex:0]);
        }      
}

如果你需要自定义分享列表,那么对应如下代码:

(友盟集成文档中得代码)

#import "UMSocial.h"

[[UMSocialControllerService defaultControllerService] setShareText:@"分享内嵌文字" shareImage:[UIImage imageNamed:@"icon"] socialUIDelegate:self];        //设置分享内容和回调对象
    [UMSocialSnsPlatformManager getSocialPlatformWithName:UMShareToSina].snsClickHandler(self,[UMSocialControllerService defaultControllerService],YES);
自己的工程中实际代码:

- (void)didClickIconButtonAction:(UIButton *)shareButton
{
    //招拍挂
        [UMSocialData defaultData].extConfig.wechatSessionData.url = _shareUrl;
        [UMSocialData defaultData].extConfig.wechatTimelineData.url = _shareUrl;
        [UMSocialData defaultData].extConfig.qqData.url = _shareUrl;
        [UMSocialData defaultData].extConfig.wechatSessionData.title = _shareTitle;
       [UMSocialData defaultData].extConfig.wechatTimelineData.title = [NSString stringWithFormat:@"%@ %@",self.shareTitle,self.shareText];
        //微信朋友圈分享的样式如果是图文样式显示的内容是分享标题,内容少
        [UMSocialData defaultData].extConfig.qqData.title = self.shareTitle;
        NSString * snsName = [[UMSocialSnsPlatformManager sharedInstance].allSnsValuesArray objectAtIndex:shareButton.tag];
        //新浪微博没有分享链接设置,直接分享在内容里面。
        if([snsName isEqualToString:@"sina"])
        {
            _shareText = [NSString stringWithFormat:@"%@ %@",_shareTitle,_shareText];
        }
        else
        { 
            _shareText = [NSString stringWithFormat:@"%@",_shareText];
        }
        
        [[UMSocialControllerService defaultControllerService] setShareText:_shareText shareImage:self.image socialUIDelegate:self];
        NSLog(@"self.image = %@",self.image);
        UMSocialSnsPlatform *snsPlatform = [UMSocialSnsPlatformManager getSocialPlatformWithName:snsName];
        SLAppDelegate * appDelegate = (SLAppDelegate *)[UIApplication sharedApplication].delegate;
    
        snsPlatform.snsClickHandler(appDelegate.window.rootViewController,[UMSocialControllerService defaultControllerService],YES);
        self.cancelBlock();
}


有时我们需要对分享的内容,标题,图片,链接进行详细的这是。其中文字和图片的设置可以直接通过上述代码实现,而标题,以及分享后的内容对应的链接设置如下:

[UMSocialData defaultData].extConfig.wechatSessionData.url = _shareUrl;
        [UMSocialData defaultData].extConfig.wechatTimelineData.url = _shareUrl;
        [UMSocialData defaultData].extConfig.qqData.url = _shareUrl;
        [UMSocialData defaultData].extConfig.wechatSessionData.title = _shareTitle;
       [UMSocialData defaultData].extConfig.wechatTimelineData.title = [NSString stringWithFormat:@"%@ %@",self.shareTitle,self.shareText];
        //微信朋友圈分享的样式如果是图文样式显示的内容是分享标题,内容少
        [UMSocialData defaultData].extConfig.qqData.title = self.shareTitle;

其中新浪微博没有分享链接的设置,可以直接将链接添加在分享的内容里面。


以上分享还没有论及自定义编辑页以及SSO功能,因为我在这次的分享集成中还没有使用到,待后期学习之后继续完善此篇文章。以上所写如有错误之处,还望大家给予更正,谢谢!

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值