虾分发文档中心
发布与下载
APP 应用托管不再被贴上 “高门槛、高成本” 标签 小团队也能使用稳定的 APP 应用托管 一站式高稳定APP分发,解锁开发者高效运维新体验 一站式内测分发,助力产品触达海量精准测试用户 一款优质App的成功离不开高效稳定分发渠道 告别分发内耗,内测分发高效解决方案 高效安全的一站式APP内测分发平台 APP分发商业经济层面:数字经济重要基础设施 App分发平台扮演着越来越重要的角色 个人开发app可以在虾分发平台分发? 选择高效的APP内测分发托管 APP分发内测托管平台:一站式APP内测分发托管,让开发测试高效省心 虾分发App分发平台是开发者的好帮手 APP分发平台 一站式APP应用内测平台 中小企业APP分发周期落地节奏(两套主流模式) 全功能精简适配,匹配小企业APP分发需求 APP分发全面适配小企业,轻量化解决中小团队分发痛点 好用的APP分发平台体验,藏在每一处细节里 一站式极简APP分发,让运营推广省心高效 APP分发的价值体现在哪些方面? 开发者的高效分发平台 H5 APP 封装完整技术指南(零基础也能上手) 高效稳定APP内测分发工具,选APP分发一站式解决分发难题 App 分发平台:开发者的好帮手 让每一次分发都成为增长的起点 虾分发:重新定义APP分发效率,让增长触手可及的智能引擎 开发者青莱的APP分发应用 解锁 APP 分发新姿势 app分发-专业稳定的虾分发app应用分发平台 什么是APP分发-了解虾分发APP分发的核心概念 操作极简,零技术门槛,高效的APP分发 优质的APP分发托管平台介绍 谁没被app内测分发逼到过崩溃? APP内测分发内耗,虾分发一键救场 千万用户信赖的APP分发平台 APP分发:助力企业数字化,内测分发更规范更高效 零门槛上手,小白也能轻松做 APP 分发 安全合规 + 稳定分发平台,企业内测放心之选 分发平台:让 APP 内测分发告别繁琐 虾分发让每一次迭代都高效落地 虾分发:一站式 APP 内测分发平台 虾分发是一个适合开发者进行应用的内测分发与高效管理​ 虾分发iOS应用内测分发平台渠道实践 虾分发是一个值得推荐的应用内测托管平台 虾分发App分发平台:你的应用程序超人气助手 虾分发内测托管中心的核心区别与特点 虾分发应用平台:让您的应用触及全球用户 虾分发:App分发平台开发者的好帮手 虾分发平台:四大核心能力,重塑分发体验 app分发-专业稳定的app应用分发平台 apk分发平台核心功能 虾分发APP分发领域将迎来更加广阔的发展空间 虾分发,与你同行,共筑APP分发梦想 开发者们,虾分发平台等你来战,共创辉煌! 从默默无闻到行业崭露头角,虾分发助力APP华丽转身 虾分发:APP分发领域以创新引领APP分发 用数据说话,虾分发助力APP分发效果显著提升 虾分发让APP分发变得如此简单又温馨 虾分发——APP分发新潮流,专业成就未来 高效 app 分发工具,内测数据实时掌控 虾分发平台生态共赢,构建APP分发和谐生态 虾分发专业专注,铸就APP分发卓越品质 虾分发创新驱动,引领APP分发潮流趋势 虾分发贴心服务,打造APP分发温馨家园 虾分发科技新领航,开启APP分发新纪元 超燃虾分发托管:省心与省力的智慧之选 虾分发平台超燃来袭!解锁APP内测托管新玩法 虾分发内测托管,以智能引擎点燃应用生态的极速狂飙 虾分发平台有哪些功能需要付费呢 虾分发平台与其他分发平台相比有何不足? 一站式虾分发平台在应用分发与内测分发领域表现出色 虾分发技术原理层面:多维度保障稳定性 虾分发平台如何保证分发到每一个渠道的稳定性 虾分发平台有什么特点或者优势吗 虾分发是一个专注内测App托管分发的平台 虾分发:APP内测分发平台低成本与高灵活性的平衡 虾分发高效稳定的移动应用内测发布平台 虾分发内测分发平台快速稳定的应用分发平台 虾分发是一个正规的游戏内测托管平台 虾分发APP分发平台:高效、安全的分发之选 查看全部(共359篇)
资讯中心
APP分发二维码怎么自定义?Logo、样式与永久有效二维码的设置教程 APP内测分发完整流程:从上传安装包到生成二维码的5个关键步骤 APP分发链接打不开怎么办?HTTPS配置与CDN节点的排查全流程 APP封装打包是什么意思?Web应用转原生安装包的完整流程与注意事项 Plist文件是什么?itms-services在线安装iOS应用的完整配置教程 免费APP分发平台真的免费吗?内测分发成本结构与隐藏限制全解析 Plist文件怎么在线制作?itms-services协议安装IPA的完整教程 UDID是什么?iOS内测分发前获取设备UDID的3种方法与用途详解 APP分发平台怎么选?6个核心维度帮你避开内测分发踩坑 中小团队APP内测分发怎么做?从需求分析到平台选择的完整决策指南 iOS证书检测怎么做?内测分发前必做的证书状态检查与常见问题排查 iOS内测分发选TestFlight还是企业证书?一文读懂两种方案的优缺点与适用场景 APK和IPA同一个二维码怎么实现?合并下载原理与虾分发实操步骤 IPA和APK合并二维码分发怎么设置?双端共用链接的配置全流程 APP内测分发为什么要求HTTPS?iOS itms-services与安卓APK在线安装的安全原理 APP内测怎么分发才高效?双端合并二维码与多版本并行的实操方案 ipa文件怎么上传安装?从打包到扫码安装的完整ipa分发教程 APP多版本管理怎么做?内测版本并行分发与回滚的实操指南 APP分发平台下载速度慢?CDN加速原理与多节点分发方案详解 TestFlight审核太慢?5分钟搞定iOS APP内测分发的方法 APK分发后用户扫码提示「未知来源」怎么办?安卓安装拦截排查与解决方案 APP内测分发如何防止未授权下载?密码保护、IP白名单与次数限制的配置详解 APP分发数据怎么看?下载统计与设备分布的实时监控实操 iOS内测APP安装提示「无法验证应用」怎么解决?证书信任与描述文件配置的完整排错指南 内测APP安装后闪退怎么办?从环境排查到日志定位的完整排错手册 APP封装打包后怎么生成安装链接?从WebView打包到内测分发的完整教程 苹果IPA文件怎么安装到手机上?三种常见安装方式的原理与操作对比 免费APP分发平台怎么用?从注册到扫码安装的内测全流程教学 Plist文件写错了APP无法安装?itms-services协议常见报错与排查手册 APP内测分发怎么保证下载安全?密码保护与访问控制的完整配置指南 APP内测分发平台需要实名认证吗?账号注册与安全设置的完整指南 内测分发二维码到期了还能用吗?会员版永久二维码与免费版的区别详解 安卓APK打包后怎么快速分发给测试用户?从导出到扫码安装的全流程教程 APP内测分发链接过期怎么办?下载失效原因与长效分发方案的完整排查 APP内测分发怎么选链接还是二维码?分发方式对比与最佳使用场景 APP内测分发二维码怎么生成?自定义样式与双端合并的完整教程 APP内测怎么分发?从零开始的内测分发完整指南 APP内测多版本怎么同时管理?版本并行分发与回滚切换的完整实操 APP内测包下载太慢怎么办?CDN加速原理与下载速度优化的完整方案 APP怎么实现安卓和苹果同码下载?双端合并分发的原理与完整操作流程 APP内测版本怎么区分?Alpha/Beta/RC各阶段的分发策略与注意事项 内测分发平台怎么选?从上传效率到安装体验的5个关键评估维度 APP内测包上传失败怎么办?安装包解析报错与格式问题的完整排查指南 安卓内测APP安装被拦截怎么办?安全提示与信任设置的完整排查指南 H5网页怎么封装成APP?Web应用打包的原理与完整操作流程 内测APP更新了怎么通知用户?版本推送提醒与分发链接管理的完整方案 APP内测分发前要准备什么?上传发布前的完整检查清单与避坑指南 APP内测分发如何对接自动化流程?CI/CD持续集成与版本发布的配置指南 IPA 和 APK 分发有什么区别?双平台内测包上传与安装差异全解析 内测包发出去后没人下载?APP 分发数据统计与下载追踪的完整实操 内测分发链接怎么加密码保护?下载安全设置的完整配置指南 内测APP安装后闪退怎么办?常见崩溃原因与分发环节的排查清单 Plist 文件怎么制作?iOS 在线安装配置从零到部署的完整教程 内测包泄露怎么办?APP 分发安全防护与权限管控的完整方案 iOS 设备 UDID 怎么获取?内测设备识别与安装授权的完整流程 APP分发二维码怎么自定义?Logo嵌入与样式设置的完整操作教程 测试用户不会安装内测 APP?非技术人员的安装引导方法与常见障碍 APP 内测分发平台技术原理解析:从打包到安装的完整流程科普 APP 内测多版本并存怎么管?版本号管理与分发控制的完整实操指南 APP 安装包下载太慢怎么办?CDN 加速分发的技术原理与实战配置 IPA 文件上传后无法安装?itms-services 协议原理与常见报错排查指南 APP 内测分发新手入门:从注册到生成二维码的完整上手指南 APP 内测分发平台怎么选?免费额度、稳定性与安全性三维评估指南 APP 内测分发时安装包体积太大怎么办?优化下载体验的 5 个实用方法 安卓和苹果同一个二维码下载怎么实现?合并分发的原理与操作教程 APP 封装打包是什么?从网页到原生安装体验的完整科普与操作流程 APP 内测分发链接有效期多久?永久二维码与短期链接的区别详解 iOS 证书状态异常导致 APP 无法安装?证书检测与分发排错全指南 企业合规要求下,APP 内测分发如何满足数据安全审计? APP 内测沟通成本高?优化分发流程的 3 个关键策略 网页如何变成 APP?Webview 封装打包与内测分发流程详解 APP 内测数据怎么统计?实时监控下载量与设备分布的实操指南 测试用户无法安装 APP?排查分发链接与设备兼容性的 4 个步骤 跨地域团队如何统一 APP 内测分发?远程协作场景下的 4 个实战策略 APP 内测多版本怎么管?从上传到回滚的全流程操作与团队协作技巧 寻找一个功能全面、高效稳定的一键打包封装APP内测分发平台 虾分发用户使用:简单三步,轻松完成应用分发与测试 虾分发专注APP内测托管 APP 内测分发的核心逻辑与流程,虾分发让效率翻倍 如何选择APP内测分发的平台的考虑因素 查看全部(共92篇)
应用封装
想要低成本快速制作APP?只需几分钟,手机网站就能变身为跨平台APP! H5如何实现唤起APP唤端技术 网页应用打包安卓App (全网最详细教程) 想做一款手机app,需要什么? 2023年移动端应用开发的出路是什么? 企业是否需要开发app 在线ios封装是干什么的? app开发工具使用说明 网站封装成APP需要怎么做? 移动App开发和分发 web与app开发移动web开发和移动app开发的区分 webapp开发框架选择注意点 APP运营分析数据分析及关键指标 APP与后台安全性问题和应对方案 网页封装APP相对原生APP有什么优势? 封装APP具体教程&功能插件介绍 URL拉起APP,如何配置? 封装好的APP还可以重新编辑吗? 如何配置极光推送的消息?(安卓版) 极光推送如何申请? 安卓手机视频播放时无法全屏,如何解决? 封装APP中,如何配置第三方分享? 封装APP中,该如何选择浏览器内核? 无闪退版本封装和普通封装有什么区别? 封装支持在线更新吗? 安卓手机APK误报毒解决方案
H5如何实现唤起APP唤端技术

