申请APP平台怎么申请公众平台搞的

APP顶尖推广,中国最顶尖的移动应用APP推广干货分享平台:,干货①群:
> 初创团队APP“零”投入,60天各种【独门绝技】增至20万用户怎么玩?
上一张图片先呼应下,让大家养养眼,维多利亚的美女们谢谢捧场….
我 是传统管理行业转行过来创业移动医疗,创业是被一个Pre-W的投资人给“骗”了,只说了一句你先做一个Demo再来拿投资,我当时连着字母都不会拼 写,Low得不要不奥的,导致现在找风投的中感觉是在被吊打的,现在即是创始人又是产品经理还是运营汪,2016年1月至今有些苦逼和兴奋的惊喜给所有创 业没钱没兵没资源的草根者一些分享;
当然觉得对的给支持不对的欢迎无下限吐槽… …
目前你们搜索到的【…app推广】都是多少年钱的过时货了,反感那种不尊重原创各种复制黏贴的“群众”这次的个人2016年干货吧,希望能给大家带来一些帮助。
一直孤军奋战身兼数职;团队几个人起步几个月,资金截止现在为止已经没见底啦,但我还每天喜上眉梢的跟投资圈的大佬们谈宇宙大爱和商业价值,真的是《蝙蝠侠大战超人》剧情。
产品真屌丝呀
好 多人说我的产品很屌丝,UI很龊,功能很少,各种鸡肋… …我没反驳确实很烂,但用户很多就够了,当然我是在美院待过的,对视觉类的东西很在意,护眼大师是我认定的项目,截稿时已经有数据拿出来了,可以说是 “零”投入,广点通大概有1000块左右投入;先上图不墨迹:
(上线70天的数据,孤军奋战结果)
护眼大师是针对近视防控和成年人视疲劳减缓,防止近视度数加深的APP,功能还没完全上来之前,我还是很“唾弃”我的大师的,好多功能实现不了且技术开发停滞等。
创始人的祷告
创始人和转行移动互联网的朋友们不懂互联网和技术压根没关系,你懂你的产品和未来规划就好了,当然一定要虚心听取技术咖们的建议,不然日后会把你虐出翔来的,坚持和学习必不可少;
建议多准备资金,“兵未动、粮先行”这是兵家套路,APP能不外包尽量别外包、有渠道资源的一定要搞好关系先做好准备,比如认识360、腾讯广点通、小米内部员工朋友,这些人群很容易找,官方后面有Q群,Q群有Q号,剩下就不用我说了吧?
这些图文适合创始人看,运营的我估计看了会很痛苦,因为你们BOSS没这个权限给你做我做的事,毕竟我自己是创始人,我横着竖着玩怎么搞都行。
推广前夕之狂暴之路
1、首先创业者也是孤军在家的,敬请先买个打印机(后面会说);
2、软件支持、淘宝、猪八戒网、各种Q群、微信群一定加入有质量和大噶的;
硬件支持,请准备3太电脑3台手机以上、阿里云服务器也要用上;
3、百度贴吧、兴趣部落、微博、专用微信号、官网、知乎先得想到注册统一账号;
4、准备每天12个小时以上泡在各大网站和Q群,微信群聊的圈子内;
Ready Go… Go…Go
渠道为王,都是一分耕耘一分收获的偷懒就玩蛋蛋了。
网站的工作
创始人首先你花1000块以内找淘宝的商家或者猪八戒做一个模板行的展示网站。好处是方便以后注册申请填写用,UV PV量;当然还有你融资的时候,他们需要看你的网站的;
(我的网站没超过1000块,一条龙全包代码都有改过的,别笑真没钱)
(流量其实我也不会看,别人告诉我可以就行了)
自己准备各种稿件和各种关于推广的流量和内容找平台发送,其实说0投入肯定不可能,只有少部分10块左右的稿件发发,有钱就多发没钱走创业平台
自己懂软件更好,自己处理Banne图或者找朋友帮忙做5-10张横竖不一样尺寸的矢量图能修改的原稿,能节省N多陈本,有钱的找八戒网的雇佣兵呗。一张图200块以内。前提是你要自己写好设计需求和说明,不然你会被设计师各种嫌弃和呕心的。
网站工作的软文发布和关键词优化每天都要做,如何做就是请教大噶了,这个我目前无法讲那么细,因为是朋友帮忙代做的,你软件的名字的关键词一定要霸屏。比如说我的
另外百度百科和百度贴吧给我带来的量,我每天都是笑的也是愁啊,百度贴吧做的很兴奋哦,我说我是3天做出来这样的效果你信么?私聊,教学分享;
另外送福利,免费带提交百度百科,应用APP的百度百科我找到窍门了,我特么的是失败了50多次才成功的;其实很简单;免费是需要代价的,转发我的文章加好友截图,哈哈可以吧?
(我想说的是贴吧的制定显示,我仅用了一周不到时间做到的)
如果你是社交类有用户的APP,建议用你的网站增加一个社区版块跳链接至你的QQ兴趣部落,我的做的不好,真没时间了但能得到用户的真实反馈。如图:
(兴趣部落可以用作用户回馈和员工互动做流量)
应用商店之应用圈篇
感谢360应用圈
360应用真心好,上线的第5天就给我带来了起码8000左右的量,当然是后续的那一周加起来的,我真心没花钱,是好朋友力推上去的现在知道交朋友的好处了吧?
1、APK文件打包前,建议一定要加固应用包,然后30个以上的应用商店你赶紧先企业或者个人注册吧,当然我也可以推荐一个软件叫:酷传的,网速不好不要试了。
2、创业公司你在写第一个Beat版本的时候,立马马上立马递交版权认证中心申请我推荐的是360后台有个合作商家,700块就可以了别被无良的商家坑了,我也不知道我的贵了还是便宜了,如图:
(360手机应用后台这里打开可以直接联系到对方公司)
3、申请过程中,你没版权证书是申请不了官方的,所以你要疯狂的打印各种承诺书和代码前后各30行递交的,这个起码能帮你省去100元以上,关键是时间省了N多,有公司的当然这就是废话了。自己公司打印。
4、商标注册一定要做这个钱不要省,APP类的建议就是你起名字不要通俗词,不要用动词,我的护眼大师,护眼二字是通俗词也是动词,我都担心不一定能申请下来,这是教训,一般要有12个月的审核期,建议9类和42类,都申请其他根据自己需要;
(这样在某些上传认证的时候还是有用的,尤其是包认领的时候)
5、提前收藏和找好各大网站发帖、发文的资源和各种应用商店的上传地址,很多人瞧不起小网站,但我要说,初期对没种子用户的APP非常有作用,因为那有一个种子就是省了10块钱的成本啊,而且像金立手机、应用汇、蚂蚁都还是不错的。
这是我整理好的渠道大家可以参考,需要索要的时候可以加我微信ID:Mrbombp
(别人给我的都是打不开的我特意整理过的)
(没错,这些应用商店我几乎都上传和更新了)
360应用圈大战之不眠的夜晚
1、360手机助手应用圈我是因为朋友才上的,当然也是我的产品确实很多学生“汪”们的刚需,谁愿意近视啊。联系我给你介绍他认识。
2、360应用圈24小时冲榜,只要你的产品好那还是不够的,首先是Banne图,和文案我建议一定要好好些,工作人员写不出那种感觉,这个有钱的务必找好的段子手写,不超过300字,一定图文结合
3、如果真有必要的话组织所有工作人员和朋友转发、点赞、评论,因为这个直接影响到排名冲榜,如果你进了周榜的话,那就直接可以说你这一周5000下载妥妥的了
4、360应用圈完毕后我建议技术人员在后台内监控下这渠道的来源然后单独成立Q群,建立与种子用户的沟通和反馈毕竟用户你不理他,你装逼人家分分秒卸载你的。
(360应用圈重在显现和图文重要,我当时做的也不够好粗糙的就上了)
创业平台之锦上添花
前言,说到这里很心酸也很惊喜,心酸的是很多创业平台需要关系和你已经拿到风投了,惊喜的是猎云网和品途网还有动脉网免费帮我做采访报道,这个要感谢。
一、初创的团队好好写下自己的项目几块内容、我给你们几个题目就是:
1、我有什么?
2、我缺什么?
3、谁那里有我想要的?
4、凭什么给我上刊?
5、我的项目解决了什么问题?
写好,具体内容我就不负责解释了,当然这个是有点偏BP撰写风格,要成功肯定要花心思和心血的,我的BP和上传创业平台的文案起码大大小小图文改过30+次。
二、项目介绍的上传一定要细致认真,不要马虎,这是你的态度决定的记者们会不会给你电话,当然他们一般都会跟你电话采访,前期是你要自己上传你的项目后;
三、如果是创始人我建议自己要清楚说什么,不定期的去看和修改你的创业项目内容还有推广转发你的创业报道;
四、最后也呼吁下创业平台的伙伴们,其实你们可以开放一个教学的版块叫初创业者一个技能,就是如何写商业计划书,这个我相信是刚需!!!!!我的是自己修改了几十遍我还不觉得满意,还在修改调整中… …
(话说我也很久没来猎云了,推荐创业者很容易上采访)
种子用户之恋爱三十六计
1、互联网的今天我时刻倡导一定要自荐蓄水池,自媒体培养圈子每个人都知道,但多少人在认真的做好像不多!我也没做好,就我一个人能力和时间太紧迫了
2、蓄水池大的是微信公共号,小的就简单的QQ群和微信群,我每天都能收到学生们加我的微信群和QQ群,而且我作为一个眼科专业者竟然回答不上来,太多了
3、初创APP里面一定也要添加一个个人中心内的功能,直接跳入到QQ群加群的功能,非常简单,但效果谁用谁知道!好多PM装逼觉得这很俗我就想说了?你给我1天搞1000个精准用户来试试!?
4、建立多个客户QQ账号和微信账号,用朋友或者自己多元化回复用户,护眼大师是针对眼睛是刚需,所以我会让我的眼科界朋友添加他回复解答,用户这样就留住了还转发。
(刚出炉的热喷喷的原创的图文心理踏实)
截图都是干货,磨嘴皮子没意思,这都是我这个独孤求败的“CEO”做的,苦逼吧?所以做运营的同仁们,你们好好做等我项目稳定了我招贤纳士哈。绝对不坑,你看我都坑了这么久肯定懂你们的… …
最后“YI言… ..”
文笔不好,写的很乱,其实2个月前已经写过了一篇了太想帮助人了,但也收到很多知乎朋友的支持和私信添加,我觉得起码我做的这事没错,能帮人就好,正能量满满的’
(请抱歉我没打遮罩,我相信你们也需要别人认识你一起分享)
l 最后一个小广告,需要资源的直接私信,支持的话先下载【护眼大师】给与吐槽建议吧,我码了一下午字啊,下载转发知乎和APP截图给资源哈。微信ID:Mrbombp,纯原创手打呀!望支持。
l 4月护眼大师1.68版本上线,望大家支持,功能开发的很多,但都是逐步上线欢迎拍砖
l APP百度百科免费帮忙建立,每天只有一名额加V,私信截图再议。
l 百度官方贴吧传授首页置顶经验,个人套路非专业的哈。
l 最后,我还在苦逼的跟VC搞着回合战,有朋友推荐移动医疗这块的投资人么或者VC大噶看上的能私密下,商业计划和团队全程待命… …这蓝海市场竟然没人做,你看我这么努力的分享… …
需要做服务点击链接:
()是国内最顶尖的移动平台。欢迎关注官方:appganhuo
【扫描APP顶尖推广二维码,获取更多爆料】
由(APP顶尖推广)整理发布,转载本文须经同意,并请附上本文链接!
转载请注明: &
or分享 (0)移动开发者服务平台
> 社会化分享 > 社会化iOS组件 > 分享详细集成
分享流程介绍
如需使用CocoaPods 在Podfile中增加一行,内容如下:
pod 'UMengSocial', '~& 5.0'
然后执行安装即可
pod install
获取友盟Appkey。如果你之前已经在友盟注册了应用,获得了Appkey,可以继续使用之前获得Appkey。
如果你尚未在友盟注册账号,需要先,注册之后登录你的账号,点击添加新应用,完成新应用填写之后,将进入应用管理页面。在该页面就能得到Appkey。
在代码中设置你的友盟Appkey,在 AppDelegate文件内设置你的AppKey:
#import "UMSocial.h"
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
[UMSocialData setAppKey:@"507fcab00010"];
适用人群:希望10分钟集成从无到有实现分享的开发者
接口说明:调用该接口将先弹出分享平台选择页,选择相应的平台将进行授权并分享
//注意:分享到微信好友、微信朋友圈、微信收藏、QQ空间、QQ好友、来往好友、来往朋友圈、易信好友、易信朋友圈、Facebook、Twitter、Instagram等平台需要参考各自的集成方法
//如果需要分享回调,请将delegate对象设置self,并实现下面的回调方法
[UMSocialSnsService presentSnsIconSheetView:self
appKey:@"507fcab00010"
shareText:@"友盟社会化分享让您快速实现分享等社会化功能,/social"
shareImage:[UIImage imageNamed:@"icon"]
shareToSnsNames:[NSArray arrayWithObjects:UMShareToSina,UMShareToTencent,UMShareToRenren,nil]
delegate:self];
现在会出现效果:
1. 支持分享编辑页和授权页面横屏,必须要在出现列表页面前设置:
[UMSocialConfig setSupportedInterfaceOrientations:UIInterfaceOrientationMaskLandscape];
2. 点击每个平台后默认会进入内容编辑页面,若想点击后直接分享内容,可以实现下面的回调方法。
//弹出列表方法presentSnsIconSheetView需要设置delegate为self
-(BOOL)isDirectShareInIconActionSheet
return YES;
实现回调方法(可选):
-(void)didFinishGetUMSocialDataInViewController:(UMSocialResponseEntity *)response
//根据`responseCode`得到发送结果,如果分享成功
if(response.responseCode == UMSResponseCodeSuccess)
//得到分享到的微博平台名
NSLog(@"share to sns name is %@",[[response.data allKeys] objectAtIndex:0]);
适用人群:较深耕细作型开发者,希望自定义分享列表,使用分享底层API,但仍使用友盟提供的分享编辑页。
接口说明:如果已经授权,则直接跳转到分享编辑页,否则将进行授权操作然后再跳转到分享编辑页.相比presentSnsIconSheetView方法,该接口不需要弹出分享面板。该接口支持所有平台的分享(QQ好友,微信会有选择好友的界面)。
(没有授权则进入授权页面,完成授权后再进入编辑页面。)
#import "UMSocial.h"
//注意:分享到微信好友、微信朋友圈、微信收藏、QQ空间、QQ好友、来往好友、来往朋友圈、易信好友、易信朋友圈、Facebook、Twitter、Instagram等平台需要参考各自的集成方法
[[UMSocialControllerService defaultControllerService] setShareText:@"分享内嵌文字" shareImage:[UIImage imageNamed:@"icon"] socialUIDelegate:self];
//设置分享内容和回调对象
[UMSocialSnsPlatformManager getSocialPlatformWithName:UMShareToSina].snsClickHandler(self,[UMSocialControllerService defaultControllerService],YES);
注意:若弹出横屏的页面,必须要在出现编辑页面前设置
[UMSocialConfig setSupportedInterfaceOrientations:UIInterfaceOrientationMaskLandscape];
实现回调方法(可选):
-(void)didFinishGetUMSocialDataInViewController:(UMSocialResponseEntity *)response
//根据`responseCode`得到发送结果,如果分享成功
if(response.responseCode == UMSResponseCodeSuccess)
//得到分享到的微博平台名
NSLog(@"share to sns name is %@",[[response.data allKeys] objectAtIndex:0]);
适用人群:较深耕细作型开发者,希望自定义分享列表,希望授权和分享发生,使用分享底层API并自动授权。
直接发送微博到对应的微博平台,仅支持分享到一个平台,可以传入文字、图片、地理位置、url资源。图片、地理位置和url资源可以设为nil。
只发送到一个微博平台,且该平台没有先授权,SDK会自动打开授权页面,授权完成之后再发送微博。
//注意:分享到微信好友、微信朋友圈、微信收藏、QQ空间、QQ好友、来往好友、来往朋友圈、易信好友、易信朋友圈、Facebook、Twitter、Instagram等平台需要参考各自的集成方法
[[UMSocialDataService defaultDataService]
postSNSWithTypes:@[UMShareToSina] content:@"分享内嵌文字" image:nil location:nil urlResource:nil presentedController:self completion:^(UMSocialResponseEntity *response){
if (response.responseCode == UMSResponseCodeSuccess) {
NSLog(@"分享成功!");
适用人群:深耕细作型开发者,希望完全自定义界面,只使用分享相关底层API实现分享。
接口说明:实现"授权+直接分享",你可以将授权接口(doOauthVerify)跟直接分享接口(directShare)结合起来使用。实现只需简单的几步:
步骤一:定义自己的分享面板
步骤二:实现用户授权(首先判断是否已经授权过,否则会重复授权)
//判断是否授权
//注意:分享到微信好友、微信朋友圈、微信收藏、QQ空间、QQ好友、来往好友、来往朋友圈、易信好友、易信朋友圈、Facebook、Twitter、Instagram等平台需要参考各自的集成方法
[UMSocialAccountManager isOauthAndTokenNotExpired:UMShareToSina]
//进入授权页面
[UMSocialSnsPlatformManager getSocialPlatformWithName:UMShareToSina].loginClickHandler(self,[UMSocialControllerService defaultControllerService],YES,^(UMSocialResponseEntity *response){
if (response.responseCode == UMSResponseCodeSuccess) {
//获取微博用户名、uid、token等
UMSocialAccountEntity *snsAccount = [[UMSocialAccountManager socialAccountDictionary] valueForKey:UMShareToSina];
NSLog(@"username is %@, uid is %@, token is %@",snsAccount.userName,snsAccount.usid,snsAccount.accessToken);
//进入你的分享内容编辑页面
& 彩蛋:如果您已经自己使用其他SDK实现了分享,不希望用户重复授权,友盟分享提供了兼容方法。没有这种奇葩行为的用户请忽略此段:
UMSocialAccountEntity *weiboAccount = [[UMSocialAccountEntity alloc] initWithPlatformName:UMShareToSina];
weiboAccount.usid = @"your usid";
weiboAccount.accessToken = @"your accesstoken";
weiboAccount.openId = @"tencent weibo openId";
//腾讯微博账户必需设置openId
//同步用户信息
[UMSocialAccountManager postSnsAccount:weiboAccount completion:^(UMSocialResponseEntity *response){
if (response.responseCode == UMSResponseCodeSuccess) {
//在本地缓存设置得到的账户信息
[UMSocialAccountManager setSnsAccount:weiboAccount];
//进入你自定义的分享内容编辑页面或者使用我们的内容编辑页面
步骤三:调用直接分享API接口
[[UMSocialDataService defaultDataService]
postSNSWithTypes:@[UMShareToSina] content:@"分享内嵌文字" image:nil location:nil urlResource:nil presentedController:self completion:^(UMSocialResponseEntity *shareResponse){
if (shareResponse.responseCode == UMSResponseCodeSuccess) {
NSLog(@"分享成功!");
设置支持的屏幕方向
支持分享编辑页和授权页面横屏,必须要在出现列表页面前进行下面,并在Xcode上的xxx_info.plist文件支持屏幕方向的字段'Supported interface orientations'增加相应的横屏或者竖屏的枚举值。
//根据你要支持的方向,UIInterfaceOrientationMaskLandscape设置成相应的方向
[UMSocialConfig setSupportedInterfaceOrientations:UIInterfaceOrientationMaskLandscape];
处理分享错误
用下面的代码打开我们SDK在控制台的输出后能看到相应的错误码。
[UMSocialData openLog:YES];
注意:使用各平台SSO分享,需要到各个微博平台申请自己的应用,绑定方法可以参考。
在你的工程设置项,targets 一栏下,选中自己的 target,在 Info-&URL Types 中添加 URL Schemes。如果使用的是Xcode3或更低版本,则需要在plist文件中添加。获取各个平台appkey或者appid的方法可以参考分享详细文档绑定各个平台部分,各个平台的url scheme格式如下表:
url scheme设置格式
“wb”+新浪appkey,例如“wb”
微信应用appId,例如“wxd9a39c”,微信详细集成步骤参考
“rm”+你的应用bundle id,例如“rmcom.umeng.SocialSDK”
QQ、QQ空间
需要添加两个URL schemes 1. “QQ”+腾讯QQ互联应用appId转换成十六进制(不足8位前面补0),例如“QQ05FC5B14”,注意大写,生成十六进制方法:,2.“tencent“+腾讯QQ互联应用Id,例如“tencent" ,QQ及Qzone详细集成步骤参考
Identifier填“Laiwang”,URL Schemes填来往AppId.注意使用来往SDK后,Xcode工程other linker flags需要添加-ObjC参数
易信Appkey,例如“yx35664bdff4db42c2b7be1e”
集成最新Facebook SDK在iOS7.0以上有效,若要使用我们提供的facebook分享需要设置“fb”+facebook AppID,例如“fb9601”,详细集成方法见
在AppDelegate文件集成相应的开关方法:
#import "UMSocial.h"
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
//设置友盟社会化组件appkey
[UMSocialData setAppKey:UmengAppkey];
//设置微信AppId、appSecret,分享url
[UMSocialWechatHandler setWXAppId:@"wxd930ea5d5a258f4f" appSecret:@"db426aa0dcac7b" url:@"/social"];
//设置手机QQ 的AppId,Appkey,和分享URL,需要#import "UMSocialQQHandler.h"
[UMSocialQQHandler setQQWithAppId:@"" appKey:@"caab60104f0ba" url:@"/social"];
//打开新浪微博的SSO开关,设置新浪微博回调地址,这里必须要和你在新浪微博后台设置的回调地址一致。需要 #import "UMSocialSinaSSOHandler.h"
[UMSocialSinaSSOHandler openNewSinaSSOWithAppKey:@""
secret:@"04b48b094faeb24ebdad"
RedirectURL:@"/sina2/callback"];
//设置易信Appkey和分享url地址,注意需要引用头文件 #import UMSocialYixinHandler.h
[UMSocialYixinHandler setYixinAppKey:@"yx35664bdff4db42c2b7be1e" url:@"/social"];
//设置来往AppId,appscret,显示来源名称和url地址,注意需要引用头文件 #import "UMSocialLaiwangHandler.h"
[UMSocialLaiwangHandler setLaiwangAppId:@"4282305" appSecret:@"eb83345fee6c9" appDescription:@"友盟社会化组件" urlStirng:@"/social"];
//设置Facebook,AppID和分享url,需要#import "UMSocialFacebookHandler.h"
//默认使用iOS自带的Facebook分享framework,在iOS 6以上有效。若要使用我们提供的facebook分享需要使用此开关:
[UMSocialFacebookHandler setFacebookAppID:@"9601" shareFacebookWithURL:@"/social"];
//默认使用iOS自带的Twitter分享framework,在iOS 6以上有效。若要使用我们提供的twitter分享需要使用此开关:
[UMSocialTwitterHandler openTwitter];
// TwitterSDK仅在iOS7.0以上有效,在iOS 6.x上自动调用系统内置Twitter授权
if (UMSYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"7.0")) {
[UMSocialTwitterHandler setTwitterAppKey:@"fB5tvRpna1CKK97xZUslbxiet" withSecret:@"YcbSvseLIwZ4hZg9YmgJPP5uWzd4zr6BpBKGZhf07zzh3oj62K"];
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
BOOL result = [UMSocialSnsService handleOpenURL:url];
if (result == FALSE) {
//调用其他SDK,例如支付宝SDK等
添加SDK依赖的系统库文件。
在Xcode中打开工程配置文件,选择“summary”一栏。在“summary”中选择“Linked Frameworks and Libraries”一栏,点击“+”图标添加下面八个库文件,分别是
Security.framework
libiconv.dylib
SystemConfiguration.framework
CoreGraphics.Framework
libsqlite3.dylib
CoreTelephony.framework
libstdc++.dylib
libz.dylib
添加微信及朋友圈
使用微信分享首先需要在微信开放平台()申请,
按照要求填写应用信息,审核通过后获取到微信APPID和APPsecret
添加相关文件
在UMSocial_Sdk_Extra_Frameworks目录下,添加Wechat文件夹到工程
添加SDK依赖的系统库文件。
在Xcode中打开工程配置文件,选择“summary”一栏。在“summary”中选择“Linked Frameworks and Libraries”一栏,点击“+”图标添加下面八个库文件,分别是
Security.framework
libiconv.dylib
SystemConfiguration.framework
CoreGraphics.Framework
libsqlite3.dylib
CoreTelephony.framework
libstdc++.dylib
libz.dylib
添加微信及朋友圈到分享列表
在你的程序APPdelegate入口方法添加下面的代码
#import "UMSocialWechatHandler.h"
//设置微信AppId、appSecret,分享url
[UMSocialWechatHandler setWXAppId:@"wxd930ea5d5a258f4f" appSecret:@"db426aa0dcac7b" url:@"/social"];
如果不添加上面的代码,则分享列表中不会出现微信及朋友圈图标
URL必须为http链接
配置URL schemes
在你的工程设置项,targets 一栏下,选中自己的 target,在 Info-&URL Types 中添加 URL Schemes,添加xcode的url scheme为微信应用appId,例如“wxd9a39c”
添加系统回调
在APPdelegate中实现下面两个系统回调方法:
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
BOOL result = [UMSocialSnsService handleOpenURL:url];
if (result == FALSE) {
//调用其他SDK,例如支付宝SDK等
设置分享内容
默认分享样式
使用友盟默认分享UI页面,分享到微信好友、微信朋友圈、微信收藏
[UMSocialSnsService presentSnsIconSheetView:self
appKey:你的友盟应用Appkey
shareText:@"友盟社会化分享让您快速实现分享等社会化功能,/social"
shareImage:[UIImage imageNamed:@"icon.png"]
shareToSnsNames:@[UMShareToWechatSession,UMShareToWechatTimeline,UMShareToWechatFavorite]
delegate:self];
//实现回调方法(可选):
-(void)didFinishGetUMSocialDataInViewController:(UMSocialResponseEntity *)response
//根据`responseCode`得到发送结果,如果分享成功
if(response.responseCode == UMSResponseCodeSuccess)
//得到分享到的微博平台名
NSLog(@"share to sns name is %@",[[response.data allKeys] objectAtIndex:0]);
自定义分享样式
使用自定义分享面板,则在对于的微信分享按钮中实现下面的方法
//使用UMShareToWechatSession,UMShareToWechatTimeline,UMShareToWechatFavorite分别代表微信好友、微信朋友圈、微信收藏
[[UMSocialDataService defaultDataService]
postSNSWithTypes:@[UMShareToWechatSession] content:@"分享内嵌文字" image:nil location:nil urlResource:nil presentedController:self completion:^(UMSocialResponseEntity *response){
if (response.responseCode == UMSResponseCodeSuccess) {
NSLog(@"分享成功!");
设置点击分享内容跳转链接
当分享消息类型为图文时,点击分享内容会跳转到预设的链接,设置方法如下
[UMSocialData defaultData].extConfig.wechatSessionData.url = @"";
如果是朋友圈,则替换平台参数名即可
[UMSocialData defaultData].extConfig.wechatTimelineData.url = @"";
注意设置的链接必须为http链接
设置微信好友title方法为
[UMSocialData defaultData].extConfig.wechatSessionData.title = @"微信好友title";
设置微信朋友圈title方法替换平台参数名即可
[UMSocialData defaultData].extConfig.wechatTimelineData.title = @"微信朋友圈title";
微信朋友圈分享消息只显示title
设置分享消息类型
微信分享消息类型分为图文、纯图片、纯文字、应用三种类型,默认分享类型为图文分享,即展示分享文字及图片缩略图,点击后跳转到预设链接
纯图片分享类型方法为
[UMSocialData defaultData].extConfig.wxMessageType = UMSocialWXMessageTypeI
纯图片分享类型没有文字,点击图片可以查看大图
纯文字分享类型方法为
[UMSocialData defaultData].extConfig.wxMessageType = UMSocialWXMessageTypeT
纯文字分享类型没有图片,点击不会跳转
应用分享类型方法
[UMSocialData defaultData].extConfig.wxMessageType = UMSocialWXMessageTypeA
应用分享类型点击分享内容后跳转到应用下载页面,下载地址自动抓取开发者在微信开放平台填写的应用地址,如果用户已经安装应用,则打开APP
新浪微博分享
在微博开放平台()注册应用,完整填写相关应用信息,并且审核通过,未审核应用会遇到5034错误码,详情
添加相关文件
解压SDK压缩包,将形如UMSocial_Sdk_x.x.x的文件夹拖入工程目录
解压下载文件夹,将SinaSSO文件夹添加到工程。
在other linker flags增加-ObjC 选项,并添加ImageIO 系统framework
配置URL schemes
在你的工程设置项,targets 一栏下,选中自己的 target,在 Info-&URL Types 中添加 URL Schemes,格式为“wb”+新浪appkey,例如“wb”
配置微博APPkey
在APPdelegate中添加下面的代码
#import "UMSocialSinaSSOHandler.h"
//第一个参数为新浪appkey,第二个参数为新浪secret,第三个参数是新浪微博回调地址,这里必须要和你在新浪微博后台设置的回调地址一致。
[UMSocialSinaSSOHandler openNewSinaSSOWithAppKey:@""
secret:@"04b48b094faeb24ebdad"
RedirectURL:@"/sina2/callback"];
回调URL必须和后台保持一致,否则会报错redirect URL mismatch
添加系统回调
在APPdelegate中实现下面的回调方法
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
BOOL result = [UMSocialSnsService handleOpenURL:url];
if (result == FALSE) {
//调用其他SDK,例如支付宝SDK等
设置分享内容
使用默认分享界面
使用友盟默认提供的分享面板,调用下面的代码
[UMSocialSnsService presentSnsIconSheetView:self
appKey:你的友盟应用Appkey
shareText:@"友盟社会化分享让您快速实现分享等社会化功能,/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]);
使用上面的接口,将使用友盟默认的分享面板
使用直接分享接口
直接分享接口,分享过程没有分享编辑页,适用于希望直接在后台进行分享或希望自定义分享编辑页的开发者
[[UMSocialDataService defaultDataService]
postSNSWithTypes:@[UMShareToSina] content:@"分享内嵌文字" image:nil location:nil urlResource:nil presentedController:self completion:^(UMSocialResponseEntity *shareResponse){
if (shareResponse.responseCode == UMSResponseCodeSuccess) {
NSLog(@"分享成功!");
分享多媒体资源
分享URL图片
分享过程中一次只能上传一个图片,因此URL图片和本地图片不可共存,当两者都存在时会默认忽略本地图片
使用默认分享界面分享URL图片
[[UMSocialData defaultData].urlResource setResourceType:UMSocialUrlResourceTypeImage url:@"/img/bdlogo.gif"];
//调用快速分享接口
在设置分享内容前调用即可
使用自定义界面分享URL图片
UMSocialUrlResource *urlResource = [[UMSocialUrlResource alloc] initWithSnsResourceType:UMSocialUrlResourceTypeImage url:
@"/img/bdlogo.gif"];
[[UMSocialDataService defaultDataService]
postSNSWithTypes:@[UMShareToSina] content:@"分享内嵌文字" image:nil location:nil urlResource:urlResource presentedController:self completion:^(UMSocialResponseEntity *shareResponse){
if (shareResponse.responseCode == UMSResponseCodeSuccess) {
NSLog(@"分享成功!");
分享本地gif图片
分享本地gif图片到各个开放平台,需要生成把本地gif图片生成NSData对象,作为各个分享方法的shareImage参数,例如快速分享接口如下写法。
分享png、jpg图片则只需要生成UIImage,传入到shareImage参数,不能使用这种写法。
//分享gif图片
NSString *path = [[NSBundle mainBundle] pathForResource:@"picName"
ofType:@"gif"];
NSData *gifData = [NSData dataWithContentsOfFile:path];
[UMSocialSnsService presentSnsIconSheetView:self appKey:UmengAppkey shareText:shareText shareImage:gifData shareToSnsNames:@[UMShareToSina] delegate:self];
//分享png、jpg图片
[UMSocialSnsService presentSnsIconSheetView:self appKey:UmengAppkey shareText:shareText shareImage:[UIImage imageNamed:@"picName"] shareToSnsNames:@[UMShareToSina] delegate:self];
分享url音乐
分享URL音乐资源将UrlResourceType设置为Music即可
[[UMSocialData defaultData].urlResource setResourceType:UMSocialUrlResourceTypeMusic url:@"/upload/_1085.mp3"];
//调用快速分享接口
分享url视频
分享URL视频资源将UrlResourceType设置为Video即可
[[UMSocialData defaultData].urlResource setResourceType:UMSocialUrlResourceTypeVideo url:@"/v_show/id_XNjQ1NjczNzEy.html?f=&ev=2"];
//调用快速分享接口
关注官方微博
在授权页面中显示关注官方微博的复选页面,只在第一次授权时出现,需要在微博开放平台设置官方运营微博
添加QQ及Qzone
使用QQ及Qzone分享首先在腾讯开放平台注册应用,地址:
按照要求填写,审核通过前需要添加测试账号,否则会报错0404
添加相关文件
在UMSocial_Sdk_Extra_Frameworks目录下的,添加TencentOpenAPI文件夹到工程
添加下面几个系统framework
在Xcode中打开工程配置文件,选择“summary”一栏。在“summary”中选择“Linked Frameworks and Libraries”一栏,点击“+”图标添加下面八个库文件,分别是
Security.framework
libiconv.dylib
SystemConfiguration.framework
CoreGraphics.Framework
libsqlite3.dylib
CoreTelephony.framework
libstdc++.dylib
libz.dylib
在 Xcode7下库后缀名可能不同
添加QQ及Qzone
添加QQ及Qzone到分享列表
在AppDelegate应用入口方法打开集成手机QQ、Qzone开关
//设置分享到QQ/Qzone的应用Id,和分享url 链接
#import "UMSocialQQHandler.h"
[UMSocialQQHandler setQQWithAppId:@"" appKey:@"caab60104f0ba" url:@"/social"];
如果不添加上面的代码,则分享列表中不会出现QQ及Qzone图标
URL必须为http链接
配置URL schemes
在你的工程设置项,targets 一栏下,选中自己的 target,在 Info-&URL Types 中添加 URL Schemes,设置Xcode的url scheme格式为“QQ”+腾讯QQ互联应用appId转换成十六进制(不足8位前面补0),例如“QQ05FC5B14”。
额外设置 url schemes 的格式为"tencent"+腾讯QQ互联应用appId,例如“tencent”
如果 URL schemes 配置错误,则分享完成后无法返回应用
添加系统回调
在APPdelegate中实现下面的方法
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
BOOL result = [UMSocialSnsService handleOpenURL:url];
if (result == FALSE) {
//调用其他SDK,例如支付宝SDK等
设置分享内容
默认分享样式
使用友盟默认分UI界面,添加下面代码
[UMSocialSnsService presentSnsIconSheetView:self
appKey:你的友盟应用Appkey
shareText:@"友盟社会化分享让您快速实现分享等社会化功能,/social"
shareImage:[UIImage imageNamed:@"icon.png"]
shareToSnsNames:@[UMShareToQQ,UMShareToQzone]
delegate:self];
//实现回调方法(可选):
-(void)didFinishGetUMSocialDataInViewController:(UMSocialResponseEntity *)response
//根据`responseCode`得到发送结果,如果分享成功
if(response.responseCode == UMSResponseCodeSuccess)
//得到分享到的微博平台名
NSLog(@"share to sns name is %@",[[response.data allKeys] objectAtIndex:0]);
Qzone分享文字与图片缺一不可,否则会出现错误码10001
自定义分享样式
使用自定义分享UI界面,则在对应的QQ分享按钮中实现下面的方法
[[UMSocialDataService defaultDataService]
postSNSWithTypes:@[UMShareToQQ] content:@"分享文字" image:nil location:nil urlResource:nil presentedController:self completion:^(UMSocialResponseEntity *response){
if (response.responseCode == UMSResponseCodeSuccess) {
NSLog(@"分享成功!");
Qzone分享则替换平台参数为Qzone即可
[[UMSocialDataService defaultDataService]
postSNSWithTypes:@[UMShareToQzone] content:@"分享文字" image:nil location:nil urlResource:nil presentedController:self completion:^(UMSocialResponseEntity *response){
if (response.responseCode == UMSResponseCodeSuccess) {
NSLog(@"分享成功!");
Qzone分享文字与图片缺一不可,否则会出现错误码10001
设置点击分享内容跳转链接
QQ设置点击分享内容跳转链接调用下面的方法
[UMSocialData defaultData].extConfig.qqData.url = @"";
Qzone设置点击分享内容跳转链接替换平台参数名即可
[UMSocialData defaultData].extConfig.qzoneData.url = @"";
QQ设置title方法为
[UMSocialData defaultData].extConfig.qqData.title = @"QQ分享title";
Qzone设置title方法将平台参数名替换即可
[UMSocialData defaultData].extConfig.qzoneData.title = @"Qzone分享title";
设置分享消息类型
QQ分享消息类型分为图文、纯图片,QQ空间分享只支持图文分享(图片文字缺一不可)
QQ分享消息默认为图文类型,设置纯图片类型方法为
[UMSocialData defaultData].extConfig.qqData.qqMessageType = UMSocialQQMessageTypeI
在调用分享代码前调用即可
配置URL schemes
为什么要配置 URL schemes
URL schemes 和跳出应用后返回应用的逻辑相关,因此如果使用了SSO授权功能或QQ、微信、webview方式的Facebook,就必须配置URL schemes,否则跳出应用后将无法返回
如何设置 URL schemes
在你的工程设置项,targets 一栏下,选中自己的 target,在 Info-&URL Types 中添加 URL Schemes。如果使用的是Xcode3或更低版本,则需要在plist文件中添加。获取各个平台appkey或者appid的方法可以参考分享详细文档绑定各个平台部分,各个平台的url scheme格式如下表:
url scheme设置格式
“wb”+新浪appkey,例如“wb”
微信应用appId,例如“wxd9a39c”,微信详细集成步骤参考
“rm”+你的应用bundle id,例如“rmcom.umeng.SocialSDK”
QQ、QQ空间
需要添加两个URL schemes 1. “QQ”+腾讯QQ互联应用appId转换成十六进制(不足8位前面补0),例如“QQ05FC5B14”。生成十六进制方法:。2.“tencent“+腾讯QQ互联应用Id,例如“tencent" ,QQ及Qzone详细集成步骤参考
Identifier填“Laiwang”,URL Schemes填来往AppId.注意使用来往SDK后,Xcode工程other linker flags需要添加-ObjC参数
易信Appkey,例如“yx35664bdff4db42c2b7be1e”
集成最新的Facebook SDK在iOS7.0以上有效,若要使用我们提供的facebook分享需要设置“fb”+facebook AppID,例如“fb9601”,详细集成方法见
第三方登录
第三方登录概述
第三方登录主要用于简化用户登录流程,通过用户拥有的微博、QQ、微信等第三方账号进行登录并且构建APP自己的登录账号体系。
实现第三方登录主要通过下面两步:
在第三方平台完成授权
获取第三方平台的accesstoken信息及用户资料
第三方登录支持的平台
目前友盟社会化组件支持的第三方登录平台为:新浪微博、微信、QQ、QQ空间、腾讯微博、人人网、豆瓣、Facebook、Twitter
新浪微博登录
在新浪微博登录按钮中实现下面的方法
UMSocialSnsPlatform *snsPlatform = [UMSocialSnsPlatformManager getSocialPlatformWithName:UMShareToSina];
snsPlatform.loginClickHandler(self,[UMSocialControllerService defaultControllerService],YES,^(UMSocialResponseEntity *response){
获取微博用户名、uid、token等
if (response.responseCode == UMSResponseCodeSuccess) {
UMSocialAccountEntity *snsAccount = [[UMSocialAccountManager socialAccountDictionary] valueForKey:UMShareToSina];
NSLog(@"username is %@, uid is %@, token is %@ url is %@",snsAccount.userName,snsAccount.usid,snsAccount.accessToken,snsAccount.iconURL);
删除授权调用下面的方法
[[UMSocialDataService defaultDataService] requestUnOauthWithType:UMShareToSina
completion:^(UMSocialResponseEntity *response){
NSLog(@"response is %@",response);
QQ及Qzone登录
QQ登录只支持SSO登录方式,必须具备手机QQ客户端,Qzone默认调用SSO登录
添加配置文件参考文档:添加QQ及Qzone,添加相关库文件,配置URL schemes及添加系统回调
在AppDelegate应用入口方法添加下面的方法
//设置分享到QQ/Qzone的应用Id,和分享url 链接
#import "UMSocialQQHandler.h"
[UMSocialQQHandler setQQWithAppId:@"" appKey:@"caab60104f0ba" url:@"/social"];
在QQ登录按钮中实现下面的方法
UMSocialSnsPlatform *snsPlatform = [UMSocialSnsPlatformManager getSocialPlatformWithName:UMShareToQQ];
snsPlatform.loginClickHandler(self,[UMSocialControllerService defaultControllerService],YES,^(UMSocialResponseEntity *response){
获取微博用户名、uid、token等
if (response.responseCode == UMSResponseCodeSuccess) {
UMSocialAccountEntity *snsAccount = [[UMSocialAccountManager socialAccountDictionary] valueForKey:UMShareToQQ];
NSLog(@"username is %@, uid is %@, token is %@ url is %@",snsAccount.userName,snsAccount.usid,snsAccount.accessToken,snsAccount.iconURL);
在Qzone登录按钮中实现下面的方法
UMSocialSnsPlatform *snsPlatform = [UMSocialSnsPlatformManager getSocialPlatformWithName:UMShareToQzone];
snsPlatform.loginClickHandler(self,[UMSocialControllerService defaultControllerService],YES,^(UMSocialResponseEntity *response){
获取微博用户名、uid、token等
if (response.responseCode == UMSResponseCodeSuccess) {
UMSocialAccountEntity *snsAccount = [[UMSocialAccountManager socialAccountDictionary] valueForKey:UMShareToQzone];
NSLog(@"username is %@, uid is %@, token is %@ url is %@",snsAccount.userName,snsAccount.usid,snsAccount.accessToken,snsAccount.iconURL);
在SDK5.0及之后的版本中,用户信息都直接在授权之后便会返回,可以在snsAccount里获取全部的用户信息资料
Qzone将UMShareToQQ替换为UMShareToQzone即可
添加配置文件参考文档:添加微信及朋友圈,添加相关库文件,配置URL schemes及添加系统回调
注意微信登录必须先在申请微信登录权限
在你的程序APPdelegate入口方法添加下面的代码
#import "UMSocialWechatHandler.h"
//设置微信AppId、appSecret,分享url
[UMSocialWechatHandler setWXAppId:@"wxd930ea5d5a258f4f" appSecret:@"db426aa0dcac7b" url:@"/social"];
在微信登录按钮中实现下面的方法
UMSocialSnsPlatform *snsPlatform = [UMSocialSnsPlatformManager getSocialPlatformWithName:UMShareToWechatSession];
snsPlatform.loginClickHandler(self,[UMSocialControllerService defaultControllerService],YES,^(UMSocialResponseEntity *response){
if (response.responseCode == UMSResponseCodeSuccess) {
UMSocialAccountEntity *snsAccount = [[UMSocialAccountManager socialAccountDictionary]valueForKey:UMShareToWechatSession];
NSLog(@"username is %@, uid is %@, token is %@ url is %@",snsAccount.userName,snsAccount.usid,snsAccount.accessToken,snsAccount.iconURL);
在SDK5.0及之后的版本中,用户信息都直接在授权之后便会返回,可以在snsAccount里获取全部的用户信息资料
添加其他国内分享平台
国内分享平台简介
友盟社会化组件支持的国内分享平台包括:新浪、微信及朋友圈、QQ及Qzone、腾讯微博、人人网、豆瓣、短信、邮件、支付宝、易信和来往
添加腾讯微博
使用默认分享界面
使用友盟默认提供的分享面板,调用下面的代码
[UMSocialSnsService presentSnsIconSheetView:self
appKey:你的友盟应用Appkey
shareText:@"友盟社会化分享让您快速实现分享等社会化功能,/social"
shareImage:[UIImage imageNamed:@"icon.png"]
shareToSnsNames:@[UMShareToTencent]
delegate:self];
//实现回调方法(可选):
-(void)didFinishGetUMSocialDataInViewController:(UMSocialResponseEntity *)response
//根据`responseCode`得到发送结果,如果分享成功
if(response.responseCode == UMSResponseCodeSuccess)
//得到分享到的微博平台名
NSLog(@"share to sns name is %@",[[response.data allKeys] objectAtIndex:0]);
使用自定义分享界面
自定义分享样式,可以在自己定义的分享按钮中实现下面的方法
[[UMSocialDataService defaultDataService]
postSNSWithTypes:@[UMShareToTencent] content:@"分享内嵌文字" image:nil location:nil urlResource:nil presentedController:self completion:^(UMSocialResponseEntity *shareResponse){
if (shareResponse.responseCode == UMSResponseCodeSuccess) {
NSLog(@"分享成功!");
添加人人网
使用默认分享界面
使用友盟默认提供的分享面板,调用下面的代码
[UMSocialSnsService presentSnsIconSheetView:self
appKey:你的友盟应用Appkey
shareText:@"友盟社会化分享让您快速实现分享等社会化功能,/social"
shareImage:[UIImage imageNamed:@"icon.png"]
shareToSnsNames:@[UMShareToRenren]
delegate:self];
//实现回调方法(可选):
-(void)didFinishGetUMSocialDataInViewController:(UMSocialResponseEntity *)response
//根据`responseCode`得到发送结果,如果分享成功
if(response.responseCode == UMSResponseCodeSuccess)
//得到分享到的微博平台名
NSLog(@"share to sns name is %@",[[response.data allKeys] objectAtIndex:0]);
使用自定义分享界面
自定义分享样式,可以在自己定义的分享按钮中实现下面的方法
[[UMSocialDataService defaultDataService]
postSNSWithTypes:@[UMShareToRenren] content:@"分享内嵌文字" image:nil location:nil urlResource:nil presentedController:self completion:^(UMSocialResponseEntity *shareResponse){
if (shareResponse.responseCode == UMSResponseCodeSuccess) {
NSLog(@"分享成功!");
添加豆瓣、短信、邮件
在默认分享界面下,直接在分享平台的数组中传递平台参数名即可
[UMSocialSnsService presentSnsIconSheetView:self
appKey:你的友盟应用Appkey
shareText:@"友盟社会化分享让您快速实现分享等社会化功能,/social"
shareImage:[UIImage imageNamed:@"icon.png"]
shareToSnsNames:@[UMShareToDouban,UMShareToEmail,UMShareToSms]
delegate:self];
//实现回调方法(可选):
-(void)didFinishGetUMSocialDataInViewController:(UMSocialResponseEntity *)response
//根据`responseCode`得到发送结果,如果分享成功
if(response.responseCode == UMSResponseCodeSuccess)
//得到分享到的微博平台名
NSLog(@"share to sns name is %@",[[response.data allKeys] objectAtIndex:0]);
添加支付宝
支付宝钱包从9.0版本开始支持分享,友盟分享SDK中已经判断当前设备能否支持分享到支付宝钱包
在注册应用,完整填写相关应用信息,并且审核通过获取AppID,未审核应用无法拿到AppID。
添加相关文件
添加UMSocial_Sdk_Extra_Frameworks目录下的AlipayShare文件夹到工程
添加支付宝
添加支付宝钱包到分享列表
在AppDelegate应用入口方法打开集成支付宝
#import "UMSocialAlipayShareHandler.h"
// 设置支付宝分享的appId
[UMSocialAlipayShareHandler setAlipayShareAppId:@"2536”];
添加相关配置
为Other Linker Flags 添加 -all_load
添加支付宝回调Scheme
identifier必须为 alipayShare
URL Schemes 命名规则:ap+AppID
iOS 9以后的系统需要添加支付宝分享的scheme,scheme名为alipayshare,参考
添加系统回调
在APPdelegate中实现下面的方法
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
BOOL result = [UMSocialSnsService handleOpenURL:url];
if (result == FALSE) {
//调用其他SDK
设置分享内容
当前支付宝sdk支持分享到朋友,分享类型为文本、图片及连接
设置文本分享
[UMSocialData defaultData].extConfig.alipaySessionData.alipayMessageType = UMSocialAlipayMessageTypeT
[UMSocialData defaultData].extConfig.alipaySessionData.shareText = @"友盟社会化组件可以让移动应用快速具备社会化分享、登录、评论、喜欢等功能,并提供实时、全面的社会化数据统计分析服务。 /social"
设置图片分享(分为本地图片和网络图片)
// 图片分享,设置分享类型为图片并传入参数,图片对象在下面分享接口中传入
[UMSocialData defaultData].extConfig.alipaySessionData.alipayMessageType = UMSocialAlipayMessageTypeI
// 如果是网络图片,需要设置
[[UMSocialData defaultData].urlResource setResourceType:UMSocialUrlResourceTypeImage url:@"/images/pic/home/social/banner.png];
设置链接分享
[UMSocialData defaultData].extConfig.alipaySessionData.alipayMessageType = UMSocialAlipayMessageTypeW
[UMSocialData defaultData].extConfig.alipaySessionData.title = @"shareTitle";
[UMSocialData defaultData].extConfig.alipaySessionData.url = @"/social”;
调用分享面板
NSString *shareText = @"友盟社会化组件可以让移动应用快速具备社会化分享、登录、评论、喜欢等功能,并提供实时、全面的社会化数据统计分析服务。 /social";
//分享内嵌文字
UIImage *shareImage = [UIImage imageNamed:@"UMS_social_demo"];
//分享内嵌图片
//调用快速分享接口
[UMSocialSnsService presentSnsIconSheetView:self
appKey:UmengAppkey
shareText:shareText
shareImage:shareImage
shareToSnsNames:nil
delegate:self];
使用自定义分享界面,在对应的支付宝分享按钮中实现下面的方法
[[UMSocialDataService defaultDataService]
postSNSWithTypes:@[UMShareToAlipaySession] content:shareText image:image location:nil urlResource:nil presentedController:self completion:^(UMSocialResponseEntity *response){
if (response.responseCode == UMSResponseCodeSuccess) {
NSLog(@"分享成功!");
添加相关文件
解压下载文件夹,在UMSocial_Sdk_Extra_Frameworks目录下,把YiXin文件夹添加到工程
配置URL schemes 及系统回调
在你的工程设置项,targets 一栏下,选中自己的 target,在 Info-&URL Types 中添加 URL Schemes,格式为易信Appkey,例如“yx35664bdff4db42c2b7be1e”
在APPdelegate中实现下面的回调方法
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
BOOL result = [UMSocialSnsService handleOpenURL:url];
if (result == FALSE) {
//调用其他SDK,例如支付宝SDK等
添加易信及朋友圈到分享列表
在APPdelegate中添加下面的方法
//设置易信Appkey和分享url地址,注意需要引用头文件 #import UMSocialYixinHandler.h
[UMSocialYixinHandler setYixinAppKey:@"yx35664bdff4db42c2b7be1e" url:@"/social"];
设置分享内容
使用默认分享界面调用下面的方法,其中UMShareToYXSession代表易信好友,UMShareToYXTimeline代表易信朋友圈
[UMSocialSnsService presentSnsIconSheetView:self
appKey:你的友盟应用Appkey
shareText:@"友盟社会化分享让您快速实现分享等社会化功能,/social"
shareImage:[UIImage imageNamed:@"icon.png"]
shareToSnsNames:@[UMShareToYXSession,UMShareToYXTimeline]
delegate:self];
//实现回调方法(可选):
-(void)didFinishGetUMSocialDataInViewController:(UMSocialResponseEntity *)response
//根据`responseCode`得到发送结果,如果分享成功
if(response.responseCode == UMSResponseCodeSuccess)
//得到分享到的微博平台名
NSLog(@"share to sns name is %@",[[response.data allKeys] objectAtIndex:0]);
使用自定义分享界面,则在对应的按钮中实现下面的方法
[[UMSocialDataService defaultDataService]
postSNSWithTypes:@[UMShareToYXSession] content:@"分享文字" image:nil location:nil urlResource:nil presentedController:self completion:^(UMSocialResponseEntity *response){
if (response.responseCode == UMSResponseCodeSuccess) {
NSLog(@"分享成功!");
上述代码为分享到易信好友,易信朋友圈将平台参数UMShareToYXSession替换为UMShareToYXTimeline即可
添加相关文件
解压下载文件夹,在UMSocial_Sdk_Extra_Frameworks目录下,把LaiWang文件夹添加到工程
配置URL schemes 及系统回调
在你的工程设置项,targets 一栏下,选中自己的 target,在 Info-&URL Types 中添加 URL Schemes,Identifier填“Laiwang”,URL Schemes填来往AppId.注意使用来往SDK后,Xcode工程other linker flags需要添加-ObjC参数
在APPdelegate中实现下面的回调方法
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
BOOL result = [UMSocialSnsService handleOpenURL:url];
if (result == FALSE) {
//调用其他SDK,例如支付宝SDK等
添加来往及来往动态到分享列表
在APPdelegate中添加下面的方法
//设置来往AppId,appscret,显示来源名称和url地址,注意需要引用头文件 #import "UMSocialLaiwangHandler.h"
[UMSocialLaiwangHandler setLaiwangAppId:@"4282305" appSecret:@"eb83345fee6c9" appDescription:@"友盟社会化组件" urlStirng:@"/social"];
设置分享内容
使用默认分享界面调用下面的方法,其中UMShareToLWSession代表来往好友,UMShareToLWTimeline代表来往动态
[UMSocialSnsService presentSnsIconSheetView:self
appKey:你的友盟应用Appkey
shareText:@"友盟社会化分享让您快速实现分享等社会化功能,/social"
shareImage:[UIImage imageNamed:@"icon.png"]
shareToSnsNames:@[UMShareToLWSession,UMShareToLWTimeline]
delegate:self];
//实现回调方法(可选):
-(void)didFinishGetUMSocialDataInViewController:(UMSocialResponseEntity *)response
//根据`responseCode`得到发送结果,如果分享成功
if(response.responseCode == UMSResponseCodeSuccess)
//得到分享到的微博平台名
NSLog(@"share to sns name is %@",[[response.data allKeys] objectAtIndex:0]);
使用自定义分享界面,则在对应的按钮中实现下面的方法
[[UMSocialDataService defaultDataService]
postSNSWithTypes:@[UMShareToLWSession] content:@"分享文字" image:nil location:nil urlResource:nil presentedController:self completion:^(UMSocialResponseEntity *response){
if (response.responseCode == UMSResponseCodeSuccess) {
NSLog(@"分享成功!");
上述代码为分享到来往好友,来往动态将平台参数UMShareToLWSession替换为UMShareToLWTimeline即可
添加国外分享平台
国外分享平台简介
友盟社会化组件支持多个国外分享平台,包括Facebook、Twitter、Instagram、Line、Whatsapp、Tumblr,其中Facebook和Twitter分享支持应用内网页分享,其余平台仅支持跳转客户端分享。
添加Facebook
集成Facebook SDK分享
Facebook SDK需在iOS7.0以上系统集成
使用默认分享界面调用下面的代码
[UMSocialSnsService presentSnsIconSheetView:self
appKey:你的友盟应用Appkey
shareText:@"友盟社会化分享让您快速实现分享等社会化功能,/social"
shareImage:[UIImage imageNamed:@"icon.png"]
shareToSnsNames:@[UMShareToFacebook]
delegate:self];
//实现回调方法(可选):
-(void)didFinishGetUMSocialDataInViewController:(UMSocialResponseEntity *)response
//根据`responseCode`得到发送结果,如果分享成功
if(response.responseCode == UMSResponseCodeSuccess)
//得到分享到的微博平台名
NSLog(@"share to sns name is %@",[[response.data allKeys] objectAtIndex:0]);
使用自定义分享界面在对应的Facebook分享按钮中实现下面的方法
[[UMSocialDataService defaultDataService]
postSNSWithTypes:@[UMShareToFacebook] content:@"分享文字" image:nil location:nil urlResource:nil presentedController:self completion:^(UMSocialResponseEntity *response){
if (response.responseCode == UMSResponseCodeSuccess) {
NSLog(@"分享成功!");
使用应用内网页分享
在Facebook开放平台() 注册你的facebook应用,注意在你的应用Native iOS App填写Bundle ID
添加相关库文件
解压下载文件夹,在UMSocial_Sdk_Extra_Frameworks目录下,把Facebook文件夹添加到工程,添加系统Framework:Accounts.framework
和Social.framework
添加配置、URL schemes 及系统回调
在你的工程设置项,targets 一栏下,选中自己的 target,在Info中加入一条key为FacebookAppID,value的格式为fb”+facebook AppID,如“fb9601”,以及key为FacebookDisplayName,value为在Facebook后台设置的Display Name,如UmengShare。在 Info-&URL Types 中添加 URL Schemes,设置Xcode的url scheme格式为“fb”+facebook AppID,例如“fb9601”
注:适配iOS9的配置详见
在APPdelegate中实现下面的回调
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
BOOL result = [UMSocialSnsService handleOpenURL:url];
if (result == FALSE) {
//调用其他SDK,例如支付宝SDK等
添加Facebook
在AppDelegate的入口方法增加下面代码
//设置Facebook,AppID和分享url,需要#import "UMSocialFacebookHandler.h"
[UMSocialFacebookHandler setFacebookAppID:@"9601" shareFacebookWithURL:@"/social"];
设置分享内容方法和调用系统Facebook分享相同
添加Twitter
使用Twitter SDK分享
使用默认分享界面分享调用下面的代码
[UMSocialSnsService presentSnsIconSheetView:self
appKey:你的友盟应用Appkey
shareText:@"友盟社会化分享让您快速实现分享等社会化功能,/social"
shareImage:[UIImage imageNamed:@"icon.png"]
shareToSnsNames:@[UMShareToTwitter]
delegate:self];
//实现回调方法(可选):
-(void)didFinishGetUMSocialDataInViewController:(UMSocialResponseEntity *)response
//根据`responseCode`得到发送结果,如果分享成功
if(response.responseCode == UMSResponseCodeSuccess)
//得到分享到的微博平台名
NSLog(@"share to sns name is %@",[[response.data allKeys] objectAtIndex:0]);
使用自定义分享界面,在对于的Twitter分享按钮中实现下面的方法
[[UMSocialDataService defaultDataService]
postSNSWithTypes:@[UMShareToTwitter] content:@"分享文字" image:nil location:nil urlResource:nil presentedController:self completion:^(UMSocialResponseEntity *response){
if (response.responseCode == UMSResponseCodeSuccess) {
NSLog(@"分享成功!");
使用应用内网页分享
添加相关库文件
解压下载文件夹,在UMSocial_Sdk_Extra_Frameworks目录下,把Twitter文件夹添加到工程,如果支持iOS6系统,需要添加系统Framework:Accounts.framework 、CoreData.framework 和Social.framework
添加Twitter
在AppDelegate的入口方法设置:
#import "UMSocialTwitterHandler.h"
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
//默认使用iOS自带的Twitter分享framework,在iOS 6以上有效。若要使用我们提供的twitter分享需要使用此开关:
[UMSocialTwitterHandler openTwitter];
// 集成的TwitterSDK仅在iOS7.0以上有效,在iOS 6.x上自动调用系统内置Twitter授权
if (UMSYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"7.0")) {
[UMSocialTwitterHandler setTwitterAppKey:@"fB5tvRpna1CKK97xZUslbxiet" withSecret:@"YcbSvseLIwZ4hZg9YmgJPP5uWzd4zr6BpBKGZhf07zzh3oj62K"];
设置分享内容方法与使用Twitter SDK分享相同
添加Instagram
添加相关库文件
解压下载文件夹,在UMSocial_Sdk_Extra_Frameworks目录下,把Instagram文件夹添加到工程
添加Instagram开关
在AppDelegate的入口方法设置:
#import "UMSocialInstagramHandler.h"
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
[UMSocialInstagramHandler openInstagramWithScale:NO paddingColor:[UIColor blackColor]];
设置分享内容
使用默认分享界面调用下面的方法
[UMSocialSnsService presentSnsIconSheetView:self
appKey:你的友盟应用Appkey
shareText:@"友盟社会化分享让您快速实现分享等社会化功能,/social"
shareImage:[UIImage imageNamed:@"icon.png"]
shareToSnsNames:@[UMShareToInstagram]
delegate:self];
//实现回调方法(可选):
-(void)didFinishGetUMSocialDataInViewController:(UMSocialResponseEntity *)response
//根据`responseCode`得到发送结果,如果分享成功
if(response.responseCode == UMSResponseCodeSuccess)
//得到分享到的微博平台名
NSLog(@"share to sns name is %@",[[response.data allKeys] objectAtIndex:0]);
使用自定义界面,在对应的Instagram分享按钮中实现下面的方法
[[UMSocialDataService defaultDataService]
postSNSWithTypes:@[UMShareToInstagram] content:@"分享文字" image:nil location:nil urlResource:nil presentedController:self completion:^(UMSocialResponseEntity *response){
if (response.responseCode == UMSResponseCodeSuccess) {
NSLog(@"分享成功!");
添加相关库文件
解压下载文件夹,在UMSocial_Sdk_Extra_Frameworks目录下,把Line文件夹添加到工程
添加Line开关
在AppDelegate的入口方法设置:
#import "UMSocialLineHandler.h"
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
//分享到line,只能分享纯文本消息或者纯图片消息
[UMSocialLineHandler openLineShare:UMSocialLineMessageTypeImage];
设置分享内容
使用默认分享界面,添加下面的代码
[UMSocialSnsService presentSnsIconSheetView:self
appKey:你的友盟应用Appkey
shareText:@"友盟社会化分享让您快速实现分享等社会化功能,/social"
shareImage:[UIImage imageNamed:@"icon.png"]
shareToSnsNames:@[UMShareToLine]
delegate:self];
//实现回调方法(可选):
-(void)didFinishGetUMSocialDataInViewController:(UMSocialResponseEntity *)response
//根据`responseCode`得到发送结果,如果分享成功
if(response.responseCode == UMSResponseCodeSuccess)
//得到分享到的微博平台名
NSLog(@"share to sns name is %@",[[response.data allKeys] objectAtIndex:0]);
使用自定义分享界面,在对应的Line分享按钮中实现下面的方法
[[UMSocialDataService defaultDataService]
postSNSWithTypes:@[UMShareToLine] content:@"分享文字" image:nil location:nil urlResource:nil presentedController:self completion:^(UMSocialResponseEntity *response){
if (response.responseCode == UMSResponseCodeSuccess) {
NSLog(@"分享成功!");
添加Whatsapp
添加相关库文件
解压下载文件夹,在UMSocial_Sdk_Extra_Frameworks目录下,把Whatsapp文件夹添加到工程
添加Whatsapp开关
在AppDelegate的入口方法设置:
#import "UMSocialLineHandler.h"
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
//分享到whatsapp,只能分享纯文本消息或者纯图片消息
[UMSocialWhatsappHandler openWhatsapp:UMSocialWhatsappMessageTypeImage];
设置分享内容
使用默认分享界面,添加下面的代码
[UMSocialSnsService presentSnsIconSheetView:self
appKey:你的友盟应用Appkey
shareText:@"友盟社会化分享让您快速实现分享等社会化功能,/social"
shareImage:[UIImage imageNamed:@"icon.png"]
shareToSnsNames:@[UMShareToWhatsapp]
delegate:self];
//实现回调方法(可选):
-(void)didFinishGetUMSocialDataInViewController:(UMSocialResponseEntity *)response
//根据`responseCode`得到发送结果,如果分享成功
if(response.responseCode == UMSResponseCodeSuccess)
//得到分享到的微博平台名
NSLog(@"share to sns name is %@",[[response.data allKeys] objectAtIndex:0]);
使用自定义分享界面,在对应的Whapsapp分享按钮中实现下面的方法
[[UMSocialDataService defaultDataService]
postSNSWithTypes:@[UMShareToWhatsapp] content:@"分享文字" image:nil location:nil urlResource:nil presentedController:self completion:^(UMSocialResponseEntity *response){
if (response.responseCode == UMSResponseCodeSuccess) {
NSLog(@"分享成功!");
添加Tumblr
注意:我们采用打开Tumblr客户端方式分享到Tumblr,由于Tumblr客户端没有兼容iOS8,因此在iOS8上分享失败
添加相关库文件
解压下载文件夹,在UMSocial_Sdk_Extra_Frameworks目录下,把Tumblr文件夹添加到工程
添加Tumblr开关
在AppDelegate的入口方法设置
#import "UMSocialTumblrHandler.h"
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
[UMSocialTumblrHandler openTumblr];
设置分享内容
目前分享到Tumblr支持三种类型:图文(图片+文字)、博文(标题+文字)和链接(标题+url链接+url描述)
设置图文分享
NSString *shareText = @"友盟社会化组件可以让移动应用快速具备社会化分享、登录、评论、喜欢等功能,并提供实时、全面的社会化数据统计分析服务。 /social";
//分享内嵌文字
// 不能使用imageNamed:方法读取图片
UIImage *image = [UIImage imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"UMS_social_demo" ofType:@"png"]];
使用默认分享界面,添加下面的代码
[UMSocialSnsService presentSnsIconSheetView:self
appKey:你的友盟应用Appkey
shareText:shareText
shareImage:image
shareToSnsNames:@[UMShareToTumblr]
delegate:self];
//实现回调方法(可选):
-(void)didFinishGetUMSocialDataInViewController:(UMSocialResponseEntity *)response
//根据`responseCode`得到发送结果,如果分享成功
if(response.responseCode == UMSResponseCodeSuccess)
//得到分享到的微博平台名
NSLog(@"share to sns name is %@",[[response.data allKeys] objectAtIndex:0]);
使用自定义分享界面,在对应的Tumblr分享按钮中实现下面的方法
[[UMSocialDataService defaultDataService]
postSNSWithTypes:@[UMShareToTumblr] content:@"shareText" image:image location:nil urlResource:nil presentedController:self completion:^(UMSocialResponseEntity *response){
if (response.responseCode == UMSResponseCodeSuccess) {
NSLog(@"分享成功!");
设置博文分享
[UMSocialData defaultData].extConfig.tumblrData.title = @"share tumblr title";
NSString *shareText = @"友盟社会化组件可以让移动应用快速具备社会化分享、登录、评论、喜欢等功能,并提供实时、全面的社会化数据统计分析服务。 /social";
设置链接分享
[UMSocialData defaultData].extConfig.tumblrData.link = @"/social";
[UMSocialData defaultData].extConfig.tumblrData.linkDescription = @"友盟社会化组件可以让移动应用快速具备社会化分享、登录、评论、喜欢等功能,并提供实时、全面的社会化数据统计分析服务。";
所有Tumblr分享类型都可在分享中添加tag
[UMSocialData defaultData].extConfig.tumblrData.tags = @[@"Umeng", @"Share"];
随后使用默认分享界面,添加下面的代码
[UMSocialSnsService presentSnsIconSheetView:self
appKey:你的友盟应用Appkey
shareText:shareText
shareImage:image
shareToSnsNames:@[UMShareToTumblr]
delegate:self];
//实现回调方法(可选):
-(void)didFinishGetUMSocialDataInViewController:(UMSocialResponseEntity *)response
//根据`responseCode`得到发送结果,如果分享成功
if(response.responseCode == UMSResponseCodeSuccess)
//得到分享到的微博平台名
NSLog(@"share to sns name is %@",[[response.data allKeys] objectAtIndex:0]);
使用自定义分享界面,在对应的Tumblr分享按钮中实现下面的方法
[[UMSocialDataService defaultDataService]
postSNSWithTypes:@[UMShareToTumblr] content:shareText image:image location:nil urlResource:nil presentedController:self completion:^(UMSocialResponseEntity *response){
if (response.responseCode == UMSResponseCodeSuccess) {
NSLog(@"分享成功!");
设置分享内容
使用默认分享界面
在分享按钮中实现下面的方法
[UMSocialSnsService presentSnsIconSheetView:self
appKey:你的友盟应用Appkey
shareText:@"友盟社会化分享让您快速实现分享等社会化功能,/social"
shareImage:[UIImage imageNamed:@"icon.png"]
shareToSnsNames:@[UMShareToSina,UMShareToTencent,UMShareToRenren,UMShareToDouban,UMShareToEmail]
delegate:self];
//实现回调方法(可选):
-(void)didFinishGetUMSocialDataInViewController:(UMSocialResponseEntity *)response
//根据`responseCode`得到发送结果,如果分享成功
if(response.responseCode == UMSResponseCodeSuccess)
//得到分享到的微博平台名
NSLog(@"share to sns name is %@",[[response.data allKeys] objectAtIndex:0]);
shareToSnsNames中传递的参数顺序即为分享面板中各个分享平台的排列顺序
如果需要支持横屏,则在弹出分享列表页前调用[UMSocialConfig setSupportedInterfaceOrientations:UIInterfaceOrientationMaskLandscape];
使用自定义分享界面
需要使用自定义分享界面,可以在对应的分享按钮中调用下面的方法,如新浪微博
[[UMSocialDataService defaultDataService]
postSNSWithTypes:@[UMShareToSina] content:@"友盟社会化分享让您快速实现分享等社会化功能,/social" image:nil location:nil urlResource:nil presentedController:self completion:^(UMSocialResponseEntity *response){
if (response.responseCode == UMSResponseCodeSuccess) {
NSLog(@"分享成功!");
其他平台替换UMShareToSina如腾讯微博则替换为UMShareToTencent 各平台参数列表为
UMShareToSina
UMShareToTencent
UMShareToQQ
UMShareToQzone
UMShareToWechatSession
微信朋友圈
UMShareToWechatTimeline
UMShareToFavorite
UMShareToEmail
UMShareToSms
UMShareToSms
UMShareToDouban
UMShareToRenren
UMShareToFacebook
UMShareToTwitter
UMShareToYXSession
易信朋友圈
UMShareToYXTimeline
UMShareToLWSession
UMShareToLWTimeline
UMShareToInstagram
UMShareToLine
UMShareToWhatsapp
UMShareToTumblr
分享多媒体资源
分享URL图片
使用默认分享界面,使用下面的代码
[[UMSocialData defaultData].urlResource setResourceType:UMSocialUrlResourceTypeImage url:@"/img/bdlogo.gif"];
//调用快速分享接口
[UMSocialSnsService presentSnsIconSheetView:self
appKey:你的友盟应用Appkey
shareText:@"友盟社会化分享让您快速实现分享等社会化功能,/social"
shareImage:nil
shareToSnsNames:@[UMShareToSina]
delegate:self];
//实现回调方法(可选):
-(void)didFinishGetUMSocialDataInViewController:(UMSocialResponseEntity *)response
//根据`responseCode`得到发送结果,如果分享成功
if(response.responseCode == UMSResponseCodeSuccess)
//得到分享到的微博平台名
NSLog(@"share to sns name is %@",[[response.data allKeys] objectAtIndex:0]);
使用自定义分享界面,在对应平台分享按钮中实现下面的方法
UMSocialUrlResource *urlResource = [[UMSocialUrlResource alloc] initWithSnsResourceType:UMSocialUrlResourceTypeImage url:
@"/img/bdlogo.gif"];
[[UMSocialDataService defaultDataService]
postSNSWithTypes:@[UMShareToSina] content:@"分享内嵌文字" image:nil location:nil urlResource:urlResource presentedController:self completion:^(UMSocialResponseEntity *shareResponse){
if (shareResponse.responseCode == UMSResponseCodeSuccess) {
NSLog(@"分享成功!");
分享其他平台替换UMShareToSina为其他平台参数即可
分享本地gif图片
分享本地gif图片到各个开放平台,需要生成把本地gif图片生成NSData对象,作为各个分享方法的shareImage参数,例如快速分享接口如下写法。
分享png、jpg图片则只需要生成UIImage,传入到shareImage参数,不能使用这种写法。
//分享gif图片
NSString *path = [[NSBundle mainBundle] pathForResource:@"picName"
ofType:@"gif"];
NSData *gifData = [NSData dataWithContentsOfFile:path];
[UMSocialSnsService presentSnsIconSheetView:self appKey:UmengAppkey shareText:shareText shareImage:gifData shareToSnsNames:nil delegate:self];
//分享png、jpg图片
[UMSocialSnsService presentSnsIconSheetView:self appKey:UmengAppkey shareText:shareText shareImage:[UIImage imageNamed:@"picName"] shareToSnsNames:nil delegate:self];
分享URL音乐
分享音乐资源只需要将UMSocialUrlResourceType设置为Music类型即可
[[UMSocialData defaultData].urlResource setResourceType:UMSocialUrlResourceTypeMusic url:@"//6e0b23f37fa584f2a6e58ac70d03b31e/view/song/small/p759182.mp3"];
//调用快速分享接口
[UMSocialSnsService presentSnsIconSheetView:self
appKey:你的友盟应用Appkey
shareText:@"友盟社会化分享让您快速实现分享等社会化功能,/social"
shareImage:nil
shareToSnsNames:@[UMShareToSina]
delegate:self];
//实现回调方法(可选):
-(void)didFinishGetUMSocialDataInViewController:(UMSocialResponseEntity *)response
//根据`responseCode`得到发送结果,如果分享成功
if(response.responseCode == UMSResponseCodeSuccess)
//得到分享到的微博平台名
NSLog(@"share to sns name is %@",[[response.data allKeys] objectAtIndex:0]);
微信设置分享音乐方法
微信分享音乐方法直接调用原生SDK方法
WXMusicObject *musicObject = [WXMusicObject object];
musicObject.musicUrl = @"要跳转的连接";
musicObject.musicDataUrl = @"我分享的是mp3,这里是mp3的连接";
[UMSocialData defaultData].extConfig.wxMediaObject = musicO
[UMSocialData defaultData].extConfig.wxMessageType = UMSocialWXMessageTypeO
分享URL视频
分享视频资源需要将UMSocialUrlResourceType设置为Video类型即可
[[UMSocialData defaultData].urlResource setResourceType:UMSocialUrlResourceTypeVideo url:@"/v_show/id_XNjQ1NjczNzEy.html?f=&ev=2"];
//调用快速分享接口
[UMSocialSnsService presentSnsIconSheetView:self
appKey:你的友盟应用Appkey
shareText:@"友盟社会化分享让您快速实现分享等社会化功能,/social"
shareImage:nil
shareToSnsNames:@[UMShareToSina]
delegate:self];
//实现回调方法(可选):
-(void)didFinishGetUMSocialDataInViewController:(UMSocialResponseEntity *)response
//根据`responseCode`得到发送结果,如果分享成功
if(response.responseCode == UMSResponseCodeSuccess)
//得到分享到的微博平台名
NSLog(@"share to sns name is %@",[[response.data allKeys] objectAtIndex:0]);
分平台设置分享内容
[UMSocialData defaultData].extConfig下设置各个分享平台的分享文字、分享图片、分享视频、音乐等。各个平台的对象名,请参看头文件定义,此设置方法不支持直接发送分享内容的底层分享方法,只支持使用有界面的分享方法,示例代码如下:
[UMSocialData defaultData].extConfig.sinaData.shareText = @"分享到新浪微博内容";
[UMSocialData defaultData].extConfig.tencentData.shareImage = [UIImage imageNamed:@"icon"]; //分享到腾讯微博图片
[[UMSocialData defaultData].extConfig.wechatSessionData.urlResource setResourceType:UMSocialUrlResourceTypeImage url:@"/img/bdlogo.gif"];
//设置微信好友分享url图片
[[UMSocialData defaultData].extConfig.wechatTimelineData.urlResource setResourceType:UMSocialUrlResourceTypeVideo url:@"/v_show/id_XNjQ1NjczNzEy.html?f=&ev=2"]; //设置微信朋友圈分享视频
添加自定义平台
如果需要修改已有面板中的按钮,可以参考下面的方法修改平台相应的图片、文字和点击事件等,例如下面修改新浪微博的图片、文字和点击事件
UMSocialSnsPlatform *sinaPlatform = [UMSocialSnsPlatformManager getSocialPlatformWithName:UMShareToSina];
sinaPlatform.bigImageName = @"icon";
sinaPlatform.displayName = @"微博";
sinaPlatform.snsClickHandler = ^(UIViewController *presentingController, UMSocialControllerService * socialControllerService, BOOL isPresentInController){
NSLog(@"点击新浪微博的响应");
如果需要添加自定义按钮,如复制链接等按钮,在appdelegate方法内添加下面的代码:
UMSocialSnsPlatform *snsPlatform = [[UMSocialSnsPlatform alloc] initWithPlatformName:@"CustomPlatform"];
snsPlatform.displayName = @"自定义平台";
snsPlatform.snsClickHandler = ^(UIViewController *presentingController, UMSocialControllerService * socialControllerService, BOOL isPresentInController){
NSLog(@"点击自定义平台的响应");
[UMSocialConfig addSocialSnsPlatform:@[snsPlatform]];
//设置你要在分享面板中出现的平台
[UMSocialConfig setSnsPlatformNames:@[UMShareToSina,@"CustomPlatform"]];
错误码列表
错误的友盟appkey,或者此appkey没有绑定任何平台.如果开发者绑定了,依然出现这个问题,让开发者再试一下,可能是刚绑定马上就测试的原因,最好等2分钟。
这个友盟appkey已经被禁止
请求的参数中没有uid
未知的错误,具体的错误信息会在log的输出中
访问频率超限,可一会儿再试
请求参数中没有content字段
请求参数中content字段的内容为空
没有上传图片
此友盟的appkey没有绑定对应平台的appkey和appsecret
userid无效,这个用户并没有进行授权
请求的参数中没有appkey这个字段
没有对此用户进行授权
分享信息重复
分享图片大小有问题
获取access token失败,具体看log输出
获取access token失败,具体看log输出
授权已经过期
授权已经过期
请求中没有state参数
发送了重复内容的微博
图像文件大小不正确
appurl不正确
图像url不正确
没有使用Qzone add_share接口的权限
该用户已经关注过了
没有使用此api的权限
openid错误
用户不存在或者用户无法在平台发言
请求参数非法
用户不在平台的应用测试列表当中
发布内容频率太高
IMEI参数错误
此App尚未授权过
给定uid的用户并不存在
绑定账户失败
连接服务器失败
获取评论失败
用户被加入黑名单
获取好友失败
获取授权url失败
解除授权失败
获取bar失败
从平台获取用户信息失败
url跳转失败
从social获取用户信息失败
请求的参数错误
请求喜欢失败
版本号错误
没有Oauth授权
服务器没响应
初始化失败
点击访问:
请发邮件至。为了能够尽快响应您的反馈,请提供您的appkey及log中的详细出错日志,您所提供的内容越详细越有助于我们帮您解决问题。
查看log日志方法:在友盟代码入口处添加代码:[UMSocialData openLog:YES]; 在控制台中查看相应日志
技术支持QQ:

我要回帖

更多关于 搜狐公众平台怎么申请 的文章

 

随机推荐