iOS分享世界iOS Developer橙红科技有限公司

应用程序间跳转和社交分享

2016-04-27  本文已影响244人  Mg明明就是你

一. 应用程序间跳转

1. 什么是应用间跳转,有什么作用?

- 应用场景
    1. 使用第三方用户登录,需要用户授权,还需要"返回到调用的程序,同时返回授权的用户名"
    2. 应用程序推广,网易彩票,设置-推荐应用-有很多应用程序图标如果本机已经安装过,会直接跳转到另外一个应用程序, 软件的广告,推广结果,后续会有一些列的金钱上的结算
    3. 支付宝,第三方支付,淘宝,电话费充值。。。

2. 应用程序间跳转实现?

直接打开对应APP的scheme即可

  1. 概念须知

     > URL : 统一资源定位符
         scheme(协议头) : 决定通过什么方式查找资源 http:// ftp:// tel:// file://
         path(路径) : 资源路径 www.baidu.com 192.168.1.1/资源 110 /User/Desktop
    
  2. 设置方式

     > 默认情况下应用程序是没有自己的URL的,如果想要拥有自己的URL,需要设置URL
         项目 -> info -> URL Types -> URL Scheme
    
  3. 打开方式

     代码:
         [[UIApplication shareApplication] openURL:appURL];
    
  4. 跳转到对方APP, 对方APP执行的代理方法

     -(BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url
     {
     
     }
    
  5. 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
上一篇下一篇

猜你喜欢

热点阅读