这项技术我们就可以实现H5唤起APP应用了,现阶段的引流方式大都得益于这种技术,比如广告投放、用户拉新、引流等。虾分发 app分发 xiafenfa.com。

唤端技术
体验过后,我们就来聊一聊它的实现技术是怎样的,唤端技术我们也称之为deep link技术。当然,不同平台的实现方式有些不同,一般常见的有这几种,分别是:

URL Scheme(通用)
Universal Link (iOS)
App Link、Chrome Intents(android)
URL Scheme(通用)
这种方式是一种比较通用的技术,各平台的兼容性也很好,它一般由协议名、路径、参数组成。这个一般是由Native开发的同学提供,我们前端同学再拿到这个scheme之后,就可以用来打开APP或APP内的某个页面了。

URL Scheme 组成
[scheme:][//authority][path][?query][#fragment]

常用APP的 URL Scheme
APP 微信 支付宝 淘宝 QQ 知乎
URL Scheme weixin:// alipay:// taobao:// mqq:// zhihu://
打开方式
常用的有以下这几种方式

直接通过window.location.href跳转
window.location.href = 'zhihu://'
1
通过iframe跳转
const iframe = document.createElement('iframe')
iframe.style.display = 'none'
iframe.src = 'zhihu://'
document.body.appendChild(iframe)
直接使用a标签进行跳转
通过js bridge来打开
window.miduBridge.call('openAppByRouter', {url: 'zhihu://'})
判断是否成功唤起
当用户唤起APP失败时,我们希望可以引导用户去进行下载。那么我们怎么才能知道当前APP是否成功唤起呢?

我们可以监听当前页面的visibilitychange事件,如果页面隐藏,则表示唤端成功,否则唤端失败,跳转到应用商店。

OK,我们尝试来实现一下:

首先我手机上并没有安装腾讯微博,所以也就无法唤起,我们让他跳到应用商店对应的应用下载页,这里就用淘宝的下载页来代替一下~

<template>
<div class="open_app">
<div class="open_app_title">前端南玖唤端测试Demo</div>
<div class="open_btn" @click="open">打开腾讯微博</div>
</div>
</template>

<script>
let timer
export default {
name: 'openApp',
methods: {
watchVisibility() {
window.addEventListener('visibilitychange', () => {
// 监听页面visibility
if(document.hidden) {
// 如果页面隐藏了,则表示唤起成功,这时候需要清除下载定时器
clearTimeout(timer)
}
})
},
open() {
timer = setTimeout(() => {
// 没找到腾讯微博的下载页,这里暂时以淘宝下载页代替
window.location.href = 'http://apps.apple.com/cn/app/id387682726'
}, 3000)
window.location.href = 'TencentWeibo://'
}
}
}
</script>

<style lang="less">
.open_app_title {
font-size: (20/@rem);
}
.open_btn{
margin-top:(20/@rem);
padding:(10/@rem) 0;
border-radius: (8/@rem);
background: salmon;
color: #fff;
font-size: (16/@rem);
}
</style>


适用性
URL Scheme 这种方式兼容性好,无论安卓或者 iOS 都能支持,是目前最常用的方式。从上图我们能够看出它也有一些比较明显的缺点:

无法准确判断是否唤起成功,因为本质上这种方式就是打开一个链接,并且还不是普通的 http 链接,所以如果用户没有安装对应的 APP,那么尝试跳转后在浏览器中会没有任何反应,通过定时器来引导用户跳到应用商店,但这个定时器的时间又没有准确值,不同手机的唤端时间也不同,我们只能大概的估计一下它的时间来实现,一般设为3000ms左右比较合适;

从上图中我们可以看到会有一个弹窗提示你是否在对应 APP中打开,这就可能会导致用户流失;

有 URL Scheme 劫持风险,比如有一个 app 也向系统注册了 zhihu:// 这个 scheme ,唤起流量可能就会被劫持到这个 app 里;

容易被屏蔽,app 很轻松就可以拦截掉通过 URL Scheme 发起的跳转,比如微信内经常能看到一些被屏蔽的现象。

Universal Link (iOS)
Universal Link 是在iOS 9中新增的功能,使用它可以直接通过https协议的链接来打开 APP。
它相比前一种URL Scheme的优点在于它是使用https协议,所以如果没有唤端成功,那么就会直接打开这个网页,不再需要判断是否唤起成功了。并且使用 Universal Link,不会再弹出是否打开的弹出,对用户来说,唤端的效率更高了。

原理
在 APP 中注册自己要支持的域名;

在自己域名的根目录下配置一个 apple-app-site-association 文件即可。(具体的配置前端同学不用关注,只需与iOS同学确认好支持的域名即可)

打开方式
openByUniversal () {
// 打开知乎问题页
window.location.href = 'https://oia.zhihu.com/questions/64966868'
// oia.zhihu.com
},

适用性
相对 URL Scheme,universal links 有一个较大优点是它唤端时没有弹窗提示是否打开,提升用户体验,可以减少一部分用户流失;

无需关心用户是否安装对应的APP,对于没有安装的用户,点击链接就会直接打开对应的页面,因为它也是http协议的路径,这样也能一定程度解决 URL Scheme 无法准确判断唤端失败的问题;

只能够在iOS上使用

只能由用户主动触发

App Link、Chrome Intents(Android)
App Link
在2015年的Google I/O大会上,Android M宣布了一个新特性:App Links让用户在点击一个普通web链接的时候可以打开指定APP的指定页面,前提是这个APP已经安装并且经过了验证,否则会显示一个打开确认选项的弹出框,只支持Android M以上系统。

App Links的最大的作用,就是可以避免从页面唤醒App时出现的选择浏览器选项框;

前提是必须注册相应的Scheme,就可以实现直接打开关联的App。

App links在国内的支持还不够,部分安卓浏览器并不支持跳转至App,而是直接在浏览器上打开对应页面。
系统询问是否打开对应App时,假如用户选择“取消”并且选中了“记住此操作”,那么用户以后就无法再跳转App。
Chrome Intents
Chrome Intent 是 Android 设备上 Chrome 浏览器中 URI 方案的深层链接替代品。

如果 APP 已安装,则通过配置的 URI SCHEME 打开 APP。

如果 APP 未安装,配置了 fallback url 的跳转 fallback url,没有配置的则跳转应用市场。

这两种方案在国内的应用都比较少。

方案对比
URL Scheme Universal Link App Link
<ios9 支持 不支持 不支持
>=ios9 支持 支持 不支持
<android6 支持 不支持 不支持
>=android6 支持 不支持 支持
是否需要HTTPS 不需要 需要 需要
是否需要客户端 需要 需要 需要
无对应APP时的现象 报错/无反应 跳到对应的页面 跳到对应的页面
URI Scheme

URI Scheme的兼容性是最高,但使用体验相对较差:

当要被唤起的APP没有安装时,这个链接就会出错,页面无反应。

当注册有多个scheme相同的时候,没有办法区分。

不支持从其他app中的UIWebView中跳转到目标APP, 所以ios和android都出现了自己的独有解决方案。

Universal Link

已经安装APP,直接唤起APP;APP没有安装,就会跳去对应的web link。
universal Link 是从服务器上查询是哪个APP需要被打开,所以不会存在冲突问题
universal Link 支持从其他app中的UIWebView中跳转到目标app
缺点在于会记住用户的选择:在用户点击了Universal link之后,iOS会去检测用户最近一次是选择了直接打开app还是打开网站。一旦用户点击了这个选项,他就会通过safiri打开你的网站。并且在之后的操作中,默认一直延续这个选择,除非用户从你的webpage上通过点击Smart App Banner上的OPEN按钮来打开。
App link

优点与 universal Link 类似

缺点在于国内的支持相对较差,在有的浏览器或者手机ROM中并不能链接至APP,而是在浏览器中打开了对应的链接。

在询问是否用APP打开对应的链接时,如果选择了“取消”并且“记住选择”被勾上,那么下次你再次想链接至APP时就不会有任何反应