友盟分享流程

两盒软妹~` 提交于 2020-02-07 03:31:38

由于苹果审核政策需求,SDK中对未安装客户端平台进行隐藏,因此在未安 装QQ、微信客户端情况下,分享面板中不会出现QQ、Qzone、微信及朋友圈图标,如果需要显示,调用下面的方法,//UMShareToQQ、 UMShareToQzone为要显示的平台,传nil显示所有平台
[UMSocialConfig showNotInstallPlatforms:@[UMShareToQQ,UMShareToQzone,UMShareToWechatsession]];

1.   产品概述

友盟社会化组件,可以让移动应用快速具备社会化分享、登录、评论、喜欢等功能,并提供实时、全面的社会化数据统计分析服务。

指南将会手把手教你使用社会化组件SDK,用10分钟为APP增加新浪微博、腾讯微博、人人网分享功能。

注意:

  • 本文示例代码均针对最新版SDK,如果你所用SDK的类名或方法名与此文不符合,请使用你所用SDK的随包文档、或者下载使用最新版SDK。

  • 使用32位SDK,需要把Xcode工程的Architectures修改为$(ARCHS_STANDARD_32_BIT)

2.   获取友盟Appkey

  • 如果你之前已经在友盟注册了应用,并获取到了Appkey,可以继续使用它。

  • 如果你尚未在友盟注册开发者账号,需要先注册,注册之后登录你的账号,点击**添加新应用**,填写完应用基本信息后,将进入"下载SDK并添加代码"页面,此页面即可得到Appkey

3.  下载并安装SDK

3.1  Step1 下载SDK

下载 最新版SDK

3.2  Step2 加入SDK

解压SDK压缩包,将形如UMSocial_Sdk_x.x.x的文件夹拖入工程目录:

确认勾选了“Copy items to destination's group folder”选项,并选择你要添加到的Target:

现在应该是这样的效果:

UMSocial_Sdk_x.x.x 文件夹的目录结构

文件或文件夹含义
libUMSocial_Sdk_x.x.x.a, libUMSocial_Sdk_Comment_3.0.a 库文件
Header 头文件
SocialSDKXib xib文件
en.lproj,zh-Hans.lproj 英文和中文语言文件
frameworks 使用的第三方SDK,里面的Wechat 代表微信SDK

UMSocial_Sdk_Extra_Frameworks 文件夹的目录结构

文件或文件夹含义
TencentOpenAPI QQ互联SDK
Facebook Facebook SDK
LaiWang 来往 SDK
UMSocialYiXin.framework 易信 SDK
UMSocial_ScreenShot_Sdk 截屏 SDK
UMSocial_Shake_Sdk 摇一摇 SDK

注意:
1. 若你的工程设置了all_load,需要添加手机QQ SDK需要的系统 framework:Security.framework,libiconv.dylib,SystemConfiguration.framework,CoreGraphics.framework,libsqlite3.dylib,CoreTelephony.framework,libstdc++.dylib,libz.dylib。 详情请参考添加QQ及Qzone

3.3  Step3 设置AppKey

在AppDelegate内设置友盟AppKey

#import "UMSocial.h"
……
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    [UMSocialData setAppKey:@"507fcab25270157b37000010"];
}

3.4  Step4 添加实现代码

打开需要集成分享功能的视图源码UIViewController.m,把如下代码复制并粘贴到你将弹出一个分享列表的位置,例如到响应分享按钮的方法中。并且修改下面的友盟appkey,你要分享的文字、图片,你要分享到的微博平台,例如下面写的是新浪微博、腾讯微博、人人网。

#import "UMSocial.h"
……
//注意:分享到微信好友、微信朋友圈、微信收藏、QQ空间、QQ好友、来往好友、来往朋友圈、易信好友、易信朋友圈、Facebook、Twitter、Instagram等平台需要参考各自的集成方法
[UMSocialSnsService presentSnsIconSheetView:self
                                     appKey:@"507fcab25270157b37000010"
                                  shareText:@"你要分享的文字"
                                 shareImage:[UIImage imageNamed:@"icon.png"]
                            shareToSnsNames:[NSArray arrayWithObjects:UMShareToSina,UMShareToTencent,UMShareToRenren,nil]
                                   delegate:self]; 

形参名含义
controller 分享列表页面所在的UIViewController对象
appKey 友盟appKey,如果你在其他地方用UMSocialData设置了appKey,这里也可以传nil
shareText 分享编辑页面的内嵌文字
shareImage 分享编辑页面的内嵌图片,用户可以在编辑页面中删除。如果你不需要分享图片,可以传入nil
shareToSnsNames 定义列表出现的微博平台字符串构成的数组,字符变量名为UMShareToSina、UMShareToTencent、 UMShareToWechatSession、UMShareToWechatTimeline、UMShareToQzone、 UMShareToQQ、UMShareToRenren、UMShareToDouban、UMShareToEmail、UMShareToSms、 UMShareToFacebook、UMShareToTwitter,分别代表新浪微博、腾讯微博、微信好友、微信朋友圈、QQ空间、手机QQ、人人 网、豆瓣、电子邮箱、短信、Facebook、Twitter
delegate 实现分享状态回调方法的对象,回调方法的实现可以参见分享详细说明的回调方法部分。如果你不需要回调的话,可以设为nil

注意:
1 . 集成微信和手机QQ,请参考添加QQ及Qzone
2 . 弹出横屏页面必须要先使用如下设置屏幕方向的代码,再弹出分享列表页面:
[UMSocialConfig setSupportedInterfaceOrientations:UIInterfaceOrientationMaskLandscape];

3.5  验证效果

编译并运行后,弹出类似下图的分享列表选择页面,点击某个平台进行授权之后可以进入微博编辑页面,并可以发送微博,说明你已经基本集成成功了。但 是,为了使您的用户有更好的分享体验,以及您的应用有更多的分享量,更好地在社交平台上传播,我们建议您按照详细集成文档的指引进行集成分享流程

列表页面 编辑页面

 

 
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!