应用程序间跳转 (友盟SSO 授权 与系统自带的分享)

应用程序间跳转的应用场景

  1. 使用第三方用户登录,如微信登录,返回用户名和密码
  2. 需要用户授权,返回到调用程序,同时返回授权的用户名
  3. 应用程序推广,跳转到itunes并显示指定app下载页
  4. 第三方支付,跳转到支付APP,如支付宝,微信钱包
  5. 显示位置及导航功能时,跳转到第三方地图应用。
  6. 打电话、发邮件、发短信、打开网页等,跳转到内置APP程序

应用间的跳转:

1.//url :统一资源占位符 http://baidu.com tel://110 file:///apple/storebock

//由    协议头:http:// tel:// file://

//     资源路径:baidu.com

2.如何配置应用程序的URL的协议头: target (项目)- > info > URL Type >URL Schemes

3.APP —A

//跳转到微信APP

- (IBAction)jump {

[self openXiaodiWeiXin:@"xiaodi://"];

}

//跳转到微信好友界面,带上另一个要跳转到的控制器的indentify和自己的Schemes(协议头)

- (IBAction)secttion {

[self openXiaodiWeiXin:@"xiaodi://secttion?Schemes=news"];

}

//跳转到朋友圈界面

- (IBAction)timeLine {

[self openXiaodiWeiXin:@"xiaodi://timeLine"];

}

-(void)openXiaodiWeiXin:(NSString *)URLStr

{

//2.如何配置应用程序的URL的协议头: target (项目)- > info > URL Type >URL Schemes

//1.创建要跳转的应用程序的URL

NSURL *weixinURL = [NSURL URLWithString:URLStr];

//2.判断URL是否可以跳转

if ([[UIApplication sharedApplication]canOpenURL:weixinURL]) {

//跳转到另一个应用程序

[[UIApplication sharedApplication]openURL:weixinURL];

}

}

****************

APP — B

-(BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation

{

UINavigationController *nav = (UINavigationController *)self.window.rootViewController;

//消除动画,会先把当前的控制器压栈,返回会先返回原来的控制器,再返回主页

[nav popToRootViewControllerAnimated:NO];

ViewController *mainVC = [nav.childViewControllers firstObject];

NSString *urlStr = url.absoluteString;

if ([urlStr rangeOfString:@"secttion" ].length) {

//把传过来的Schemes 传到相应控制器(方便跳回原来的APP)

mainVC.appURLStr = urlStr;

//跳转到相应的控制器

[mainVC performSegueWithIdentifier:@"Secction" sender:nil];

NSLog(@"这是通过微信好友打开:%@",url);

}else if ([urlStr rangeOfString:@"timeLine"].length)

{

//跳转到相应的控制器

[mainVC performSegueWithIdentifier:@"TimeLine" sender:nil];

NSLog(@"这是通过微信朋友圈打开的%@",url);

}

return YES;

}

****ViewController.m

//使用UIStoryboardSegue 话,可以利用该方法传值

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender

{

if ([segue.identifier isEqualToString:@"Secction"]) {

SecttionViewController *secttionVC =  segue.destinationViewController;

secttionVC.appURLStr = self.appURLStr;

}

}

****相应要跳转的页面实现跳回原来的APP

/回到原来的APP

- (IBAction)BackToApp {

NSString *urlStr = self.appURLStr;

NSRange rangstring =[urlStr rangeOfString:@"xiaodi://secttion?Schemes="];//NSRangeFromString()

NSString *schemesStr =  [urlStr substringFromIndex: rangstring.length];

NSLog(@"%@",schemesStr);

NSString *schemesString = [NSString stringWithFormat:@"%@://",schemesStr];

NSURL *schemesUrl =[NSURL URLWithString:schemesString];

if ([[UIApplication sharedApplication]canOpenURL:schemesUrl]) {

[[UIApplication sharedApplication]openURL:schemesUrl];

}

}

//****************************************************

1.利用系统自带做分享 (看工程 友盟分享)

//1.测试平台是否可用

if (![SLComposeViewController isAvailableForServiceType:SLServiceTypeSinaWeibo]) {

NSLog(@"新浪微博分享是否成功,如果没有 请 设置界面 》新浪微博 》 设置新浪微博ID ");

}

//2.创建SLComposeViewController

SLComposeViewController *composeViewController = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeSinaWeibo];

//设置发送的文字

[composeViewController setInitialText:@"千年等一回,不要错过"];

//设置发送的图片

[composeViewController  addImage:[UIImage imageNamed:@"SSO"]];

//弹出发送界面

[self presentViewController:composeViewController animated:YES completion:nil];

//设置分享成功与取消的提醒

composeViewController.completionHandler = ^(SLComposeViewControllerResult result)

{

if (result == SLComposeViewControllerResultCancelled) {

NSLog(@"用户取消了分享");

}else

{

NSLog(@"用户点击了发送");

}

};

友盟SSO授权分享:

什么是SSO的授权方式呢?

大家常说的SSO的授权方式,其实全称是Single Sign-On,就是利用新浪微博、QQ空间、手机QQFacebook客户端来完成授权。对于用户来说可以省去输入账号密码,更方便安全,因此各大平台均建议开发者优先使用这一种授权方式。ShareSDK目前支持以下平台的SSO:新浪微博、腾讯微博、QQ空间、facebook、Pocket.

网址:http://dev.umeng.com/social/android/operation

当要用很自己手机的已经安装的软件进行分享某篇文章图片小视屏等等都可以使用

时间: 2024-10-23 16:20:01

应用程序间跳转 (友盟SSO 授权 与系统自带的分享)的相关文章

