• 友盟,专业的移动开发者服务平台,为移动开发者提供免费的应用统计分析、社交分享、消息推送、自动更新、在线参数、移动推广效果分析、微社区等,下面是要分享的内容
  • 第三方登录流程
  • 友盟支持第三方登录的平台
  • 友盟社会化分享支持的平台
  • 集成友盟社会化组件流程
  • 友盟社会化SDK集成流程
  • 注意事项
  • 示例代码

第三方登录流程

移动应用授权效果图如下:

友盟支持第三方登录的平台

新浪微博、腾讯微博、QQ、QQ空间、微信、人人

友盟社会化分享支持的平台

  • 国内平台:微信(微信好友及微信朋友圈)、QQ、Qzone、新浪微博、腾讯微博、人人网、豆瓣、短信、邮件、有道云笔记、来往、易信
  • 国外平台:Facebook、Twitter、Instagram、EverNote、Pocket、Pinterest、Linkedin、G+

集成友盟社会化组件流程

注册友盟账号

  • 登陆友盟官网,在我的产品页面添加新应用,然后获取到Appkey

申请第三方账号

  • 参照文档:申请第三方账号

绑定第三方账号

  • 参照文档:绑定第三方账号到友盟后台

下载SDK

  • 进入下载SDK页面(点击链接),勾选自己需要的功能进行下载

友盟社会化SDK集成流程

配置AndroidManifest.xml

  • 配置权限、友盟AppKey、分享的相关组件,详情参考文档

复制指定平台的libs和res到项目中

  • 每个平台对应的jar包和资源文件,详情参考文档

在代码中设置需要分享的平台和内容

  • 传递平台appId/appKey参数并添加指定平台和分享的媒体内容

注意事项

  • 使用第三方登录的时候需要进行签名打包,不然在新浪SSO授权、微信分享会出现异常。
  • 微信登录需要在微信开放平台申请开发者认证获取登录权限,不然无法完成授权

示例代码

#import "UMSocial.h"
02.#import "UMSocialWechatHandler.h"
03.#import "UMSocialQQHandler.h"
04.#import "UMSocialSinaHandler.h"
05. 
06.//友盟统计
07.//友盟统计分析是一款专业的移动应用统计分析工具,致力于为开发者提供实时、稳定的移动应用统计分析服务,帮助开发者更好地了解用户、优化产品以及提升转化率。友盟统计分析客户端,可以方便开发者查看应用数据,随时随地掌握应用的运营状态。
08.[MobClickstartWithAppkey:kUMengKeyreportPolicy:SEND_ON_EXITchannelId:nil];/开启友盟统计
09.[MobClick setAppVersion:XcodeAppVersion];
10.[MobClick checkUpdate];
11. 
12. 
13.//友盟授权
14.[UMSocialData setAppKey:kUMengKey];
15.//设置微信AppId,设置分享url,默认使用友盟的网址
16.[UMSocialWechatHandler setWXAppId:kWXAppID appSecret:kWXAppKey url:@"http://www.yshow.net"];
17.//打开新浪微博的SSO开关
18.[UMSocialSinaHandler openSSOWithRedirectURL:@"http://www.yshow.net"];
19.//设置分享到<a href="http://www.it165.net/qq/qqkj/" target="_blank" class="keylink">QQ空间</a>的应用Id,和分享url 链接
20.[UMSocialQQHandler setQQWithAppId:kQQAppID appKey:kQQAppKey url:@"http://www.yshow.net"];
21.//设置支持没有客户端情况下使用SSO授权
22.[UMSocialQQHandler setSupportWebView:YES];
23. 
24./**
25.这里处理新浪微博SSO授权之后跳转回来,和微信分享完成之后跳转回来
26.*/
27.- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
28.{
29.return  [UMSocialSnsService handleOpenURL:url wxApiDelegate:nil];
30.}
31. 
32./**
33.这里处理新浪微博SSO授权进入新浪微博客户端后进入后台,再返回原来应用
34.*/
35.- (void)applicationDidBecomeActive:(UIApplication *)application
36.{
37.[UMSocialSnsService  applicationDidBecomeActive];
38.}

