APP免填邀请码安装

更新日期: 2023-12-01阅读: 464标签: app

需求是:有人在微信分享一个链接给你,链接上面带有那个人的邀请码,点击分享的邀请链接,跳转到应用宝的下载页面,并且当用户下载完软件打开的时候,客户端会从openinstall获取邀请码的参数,并自动填到该软件的手机上。这就是APP免填邀请码安装。


H5下载落地页

每个用户分享出来的落地页URL不同,或者说URL上的参数不同,比如A用户的URL后面带的参数可能是code=A,B用户分的URL参数就是code=B。这样就可以区分用户是点谁的邀请链接进来的。同时可以通过网页收集一些手机的信息和分享的链接一起上报给后台,不过网页能获取的信息比较有限,收集的越多应该越准确。


APP安装匹配

APP启动时也收集一些设备的信息上报给后台,后台通过网页上报的信息进行匹配,匹配上了就可以知道该用户是从哪个邀请链接过来的了。这样就可以用户无感知的确认分享关系。


原理介绍

原理很简单,但是真正做起来应该还是有一定的难度,大致流程如下:


这里以openinstall的app已安装检测技术为例,帮大家了解主流的app已安装检测技术原理。

由于安全隐私的原因,目前网页端无法通过js脚本直接判断某个APP是否已安装,只能首先通过js尝试性的启动app,然后再进入安装流程。web网页上启动app的方式有两种:

1)URL Scheme;
2)Universal Link

URL Scheme:

android与ios均支持自定义scheme,通过访问自定义schema的url即可启动对应的app,如weixin://dl/scan这个url,这里的weixin就是自定义的schema。js启动app的具体方法主要有iframe.src,window.location等,如下:

var iframe = document.createElement("iframe");
iframe.style.display = "none";
iframe.src = schemaUrl;
document.body.appendChild(iframe);
window.location=schemaUrl;

某些浏览器由于人为限制无法直接使用scheme启动app,如微信与qq的内置浏览器以及android下的百度浏览器。但微信与QQ中,可以通过集成应用宝的微下载来启动app,应用宝的具体情况下面详细介绍。

目前主要通过监听各种dom事件(如:pagehide,visibilitychange,unload等)或通过setTimeout根据时间差来(早期ios系统中,通过schema可立即启动app,同时导致浏览器js脚本暂停运行,脚本恢复运行时通过时间差就能大致的判断app是否启动成功)。但由于现实情况下,由于各种浏览器与系统的差异性,无法通过js百分百的准确判断app是否启动成功;比如从ios9.2开始,通过schema启动app时,ios系统会弹出一个非模态的系统提示框,询问用户是否同意启动,在用户没有做出选择前,js脚本将继续运行,这将导致js完全无法判断app是否启动成功。

Universal Link(通用链接):

ios9开始提供通用链接的特性,app开发时可配置一个与app对应的关联域名,在ios9以上系统的所有浏览器中,访问任何一个url链接前,系统将检查本地是否已安装与url域名相对应的app,如果已安装对应的app,将进一步检查链接url的路径,是否应当启动该app,而不在浏览器中访问此url链接。 但是通用链接存在一个容易让人迷惑的地方,在经过通用链接启动app后,用户可以选择使用safari访问此url,系统会默默的记住用户的选择,在下次访问通用链接的url时,系统将不再启动app,而是直接在浏览器中访问此url,并且没有明显的提示;(在safari中,用户只有手动往下拽了该页面时,才会出现一个询问用户打开app的banner,其它浏览器则未必有此功能,而是完完全全的忽略掉通用链接)

应用宝微下载:

正常情况下,微信内置浏览器中,无法通过scheme启动app,无法下载apk,也无法跳转到app store,但微信与QQ均集成了对应用宝的支持。通过使用应用宝的微下载功能,android下的微信与QQ帮助判断某个app是否已安装,已安装的情况下,提示用户直接启动app(在应用宝中需配置启动用的scheme),未安装的情况下,可直接下载已上架到应用宝的apk文件;ios下,由于无法判断某个应用是否已安装(特别是ios>=9.2出现的提示窗口),应用宝只提供了跳转app store的功能,而没有启动app的功能。


第三方解决方案

不过好在已经有第三方有现成的解决方案了,网上搜了一圈,找到了3家服务商:openinstall、shareinstall、sharetrace、

openinstall,功能比较多,有渠道统计,一键拉起,携带参数安装,不过免邀请码安装功能是收费的,8000一年。
shareinstall,功能基本与openinstall一样的,收费稍微便宜些 3888一年。
sharetrace,功能稍微少一些,主要是免邀请码安装,价格399一年。


链接: https://www.fly63.com/article/detial/12585

APP和小程序互相跳转

随大流吧。微信小程序出了这么久,现在才学习下。app和小程序互相跳转:1、App主动发起小程序卡片分享到微信,微信点击打开小程序,这时的小程序可以打开App,2、App主动发起打开小程序,这时的小程序可以打开App

几种常见的APP开发模式的优缺点

常见的开发模式有6种(Native App,Web App,Hybrid App,Weex,React Native、Flutter)

在H5中唤起APP,唤起失败进入APP下载页

在H5中唤起APP原理:通过Scheme协议打开APP,Scheme的组成:scheme:path[#fragment],直接使用协议打开APP,打开失败进入下载页

创建一个成功的App前要考虑的5个要点

在智能机时代,相比浏览网页而言,人们一般更喜欢喜欢使用手机应用。这种趋势就导致了成千上万的APP在Google Play 和 Apple Store 平台的诞生。有一些企业想要通过创建APP去提升他们的业务,其他人也想要通过创建APP去获得收益

前端需要知道:App开发的最佳跨平台框架

当今移动端主要有安卓、IOS,以及最新的鸿蒙等系统,作为企业而言,尤其是中小企业在低成本的情况下,如何实现多端兼容,快速开发?这篇文章主要介绍当前比较常用的跨平台应用开发框架

前端实现iPhone绕过AppStore从浏览器安装App

都知道 iPhone 苹果手机应用只能通过 AppStore 进行安装,测试包只能通过官方提供的 TestFlight 等工具安装,而且通常有较长的审核流程,无法及时更新安装包

H5如何实现唤起APP

写过hybrid的同学,想必都会遇到这样的需求,如果用户安装了自己的APP,就打开APP或跳转到APP内某个页面,如果没安装则引导用户到对应页面或应用商店下载

ios获取app url地址 - 如何获取苹果appstore的应用链接?

在AppStore,每个应用都会有一个AppleID,包括还没有上线的应用。打开AppStore,点开我们的App,就会在网址上看到一串数字,这一串数字就是我们的Apple ID了。

一款 IOS 端休闲益智类,数字小游戏集

益智小游戏有哪些?休闲益智小游戏一直以来都深受玩家的喜爱,它不仅有趣,还能锻炼玩家的思维能力,今天小编就为大家带来了一款IOS益智数字类小游戏集,APP界面简洁,满足你的逻辑挑战,体验数字的魅力

H5 如何实现唤起 APP

写过hybrid的同学,想必都会遇到这样的需求,如果用户安装了自己的APP,就打开APP或跳转到APP内某个页面,如果没安装则引导用户到对应页面或应用商店下载。这里就涉及到了H5与Native之间的交互,为什么H5能够唤起APP并且跳转到对应的页面?

点击更多...

内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!