ios程序如何实现系统自带的分享

ios系统自带的分享,支持的平台非常有限, 国内的只有 新浪微博和 腾讯微博,但是程序要求不多的话,也可以直接使用系统自带的分享,也比较简单. 首先,需要导入系统自带的框架  #import <Social/Social.h> // 1.判断平台是否可用(就是手机设置里 的新浪微博 和腾讯微博 有没有账号登录) if (![SLComposeViewController isAvailableForServiceType:SLServiceTypeSinaWeibo]) { UIAlertVi

微信小程序小结(4) -- 分包加载及小程序间跳转

分包加载 某些情况下,开发者需要将小程序划分成不同的子包,在构建时打包成不同的分包,用户在使用时按需进行加载(主要是空间不够用,哈哈~). 在构建小程序分包项目时,构建会输出一个或多个功能的分包,其中每个分包小程序必定含有一个主包,所谓的主包,即放置默认启动页面/TabBar 页面,以及一些所有分包都需用到公共资源/JS 脚本,而分包则是根据开发者的配置进行划分. 在小程序启动时,默认会下载主包并启动主包内页面,如果用户需要打开分包内某个页面,客户端会把对应分包下载下来,下载完成后再进行展示.

关于友盟分享

友盟分享不单单是申请友盟分享的key就行了,在进行qq.微信的分享时还需要再额外申请key才行. 以下是官方给出的使用具体操作方法: 由于苹果审核政策需求,建议大家对未安装客户端平台进行隐藏,在设置QQ.微信AppID之后调用下面的方法,[UMSocialConfig hiddenNotInstallPlatforms:@[UMShareToQQ, UMShareToQzone, UMShareToWechatsession, UMShareToWechatTimeline]]; 1.  分享流

iOS友盟社会化分享完全攻略

1 简介 现如今几乎所有人都有社交账号和社交App,而分享功能也几乎随处可见.本文的目的在于介绍分享功能的基本实现.使用的是友盟的社会化分享组件,这样就不用一个一个对接各个平台的接口,可以使用一套接口来实现多个平台的分享功能.本文以分享到微信.QQ.微博为例. 2 开发者账号 这里说的不是创建苹果的开发者账号,而是创建友盟和各个要分享到的平台的开发者账号.和苹果开发者账号一样,要使用友盟的服务,要分享到各个平台,都需要对应的开发者账号去获取key. 2.1 友盟开发者账号及key 打开友盟的首页

如何使用友盟 Cocos2d-x 分享组件实现 Android/iOS 分享功能

Cocos2d-x作为一款优秀的跨平台游戏引擎,已经被越来越多的开发者使用,而在游戏中使用分享组件能够有效的提供用户粘性,通过分享回流来提高APP安装量,但是目前市面上能够在Cocos2d-x环境下使用的分享插件并不多,开发者们只能自己对原生分享SDK进行封装来实现,前一段时间友盟推出Cocos2d-x分享组件,能够帮助开发者快速集成.友盟也把组件的源码放在GitHub上,有好的想法也可以直接在GitHub上修改(PS.在GitHub上提bug可以获得友盟的小奖品),同样也可以对源码进行学习,对

友盟数据战略大动作抢先看

友盟最新数据显示,2014年第三季度,中国活跃智能设备已经超过9亿,增幅达8.4%. iPhone6 和 iPhone6 plus 发布一个月的一个月内,国内活跃总量增长已达14倍.用户通过4G联网的启动次数比2014年初增长30倍,4G用户由华北华东向全国各地区扩散.可以想象,这些数据的背后,是海量的真实用户,他们或是游戏玩家.或是小说迷.社交达人… 在这个庞大的移动生态里, App 开发者对用户数据的需求,不再停留在“数量”层面的统计,他们更想知道的是“这些用户从哪里来?是不是 App 的有

从友盟微社区看Android第三方SDK架构实践【转载】

从友盟微社区看Android第三方SDK架构实践[转载] “先写在前面吧,本来想通过链接来转载这篇文章,发现没找到有相关的按钮.上网查了一下,都说博客园没有这功能.我在博客园也有一段时间了,鼓励原创是必须的,不过适当的转载也算是一种将有价值的文章进行分享的方式,不知道以后会不会支持呢!” 原文链接:http://www.csdn.net/article/2015-05-08/2824648-micro-community 摘要:第三方SDK的开发需要考虑很多因素,比如稳定性.灵活性等,并且还要做

“开发数据无线潜能”友盟年末战略发布会开始抢票了!

来自友盟的最新数据:中国活跃智能设备已经超过9亿,国内通过4G联网的启动次数比2014年初增长了30倍--可以想象,这些数字的背后,是海量的真实用户,他们或是游戏控.或是动漫迷.90后.社交达人- 在这个庞大的移动互联网生态里,开发者对用户数据的需求,不再停留在"数量"层面的统计,他们更想知道的是"这些用户从哪里来?是应用的核心用户吗?他们深层的喜好和需求是什么--",友盟希望通过回答这些问题与从业者一起将应用数据的价值发挥到最大化. 作为中国最大的移动开发者服务平

SSO第三方登录友盟微信登录失败

提示错误 2015-11-25 14:28:56.019 zhiyingbao[41611:2083144] -[VC_signIn weichetLogIn] 2015-11-25 14:28:56.019 zhiyingbao[41611:2083144] 注意,使用友盟社会化组件的微博SSO功能,需要按照文档要求在xcode设置url scheme! 解决 猫猫一步步的都做了,按照友盟的,结果发现犯错了..忘了设置URL schemes 如图,需要讲已经申请好的放进去 微信友盟第三方登录全