view sourceprint?
01.#import "UMSocial.h"
02.//<a href="http://www.it165.net/qq/" target="_blank" class="keylink">qq</a>登录
03.- (void)<a href="http://www.it165.net/qq/" target="_blank" class="keylink">qq</a>BtnClick:(UIButton *)btn
04.{
05.NSString *platformName = [UMSocialSnsPlatformManager getSnsPlatformString:UMSocialSnsTypeMobileQQ];
06.UMSocialSnsPlatform *snsPlatform = [UMSocialSnsPlatformManager getSocialPlatformWithName:UMShareToQQ];
07.snsPlatform.loginClickHandler(self,[UMSocialControllerService defaultControllerService],YES,^(UMSocialResponseEntity *response){
08.NSLog(@"login response is %@",response);
09.//获取微博用户名、uid、token等
10.if (response.responseCode == UMSResponseCodeSuccess) {
11.UMSocialAccountEntity *snsAccount = [[UMSocialAccountManager socialAccountDictionary] valueForKey:platformName];
12.NSLog(@"username is %@, uid is %@, token is %@,iconUrl is %@",snsAccount.userName,snsAccount.usid,snsAccount.accessToken,snsAccount.iconURL);
13.}
14.});
15.}
16.//新浪登录
17.- (void)sinaBtnClick:(UIButton *)btn
18.{
19.NSString *platformName = [UMSocialSnsPlatformManager getSnsPlatformString:UMSocialSnsTypeSina];
20.UMSocialSnsPlatform *snsPlatform = [UMSocialSnsPlatformManager getSocialPlatformWithName:UMShareToSina];
21.snsPlatform.loginClickHandler(self,[UMSocialControllerService defaultControllerService],YES,^(UMSocialResponseEntity *response){
22.NSLog(@"response is %@",response);
23.if (response.responseCode == UMSResponseCodeSuccess) {
24.UMSocialAccountEntity *snsAccount = [[UMSocialAccountManager socialAccountDictionary] valueForKey:platformName];
25.NSLog(@"=========%@",snsAccount.accessToken);
26.}
27.});
28.}
29. 
30.//实现回调方法
31.-(void)didFinishGetUMSocialDataInViewController:(UMSocialResponseEntity *)response
32.{
33.if (response.viewControllerType == UMSViewControllerOauth) {
34.NSLog(@"didFinishOauthAndGetAccount response is %@",response);
35.}
36.}

view sourceprint?
01.//分享
02.typedef enum
03.{
04.ShareQZone,
05.ShareQQFriend,
06.ShareWeiXinFriend,
07.ShareQQWB,
08.ShareSinaWB,
09.}ShareMode;
10. 
11.#import "UMSocialSnsService.h"
12.#import "UMSocialSnsPlatformManager.h"
13.#import "UMSocial.h"
14. 
15.- (void)shareFootViewSureBtnDidClick:(YSShareFootView *)view index:(ShareMode)index
16.{
17.NSString *shareText = @"wallpaper papehome。 http://www.wallPaper.com/social";             //分享内嵌文字
18.UIImage *shareImage = [[SDImageCache sharedImageCache] imageFromDiskCacheForKey:self.sharedImgUrl];          //分享内嵌图片
19. 
20.//如果得到分享完成回调,需要设置delegate为self
21.// @param snsNames 你要分享到的sns平台类型,该NSArray值是`UMSocialSnsPlatformManager.h`定义的平台名的字符串常量,有UMShareToSina,UMShareToTencent,UMShareToRenren,UMShareToDouban,UMShareToQzone,UMShareToEmail,UMShareToSms等
22. 
23.[UMSocialSnsService presentSnsIconSheetView:self appKey:kUMengKey shareText:shareText shareImage:shareImage shareToSnsNames:@[UMShareToQzone,UMShareToQQ,UMShareToWechatSession,UMShareToTencent,UMShareToSina] delegate:self];
24.return;
25.}
26. 
27.//下面得到分享完成的回调
28.-(void)didFinishGetUMSocialDataInViewController:(UMSocialResponseEntity *)response
29.{
30.NSLog(@"didFinishGetUMSocialDataInViewController with response is %@",response);
31.//根据`responseCode`得到发送结果,如果分享成功
32.if(response.responseCode == UMSResponseCodeSuccess)
33.{
34.//得到分享到的微博平台名
35.NSLog(@"share to sns name is %@",[[response.data allKeys] objectAtIndex:0]);
36.}
37.}

