Android applink 踩坑指南
Android applink 踩坑指南
- 原理
- 接入步骤
- 将链接与activity关联起来
- 加入meta data
- 生成身份验证JSON
- 真机测试
- 结论
- 官方文档
原理
与url scheme不同的地方在于协议必须是http或者https(但是经测试http无效),不能随便自定义协议头。
首先通过Android studio的工具帮助我们生成一个验证安装的app的信息的json文件(或者自己写也可以),里面主要包括app签名等可以用于验证身份的信息,放在https服务器上,首次安装app的时候会自动向服务器请求该json文件,验证目前安装的app是否正确未被第三方篡改。验证成功后会把app加入到链接处理政策列表中,当点击该链接时会自动选择使用app打开,不会弹选项框让用户选择是通过浏览器还是app打开该链接。
接入步骤
Android studio为我们提供了工具可以使applink的接入变得简单
总有4个步骤
将链接与activity关联起来
可以在pathvalues那里填需要从链接传过来的参数,url需要和你的https服务器url一致,不能像url scheme一样随便填。 activity就是你跳转过来之后要展示的页面。
其实就是帮我们在manifest.xml里面加了一个intent-filter:
加入meta data
在Androidmanifest.xml里的application里加入
<meta-dataandroid:name="asset_statements"android:resource="@string/asset_statements" />
然后在strings.xml里加入
<string name="asset_statements" translatable="false">[{"include": "https://你的服务器域名/.well-known/assetlinks.json"}]</string>
生成身份验证JSON
site domain要与上一个步骤里填的url一致,这个服务器是用来存放下面生成的JSON的。
选择一个签名文件,点击generate digital asset links file,生成用以验证身份的json,生成的JSON里最下面那一行就是签名文件的SHA。
官方这个步骤和描述很有误导性,其实不是把JSON文件放到服务器上,而是要以接口的形式返回JSON的内容,返回报文格式必须是application/json
点击下面的link and verify 可以验证是否能正确访问服务器的JSON
真机测试
经测试applink assistant的test app links 不好用,它只能以debug包进行测试,而且每次测试都失败。
打包一个release包(签名文件要与生成JSON用的一样),安装之后需要等待一段时间用以身份验证,Google官方说20s,经测试不止,华为需要几分钟,小米甚至需要十几分钟。验证成功后在手机本地(如备忘录)里点击url即可跳转到app,且不会弹框让用户选择使用浏览器还是app来打开这个链接。
可以这个命令来查看你的url是否加入到了链接处理策略列表里
adb shell dumpsys package domain-preferred-apps
这个status:always就是成功了,ask是没成功,需要询问。
结论
不好用,华为可以正常使用,本地点链接就直接打开app,但是小米6X不稳定,也是没有弹框,但是有时候打开了浏览器有时候打开了app。并且只能点本地链接(如备忘录、短信),在html里使用windo.herf.location = “链接” 来跳转,在浏览器里可以成功,微信里还是会被拦截
官方文档
[1]https://developer.android.com/studio/write/app-link-indexing.html
[2]https://developer.android.com/training/app-links/verify-site-associations#web-assoc
Android applink 踩坑指南相关推荐
- android手机屏幕共享神器踩坑指南
开源项目地址:https://github.com/Genymobile/scrcpy scrcpy,由 Genymobile 推出的可跨平台的.可自定义码率的.开源的屏幕共享工具.它提供了在 USB ...
- android 字体文件压缩,Android 字体使用踩坑指南
Android 字体使用踩坑指南 最近项目改版,根据ui的设计,需要使用到三字体.在使用过程中遇到一些坑,于是有了这个避坑指南! 字体压缩 第一个坑!字体库的体积太大. 字体压缩的前提是要使用的内容是 ...
- 我的域名注册踩坑指南
我的域名注册踩坑指南 一.前言 二.目前拥有的纯字母域名 ds.mba csu.asia mpkq.org impkq.com openhm.com okotlin.com ktanjava.com ...
- ARouter踩坑指南
文章目录 ARouter踩坑指南 导读 添加依赖和配置问题 ARouter Helper插件使用问题 Kotlin中使用注解@Autowired获取参数问题 进阶用法通过URL跳转理解 使用withO ...
- weex 一个传说级巨坑-- 2018最新版weex踩坑指南(weex navigator 多界面跳转)
先说结论,本人极度非常 不推荐weex作为任何商用开发 有很多人会说了... 你瞎扯.. 你看别人阿里.. 啊飞猪... 啊那个支付宝... 人家不是用得好好的么... 当然这也是我们公司作为技术选型 ...
- pytorch .item_从数据到模型,你可能需要1篇详实的pytorch踩坑指南
原创 · 作者 | Giant 学校 | 浙江大学 研究方向 | 对话系统.text2sql 熟悉DL的朋友应该知道Tensorflow.Pytorch.Caffe这些成熟的框架,它们让广大AI爱好者 ...
- tabbar角标 小程序_【沃行课堂】恭喜你遇到“坑”,小程序踩坑指南
上周我们的开发小哥哥带领我们一起领略了开发中遇到的各种问题,以及基于SaaS模式的平台技术架构及实现.本周我们换个方向,由高级开发工程师秋哥带领大家共同探讨下小程序开发中踩过的坑.秋哥会从公司的几个小 ...
- Git Commit Message校验踩坑指南
背景 在团队多人开发中,规范的commit message可以快速定位代码提交历史,回溯问题根源,方便组内多人协作,提高团队效率. 本篇文章主要包含以下两方面内容: commitizen/cz-cli ...
- MacBook通过XGP玩女神异闻录5皇家版不踩坑指南
XGP是微软Xbox游戏通行证服务,全称Xbox Game Pass,俗称西瓜皮. 女神异闻录5皇家版(P5R)登录了全平台,XGP会员可以通过云游戏在MacBook中游玩,本篇为MacBook玩P5 ...
最新文章
- 中山大学2016年硕士研究生入学考试复试基本分数线
- websocket协议
- CSDN在文章头部添加目录
- 别放任这些小毛病不管!它会扩大还会造成重大危险
- Spring MVC集成测试:断言给定的模型属性有全局错误
- 可视化流程设计器 Activiti Designer
- 魔兽世界联盟物价稳定的服务器,一个残酷的真相!在《魔兽世界》怀旧服,女生一般都爱选联盟...
- java时间格式转换_Java时间日期格式转换
- win10 系统Docker搭建设备共享平台stf(三)
- linux文件系统F2FS,文件系统F2FS也将造福SSD
- 【001】半电池的开路电压测试_#LIB
- XCode 6.x 越狱 真机调试
- 画坦克__线程__V1__第一种方法创造线程
- 关键路径法与关键链法区别
- cocos2dx 更改精灵图片方法
- 手机短信息被误删怎么办?最常用的恢复小技巧
- 当前安全设置不允许下载该文件
- Java核心技术卷1扫盲笔记
- 仿真分析 SIMULATION
- mysql基本知识学习
热门文章
- 如何围绕某一轴(不是xyz)旋转——transform.RotateAround
- asn.1 rsa java_android - RSA公钥生成失败:“错误:0c0000be:ASN.1编码例程:OPENSSL_internal:WRONG_TAG” - 堆栈内存溢出...
- java显示图片缩略图_java中生成图片的缩略图
- 怎么实现MindMapper中剪贴画的添加
- OSChina 周四乱弹 —— 作为黑洲非人都不能玩游戏了
- OSChina 周五乱弹 ——妹子喜欢我的幻觉封印怎么破除
- 深入理解java虚拟机-笔记
- 【论文分享】★★★「SOTA」小样本图神经网络分类模型 HGNN:Hybrid Graph Neural Networks for Few-Shot Learning
- youku吉他弹唱视频
- 三种Android图片压缩方法 压缩到指定大小