700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 友盟的常见使用----三方登陆 分享和“埋点”(友盟统计)

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

时间:2020-07-07 03:54:34

相关推荐

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

友盟,专业的移动开发者服务平台,为移动开发者提供免费的应用统计分析、社交分享、消息推送、自动更新、在线参数、移动推广效果分析、微社区等,下面是要分享的内容 第三方登录流程 友盟支持第三方登录的平台 友盟社会化分享支持的平台 集成友盟社会化组件流程 友盟社会化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:@""];17.//打开新浪微博的SSO开关18.[UMSocialSinaHandler openSSOWithRedirectURL:@""];19.//设置分享到<a href="/qq/qqkj/" target="_blank" class="keylink">QQ空间</a>的应用Id,和分享url 链接20.[UMSocialQQHandler setQQWithAppId:kQQAppID appKey:kQQAppKey url:@""];21.//设置支持没有客户端情况下使用SSO授权22.[UMSocialQQHandler setSupportWebView:YES];23.24./**25.这里处理新浪微博SSO授权之后跳转回来,和微信分享完成之后跳转回来26.*/27.- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation28.{29.return[UMSocialSnsService handleOpenURL:url wxApiDelegate:nil];30.}31.32./**33.这里处理新浪微博SSO授权进入新浪微博客户端后进入后台,再返回原来应用34.*/35.- (void)applicationDidBecomeActive:(UIApplication *)application36.{37.[UMSocialSnsService applicationDidBecomeActive];38.}

view sourceprint?01.#import"UMSocial.h"02.//<a href="/qq/" target="_blank" class="keylink">qq</a>登录03.- (void)<a href="/qq/"target="_blank"class="keylink">qq</a>BtnClick:(UIButton *)btn04.{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 *)btn18.{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 *)response32.{33.if(response.viewControllerType == UMSViewControllerOauth) {34.NSLog(@"didFinishOauthAndGetAccount response is %@",response);35.}36.}

view sourceprint?01.//分享02.typedefenum03.{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)index16.{17.NSString *shareText = @"wallpaper papehome。/social"; //分享内嵌文字18.UIImage *shareImage = [[SDImageCache sharedImageCache] imageFromDiskCacheForKey:self.sharedImgUrl];//分享内嵌图片19.20.//如果得到分享完成回调,需要设置delegate为self21.// @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 *)response29.{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.}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。