友盟的常见使用----三方登陆、分享和“埋点”(友盟统计)相关推荐

  1. umeng(友盟)实现第三方登录和分享详解之登录详解

    一.简单介绍 因为一个平台一个平台进行弄太麻烦,也不够统一,所以领导选择了umeng(我的内心是拒绝的),umeng的文档写的便于查找,但是比较分散,对于比较熟悉的很好用,没接触过umeng的肯定一脸 ...

  2. flutter友盟分享_Flutter中使用友盟统计

    题记 -- 执剑天涯,从你的点滴积累开始,所及之处,必精益求精,即是折腾每一天. 重要消息 可以用来加载 Html 页面,以实现 Android 中 WebView 或者 是 iOS 中的 UIWeb ...

  3. 方案系列--多个应用同时接入Google和Facebook三方登陆互联互通解决方案

    目录 背景 多App之间用户互通场景分析 本文可以帮到你什么 国内三方登陆常见方案

  4. Android三方登陆之QQ,微信,微博登录及注意事项

    简介 在我们的应用中,一般都有三方登录这个功能,对于这个常用的功能,我们一般会有如下处理方式 导入三方sdk,按照文档开发 使用如ShareSDK类三方组件来实现 ShareSDK 官方Demo: T ...

  5. #中国IT界的第一本漂流日记 传递IT正能量# 【分享得“IT漂友”勋章】

    [关于漂流日记] 一个日记本,通过最传统的方式--邮寄行走在全国各地,互不相识的人用手写笔记.照片.涂鸦等各种不同的形式记录,最后在回到它的起点.这就是漂流日记. #中国IT界的第一本漂流日记 传递I ...

  6. 用友通ERP客户端报无法登陆错

    用友通ERP客户端报"无法登陆"错 排除系统版本错,要求windows xp professional sp2:client.dll文件错误后 请确认 c:/windows/sys ...

  7. 战地5服务器不显示ping怎么回事,战地5常见bug解决办法分享

    战地5游戏想现在已经全面开放,作为一款刚刚公测推出的游戏,现在在游戏中难免会存在一些bug,不少玩家都 遇到过各种各样的bug.遇到bug怎么办?iefans小编整理了当前最热门的几个bug进行了汇总 ...

  8. Java前后端分离第三方登录_网站前后端分离情况下如何实现QQ微信等第三方登陆-Fun言...

    前言 最近在弄第三方登录,实现起来很简单,就是调几个接口获取个人信息即可,详细了解:maven项目整合QQauth2.0第三方登录详细说明,然后因为本网站是前后端分离的,所以不能再回调接口那里直接跳转 ...

  9. 【小程序】常见系统API | 页面分享 | 位置信息 | 本地存储

    文章目录 常见系统API 页面分享的基本介绍 设备信息和位置信息 小程序Storage存储 常见系统API 页面分享的基本介绍 分享是小程序扩散的一种重要方式,小程序中有两种分享方式: 方式一:点击右 ...

最新文章

  1. 微软CEO致雅虎董事会的最后通牒信
  2. iOS 11开发教程(十七)iOS11应用视图之使用按钮接收用户输入
  3. WINCE支持的波斯语的codepages
  4. 实验7-3-3 统计大写辅音字母 (15分)
  5. android socket 发送byte_如何正确地创建和销毁网络通讯程序中的Socket类的对象实例...
  6. 剑指 Offer 35. 复杂链表的复制(哈希/衍生拆分图解)
  7. python coding utf-8_【转】怎么在Python里使用UTF-8编码
  8. (转) 淘淘商城系列——解决KindEditor上传图片浏览器兼容性问题
  9. python中的for语句可以在任意序列_python在循环内任意增加迭代器
  10. java、js的编码、解码
  11. 精美Java 图书管理系统
  12. xvidcore-1.3.2编译
  13. STVD环境下开发STM8,如何查看工程占用的Flash、EEPROM、RAM的情况
  14. win10 开机自动启动脚本
  15. Vue中如何实现Excel导入导出
  16. Bluetooth Battery Monitor(蓝牙电量监控软件)
  17. 互联网产品的需求分析
  18. 获取某一年指定自然周的开始时间和结束时间
  19. java 新功能_最新的Java版本101有什么新功能?
  20. HART475艾默生手操器维修注意事项及指标特点

热门文章

  1. 使用 Python 的铅笔素描图像
  2. python 实战之模仿开发QQ聊天软件(三)TCP/IP服务器与客户端建设
  3. bzoj-4433 小凸玩矩阵(二分图,二分+匈牙利)
  4. CSS3 HTML5下雪特效 雪花飘飘
  5. 这个bug有点狠,到大西洋送外卖?成功逼疯前端工程师
  6. 把0到9的数字转换成电话按钮上的字母
  7. android root权限下Apk下载、静默安装并自启
  8. VUE之Vxe-table动态生成多级表头
  9. 关于解决错误apt --fix-broken install
  10. 期货负价格与巴舍利耶定价模型