应用程序间跳转和社交分享
2016-04-27 本文已影响244人
Mg明明就是你
一. 应用程序间跳转
1. 什么是应用间跳转,有什么作用?
- 应用场景
1. 使用第三方用户登录,需要用户授权,还需要"返回到调用的程序,同时返回授权的用户名"
2. 应用程序推广,网易彩票,设置-推荐应用-有很多应用程序图标如果本机已经安装过,会直接跳转到另外一个应用程序, 软件的广告,推广结果,后续会有一些列的金钱上的结算
3. 支付宝,第三方支付,淘宝,电话费充值。。。
2. 应用程序间跳转实现?
直接打开对应APP的scheme即可
-
概念须知
> URL : 统一资源定位符 scheme(协议头) : 决定通过什么方式查找资源 http:// ftp:// tel:// file:// path(路径) : 资源路径 www.baidu.com 192.168.1.1/资源 110 /User/Desktop
-
设置方式
> 默认情况下应用程序是没有自己的URL的,如果想要拥有自己的URL,需要设置URL 项目 -> info -> URL Types -> URL Scheme
-
打开方式
代码: [[UIApplication shareApplication] openURL:appURL];
-
跳转到对方APP, 对方APP执行的代理方法
-(BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url { }
-
iOS9.0跳转适配
在info.plist文件中添加LSApplicationQueriesSchemes 字段 ,是数组类型
6.具体操作流程
跳转的代码如下:
1. 应用场景
上面已经说明
2. 要打开本机上的其他应用程序,需要设置schemes,自定义的协议头,可以打开其他的应用程序
- (IBAction)openWangyi:(id)sender
{
// 跳转到其他应用程序
// schemes: 网易的scheme wangyi
NSURL *url = [NSURL URLWithString:@"wangyi://view?newsid=201410130001"];
// 判断本机是否安装了目标程序
if ([[UIApplication sharedApplication] canOpenURL:url]) {
[[UIApplication sharedApplication] openURL:url];
} else {
NSLog(@"没有安装,可以再给定下载地址,前往");
}
}
3. 新浪微博的授权界面说明:
1> 在新浪微博中,本身不能直接跳转到该界面
2> 用其他应用程序打开时,如果scheme时weibo://oaauth,直接进入此界面
3> 如果直接点击,返回,返回调用的应用程序
4> 如果点击表格行中的用户名,直接返回用户信息给调用应用程序
4. 如果要返回调用的应用程序,需要知道调用我们的应用程序的scheme
// 旧方法
/** 只要是由其他应用程序打开的,就会调用此方法 */
/** URL 就是其他应用程序,打开当前程序使用的URL */
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url
// 新方法
/**
openURL 是打开当前应用程序的url
sourceApplication 是当开当前应用程序的源程序的BundleId
提示:一旦重写了新方法,旧方法就不再被执行
但是:很多第三方框架,都建议两个方法全都写
*/
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation```
---
# 二. 社交分享
### 1. 什么是社交分享, 有什么作用?
- 通过用户的分享,让更多的人去了解和使用这个App
- 目前移动互联网应用程序推广的最重要手段之一
- 属于口碑营销的范畴,经典成功案例是《疯狂猜图》
### 2. 社交分享的实现方案
- 1.系统自带社交分享
1. 导入Social.framework
2. 判断服务是否可用
[SLComposeViewController isAvailableForServiceType:SLServiceTypeSinaWeibo];
3. 弹出分享内容输入界面
SLComposeViewController *cc = \[SLComposeViewController composeViewControllerForServiceType:SLServiceTypeSinaWeibo];
[self presentViewController:cc animated:YES completion:nil];
4. 额外设置
[cc setInitialText:@"测试文字"]; // 初始化文字
[cc addImage:[UIImage imageNamed:@"lufy"]]; // 配图
- 2.第三方SDK实现(友盟分享)
下载地址: [http://www.umeng.com/]
1. 申请账号,创建应用
2. 下载SDK
3. 参照集成文档
- 3.社交分享的一些建议
- 远程通知-由服务器、开发商向用户推送消息
- 社交分享-App的用户主动分享他们的经验和心得 - 口碑营销
========================================================
SSO - 目前在国内使用比较多,如果本机安装了某个应用程序,会直接进入该应用程序获得授权。
URL Schemes填"sina."+你的友盟AppKey.实现下面两个系统回调:========================================================
强烈推荐大家使用的框架:友盟的统计分析
关注官方网站:http://bbs.umeng.com/forum-social-1.html