博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
iOS 9 的新功能 universal links
阅读量:7057 次
发布时间:2019-06-28

本文共 1814 字,大约阅读时间需要 6 分钟。

什么是 universal links: (通用链接) 一种能够方便的通过传统 HTTP 链接来启动 APP, 使用相同的网址打开web page和 APP的方式。

第一点,链接打开网址 顾名思义

第二点,链接打开app, 通常 我们都会用 url scheme(schema)  就是 在info 中 可以配置几个目标需求app的 一个 schema (关键key 唯一应用标识),然后使用 openUrl 方法打开. 这里用 链接打开.  

原因: (1)schema 方式容易暴露用户数据:如果有人拿到 schema 利用 AppDelegate 里面 canOpenURL:方法  就可以知道 用户手机里面 都安装了啥 ,  我也不知道  为什么有这么多人会取巧 用在了 外门邪道,当然 苹果疾恶如仇 , 在iOS9里面 对该策略有了限制,不能 用 跑代码的方式来检测 用户APP安装使用情况了 

        (2)schema 容易重复: 很可能 没有交集的两个开发团队 取了相同的 url scheme 名字,然后 iPhone自己蒙圈了,到底该怎么办,然后手机default状态 没有任何处理 ,接着用户就会不知道该干啥: “我刚刚不是点了那个按钮么,这个手机卡住了还是怎么着 没反应呢”?

        (3)universal links 不仅仅能解决以上两个问题 (没错 更安全 不怕信息泄漏 有人再检测 你手机app列表了, 域名唯一了),而且 是上下文链接紧密的,你可以直接跳转已经安装的app或者 跳转去下载这个应用 或者其他 的链接什么的

服务端操作:         

这个 universal links 需要服务端的小伙伴 帮忙处理一下,注册一个域名,比如 作为我们的universal link.

(1)首先需要购买SSL证书,为了 使用 SSL通过 get 请求访问到访问域名(以及下面的JSON)

(2)然后配置一些服务

“支持上传一个 JSON 文件到你的域名” :这个需要在服务器的根目录下面,添加文件名为apple-app-site-association(没有后缀)的一个文件,然后在里面添加上如下的内容:

{    "applinks": {        "apps": [],        "details": [            {                "appID": "XXXXXXXX",                "paths": [                    "/videos/\*"                ]            }        ]    }}

关键 是 appId  是 开发者账号的 teamId 和 app的bundleId 拼成的 例如:

teamId +  “.” + bundleId  拼写成的字符串

客户前端操作:

注册你的App,使其能够处理universal links

需要在 Xcode 的 capabilities 里 添加你的 app 域名, 必须使用 “applinks:”作为前缀还添加一些你可能拥有的子域和扩展(www.xxxx.com, tests.xxxx.com 等等)。

 

然后就可以用 目标链接 放在 safari 里 测试 看看能不能跳转应用 ,或者 去下载应用了.

有类似的第三方,使用集成的方式 ,不需要我们域名的问题,只需要 提供 teamId, 然后为我们生成一个”短链接”,把这个链接 放在微信 或者  safari里 就可以一键跳转应用 或者提示去下载应用了.

然后 根据需求 是打开页面 还是怎么的处理方法

 

因为 这个iOS9的新特性么,,如果 你还要支持 相对比较低的版本 一定要有预判断, 不然 会导致crash.  并且 很有可能 苹果 不测试这种问题 ,你的应用就上线了,等用户受影响了才反应过来.还得加急重新打包

都是血泪经验: 我们项目 使用 iOS9 font 然后仍然有相当一部分 iOS7的用户反馈 开启就闪退.没招  我们好多用户都钟情低版本 不愿意升级. 然后 我们紧急 修复这个问题 重新上架.(苹果 根本没审核低版本系统好吧~)

备注: 测试拿真机 ,  模拟器 不好使

转载于:https://www.cnblogs.com/someonelikeyou/p/5567870.html

你可能感兴趣的文章
Guava学习-缓存
查看>>
hexSHA1散列加密解密(不可逆)
查看>>
Pinterest架构:两年内月PV从零到百亿 - 非常值得参考【转】 - HorsonJin - 博客园...
查看>>
Swift设置自动行高
查看>>
171. Excel Sheet Column Number
查看>>
简单深搜
查看>>
关于获取客户端Mac地址
查看>>
紫书 例题 10-9 UVa 1636 (概率计算)
查看>>
51nod 01背包
查看>>
outlook anywhere 配置
查看>>
冲刺一 (day 3)
查看>>
Beep使用
查看>>
关于php网络爬虫phpspider。
查看>>
OpenGL的glRotatef旋转变换函数详解
查看>>
c#中 ==与equals有什么区别
查看>>
Oracle Group By ROLLUP-SubTotal
查看>>
PHP 正则表达式
查看>>
Computer Graphics Research Software
查看>>
nodejs进阶(2)—函数模块调用
查看>>
java面向对象高级分层实例_BaseDao
查看>>