universal link使用

摘要:
在iOS 9之后,苹果推出了通用链接方案,该方案比urlscheme有显著改进。将apple应用程序站点关联文件上载到HTTPS Web服务器的根目录或的子目录。众所周知的

iOS9之后,苹果推出了universal link方案,该方案较url scheme有明显的改善。url scheme很难做到唯一。

而 universal link却是你自己控制的。

1、有一个HTTPS 的web server服务器,这个域名就是用来做universal link的。 

2、建立一个json文件,命名为apple-app-site-association 注意不要有后缀。文件里的内容为一段json:

{
"applinks": {
"apps": [],
"details": [
{
"appID": "TEAMID.BUNDLEID",
"paths": [ "*"]
}
]
}
}

//TEAMID替换为你的付费Apple ID的team id. BUNDLEID替换为你的应用的包名

paths为路径,* 万能匹配符,具体的路径可以在数组中添加。

将apple-app-site-association这个文件上传到HTTPS web服务器根目录或者.well-known的子目录。

3、配置Xcode.打开Capabilities里的Associated Domains,在里面添加你的web server域名。

格式为:applinks:baidu.com //baidu.com替换为你的web server域名,注意域名的正确性,后面不要有/结束符,以applinks:为前缀

确保在开发者后台Apple Developer网站你的App Id包含Associated Domains功能。

4、在AppDelegate的代理方法中处理用户的点击事件

-(BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void (^)(NSArray * _Nullable))restorationHandler{

    // NSUserActivityTypeBrowsingWeb 由Universal Links唤醒的APP

    if ([userActivity.activityTypeisEqualToString:NSUserActivityTypeBrowsingWeb]) {

        NSURL *webpageURL = userActivity.webpageURL;

        NSString *host = webpageURL.host;

        if ([host isEqualToString:@"api.r2games.com.cn"]) {

            //进行我们需要的处理

            NSLog(@"TODO....");

        } else {

            NSLog(@"openurl");

            [[UIApplication sharedApplication]openURL:webpageURL options:nil completionHandler:nil];

//            [[UIApplication sharedApplication]openURL:webpageURL];

        }

    }else{

        NSLog(@"UNKNOWN");

    }

    return YES;

}

 

 

测试:苹果提供了一个链接来测试你的apple-app-site-association文件是否有效。

测试会告诉你哪些地方需要改进,测试没有通过也没有关系,可以直接在浏览器输入你配置的web server域名来测试。

https://search.developer.apple.com/appsearch-validation-tool/

universal link的一个好处了,这个网页你可以在里面做很多处理,包括用户的点击响应。如果手机上装了该app,则网页会提示在app中打开。如果没有安装app的话也可以引导玩家去苹果商店下载。

免责声明:文章转载自《universal link使用》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇如何使用C#进行Visio二次开发JavaScript缓动插件介绍下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

alpha项目展示

【软工小白菜】alpha项目展示 一、团队简介 姓名 帅气的个人照 个人介绍 定位 博客地址 祝世雷 会一点c/c++, java,python,6系菜鸡,喜欢被带飞的感觉 开发/测试 链接 陈卓 接触过c/c++/c#,java,会一点点python。希望组里的大佬们可以带飞我 开发/测试 链接 赵博名 6系菜鸡,虽然有3年编程经历...

免费实用的录屏工具!支持全屏、特定窗口、选定区域录制,支持添加水印、嵌入摄像头!

此文转载自:https://blog.csdn.net/xiaoxueyaoxuexi/article/details/110451840#commentBox 哈喽大家好,我是菌菌~ 在线授课、游戏录制、视频编辑、网上会议……现如今,视频录制非常火爆,一款好用的视频录制工具自然必不可少。 今天,菌菌就给大家分享3款免费又好用的电脑录屏工具,一起来看看吧!...

Ubuntu apt-cache命令查找可用软件包

本文GoFace给大家讲解下在Ubuntu及相同包管理的linux系统下如何查找可用软件包。在Ubuntu上大家一般使用apt-get安装软件,如果想查找某一包软件仓库中是否有,并不是使用apt-get search或apt-get –list,而使用apt-cache命令。 apt-cache search string //在源软件列表中查找相应的...

Android Studio最新配置教程2016

http://blog.csdn.net/wen_demo 一、Android studio 基本简单介绍 1.Android studio和Eclipse的差别: 1、Studio中有Project和Module的概念,Studio中一个窗体仅仅能有一个项目,即Project,代表一个workspace。可是一个Project能够包括多个Modul...

Mac开发者常用的工具

在写 Mac 程序员的十个武器之前,我决定先讲一个故事,关于 Mac 和爱情的。(你们不是问 Mac 和爱情有个鸟关系吗?) 从前有一个孩子叫做小明,他不是高帅富,与高大上也毫无瓜葛,只有低调、无聊和内涵。他住在全国房价最贵的城市,租着最贵的单间,写着各种垃圾或垃圾回收的代码,干着程序员这份前途若有若无的职业,一切都朝着注定孤独一生的方向发展着,如果没有变...

实战|手把手教你如何使用抓包神器MitmProxy

大家好,我是阿辰,今天教大家如何使用MitmProxy抓包工具。 玩爬虫的小伙伴都知道,抓包工具除了MitmProxy外,还有Fiddler、Charles以及浏览器netwrok等 既然都有这么多抓包工具了,为什么还要会用MitmProxy呢??今天教大家使用MitmProxy抓包工具的原因,主要有以下几点: 不需要安装软件,直接在线(浏览器)进行抓...