应用程序间跳转 (友盟SSO 授权 与系统自带的分享)
应用程序间跳转的应用场景
- 使用第三方用户登录,如微信登录,返回用户名和密码
- 需要用户授权,返回到调用程序,同时返回授权的用户名
- 应用程序推广,跳转到itunes并显示指定app下载页
- 第三方支付,跳转到支付APP,如支付宝,微信钱包
- 显示位置及导航功能时,跳转到第三方地图应用。
- 打电话、发邮件、发短信、打开网页等,跳转到内置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空间、手机QQ和Facebook客户端来完成授权。对于用户来说可以省去输入账号密码,更方便安全,因此各大平台均建议开发者优先使用这一种授权方式。ShareSDK目前支持以下平台的SSO:新浪微博、腾讯微博、QQ空间、facebook、Pocket.
网址:http://dev.umeng.com/social/android/operation
当要用很自己手机的已经安装的软件进行分享某篇文章图片小视屏等等都可以使用
应用程序间跳转 (友盟SSO 授权 与系统自带的分享)的更多相关文章
- 微信小程序小结(4) -- 分包加载及小程序间跳转
分包加载 某些情况下,开发者需要将小程序划分成不同的子包,在构建时打包成不同的分包,用户在使用时按需进行加载(主要是空间不够用,哈哈~). 在构建小程序分包项目时,构建会输出一个或多个功能的分包,其中 ...
- iOS 程序间跳转传参(支付和地图)
两个APP之间的跳转是通过[[UIApplication sharedApplication] openURL:url]这种方式来实现的. 1.首先设置第一个APP的url地址 2.接着设置第二个AP ...
- 友盟错误日志分析(转自:COCOACHINA shemy )
在做的项目中,用到了友盟的组件,在没有禁用错误日志上传之前,收集了一些错误日志. 有一些朋友看到了错误日志,却不知道怎么定位到程序的的代码中,实际上,这一步是非常的简单.友盟没有集成.dSYM文件 ...
- Android之友盟多渠道打包与数据统计
文章大纲 一.多渠道打包与数据统计介绍二.友盟实现多渠道打包实战三.友盟数据统计实战四.项目源码下载五.参考文章 一.多渠道打包与数据统计介绍 多渠道打包,相信很多同学都知道.在Android ...
- iOS 友盟推送,应用内推送启动图推送闪动黑屏,插屏推送方法报错
以前都是用的极光推送,应公司需求要求使用友盟推送,为了以后是有分享都适用,,, 友盟推送文档,下载demo 感觉比极光用着要简单顺手 一切就绪后,开始发送消息测试,,,,,搞了半天没有发过来消息 原来 ...
- cocos2dx集成友盟社会化分享图片崩溃问题
本人不懂oc,一步一步按照友盟的文档做,好不容易把分享做好了,结果在 分享图片的时候宕掉了.各种测试,搞了一下午终于搞定了. 如下是友盟文档的做法,错误就在[UIImage imageNamed:@& ...
- 使用openURL实现程序间带参数跳转详解
使用openURL实现程序间带参数跳转详解 实现的效果:有两款应用A与B,A打开B A --> B 1. 新建工程B,bundle ID为com.YouXianMing.B 建立一个URL 这么 ...
- 微信小程序里如何使用npm?小程序集成友盟举例
1.执行npm初始化指令 小程序根目录,命令执行如下指令: npm init 执行后会让加载项目初始信息,具体截图如下: 2.执行安装npm包指令 在这我们举个例子,以接入友盟统计SDK为例,执行命令 ...
- Android集成友盟社会化分享功能
1. 产品概述 友盟社会化组件,可以让移动应用快速具备社会化分享.登录.评论.喜欢等功能,并提供实时.全面的社会化数据统计分析服务. 指南将会手把手教你使用社会化组件SDK,用5分钟为APP增加新浪 ...
随机推荐
- MVC - 16.MVC过滤器
filter n. 滤波器:[化工] 过滤器:筛选:滤光器 vt. 过滤:渗透:用过滤法除去 1.过滤器表 过滤器类型 接口 默认实现 描述 Action IActionFilte ...
- How many Fibs?【sudt 2321】【大数的加法及其比较】
How many Fibs? Time Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^ 题目描述 Recall the definition of t ...
- POJ3321 Apple Tree(树状数组)
先做一次dfs求得每个节点为根的子树在树状数组中编号的起始值和结束值,再树状数组做区间查询 与单点更新. #include<cstdio> #include<iostream> ...
- <转>Hibernate的优、缺点(局限性)
本文原文链接:http://hi.baidu.com/ko22223/item/dd9f6900015adc036d904877 一.Hibernate是JDBC的轻量级的对象封装,它是一个独立的对象 ...
- Beego框架使用
go get github.com/astaxie/beego vim hello.go package main import "github.com/astaxie/beego" ...
- PathFinding.js 寻路类神器
最近有打算写个迷宫玩玩,无意中发下了这个库,很强大!又是开源在github的,并且有一个相当酷的demo.这个库不仅支持浏览器端的运行,而且可以运行在node.js上.怎么用到服务器上这里就不涉及了, ...
- 智能车学习(十二)——智能车原理
一.直立行走任务分解 1.任务分解 (1) 控制车模平衡:通过控制两个电机正反向运动保持车模直立平衡状态 (2) 控制车模速度:通过调节车模的倾角来实现车模速度控制,实际上最后还是演变成通过控制电机的 ...
- 对于JSP的调试
在eclipse中调试JSP 我换了图片但是网页中的图片却不变化 我删了工程里的图片还是没用 看了一下Tomcat根目录..貌似也是没有的.. 最后我考虑换了HTML中图片的名字..并且更改了替换的图 ...
- Hbase系统架构
HBase 系统架构 HBase是Apache Hadoop的数据库,能够对大型数据提供随机.实时的读写访问.HBase的目标是存储并处理大型的数据.HBase是一个开源的,分布式的,多版本的,面向列 ...
- 【zTree】 zTree使用的 小例子
使用zTree树不是第一次了 但是 还是翻阅着之前做的 对照着 使用起来比较方便 这里就把小例子列出来 总结一下使用步骤 这样方便下次使用起来方便一点 使用zTree树的步骤: 1.首先 在 ...