之前对于app下载链接的统一处理是安卓使用apk下载,iPhone跳转App Store。
现在小米联合华为、OPPO、vivo四大品牌推出了统一链接服务(Onelink)功能。
一、什么是统一链接服务
统一链接 Onelink 是由小米、华为、OPPO、vivo(排名不分前后)厂商联合推出的一项开放式服务,旨在为全网开发者提供更便捷、更统一的「应用链接」解决方案。
借助统一的URL封装能力,开发者可以轻松创建适用于各种厂商和平台的应用链接,实现一个链接跨品牌、跨平台的应用推广和传播,为开发者的应用推广提供了更多可能性的同时,也为用户提供更加统一和无缝的应用获取体验。
用户触发链接后跳转链路
通过这项服务,开发者可以更加灵活地进行应用推广和分发,极大提升安装转化率。
无需研发成本,小米应用商店在架应用均可申请
二、统一链接服务对开发者的价值
- 跨平台通用:多端支持,兼容安卓、鸿蒙、iOS、PC,开发者可在开放平台免费获取和配置统一链接。
- 便捷唤起下载服务:小米、华为、苹果、OPPO、vivo设备已支持统一链接无缝唤起官方商店下载服务,也支持开发者对其他品牌设备配置自定义跳转页面。
- 数据统计:提供链接访问等数据的统计服务,帮助开发者了解链接的使用情况。
三、配置和应用
平台会提供一个默认的下载链接,同时,也可以新增链接
Onelink生成后,可以做app下载跳转的中间页了。
根据不同手机品牌,我们会跳转到不同的应用市场,首先是判断手机的品牌
需要注意,引用MobileDetect设配识别
<script src="https://dci-file.cdn.bcebos.com/web/signin.fontree.cn/js/mobile.min.js"></script>
<script src="https://cdn.bootcdn.net/ajax/libs/mobile-detect/1.4.5/mobile-detect.min.js"></script>
方法调用,获取品牌
function judgeBrand(sUserAgent) {
// 区分iPhone、小米、OPPO、vivo、华为、荣耀品牌,剩下的统一走应用宝下载链接
var isIphone = sUserAgent.match(/iphone/i) == 'iphone';
var isIphones = sUserAgent.match(/AppleWebKit/i) == 'AppleWebKit';
var isHuawei = sUserAgent.match(/huawei/i) == 'huawei';
var isHarmonyos = sUserAgent.match(/harmonyos/i) == 'harmonyos';
var isHonor = sUserAgent.match(/honor/i) == 'honor';
var isOppo1 = sUserAgent.match(/pjv/i) == 'pjv';
var isOppo2 = sUserAgent.match(/heytap/i) == 'heytap';
var isVivo = sUserAgent.match(/vivo/i) == 'vivo';
var isXiaomi1 = sUserAgent.match(/xiaomi/i) == 'xiaomi';
var isXiaomi2 = sUserAgent.match(/miui/i) == 'miui';
var isRedmi = sUserAgent.match(/redmi/i) == 'redmi';
if (isIphone || isIphones) {
return 'iPhone';
} else if (isHuawei || isHarmonyos || isHonor || isOppo1 || isOppo2 || isVivo || isXiaomi1 || isXiaomi2 || isRedmi) {
return 'onelink'
} else {
return 'yingyongbao'
}
}
微信不支持直接在微信浏览器中打开应用市场,需要跳转到浏览器,从系统浏览器中访问
var weixin = navigator.userAgent.toLowerCase();
// 判断是否是微信浏览器打开
if (weixin.indexOf('micromessenger') !== -1) {
var md = new MobileDetect(window.navigator.userAgent);
var os = md.os();//获取系统
let ua = md.ua;
let mobile = judgeBrand(ua.toLowerCase());
// iPhone直接跳转App Store下载,安卓从浏览器中跳转应用市场
if(mobile == 'iPhone') {
window.location.href = 'xxx';
} else {
$('.page').append(`<div id="warn" style="position: absolute;top: 0.2rem;">
<img src="./tixing.png" alt="" style="width: 6.18rem;height: 4.45rem;">
</div>`);
}
} else {
// 其他浏览器
var md = new MobileDetect(window.navigator.userAgent);
var os = md.os();//获取系统
let ua = md.ua;
let mobile = judgeBrand(ua.toLowerCase());
let url = ''
// 平台下载链接
switch (mobile) {
case 'iPhone':
url = 'xxx'
break;
case 'yingyongbao':
url = 'xxx'
break;
case 'onelink':
url = 'xxx'
break;
}
window.location.href = url;
}