APP个性化安装进行注册流程优化的技术原理是什么?

我觉得安装只能是标准的安装,特别是IOS,都要通过APPstore安装,怎么可能为不同用户定制不同的安装呢?

APP个性化安装,就是要做到用户安装后APP的状态,要和安装前你给该用户的个性化安装请求(比如说一个分享的H5页面)保持一致,适配了安装前的请求信息,——这就达到了你个性化邀请的目的。

所以说APP个性化安装的技术核心就是安装前后匹配的问题,匹配成功,就可以把安装前的个性化信息准确传递给安装后的APP。

下面我以Shareinstall为例说一下我的理解:Shareinstall是如何检测已经安装的app

在app推广过程中,安装环节是必不可少的。而在安装app前,必须现要检测推广的app是否已经被安装。这里以shareinstall的app已安装检测技术为例,帮大家了解主流的app已安装检测技术原理。

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

(2)URL Scheme:

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

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

(3)部分浏览器由于人为限制无法直接使用scheme启动app,例如微信与QQ的内置浏览器,但在微信与QQ中,可以通过集成应用宝的微下载来启动app,下面就来介绍下应用宝的具体情况:

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

(4)Universal Link(通用链接):

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

(5)应用宝微下载:

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

Shareinstall在安卓和IOS上采取的技术方案是不同的,安卓上他们采用了给不同用户独立打包的方式,以实现给不同用户有针对性的个性化安装。由于是直接给用户专用的APK包,所以他们匹配的准确度可以达到100%

个性化安装的意义是能够免除安装后的参数设置步骤(直接传参到APP中了),简化了用户操作,改善了用户体验,比如APP邀请注册有奖活动,用了Shareinstall就能把邀请码作为参数安装到APP中,免除了被邀请用户填写邀请码的麻烦。另外,因为每次安装是个性化的,所以每次安装都是能够统计的,用来做推广渠道效果统计会非常好。

猜你喜欢

转载自blog.csdn.net/wuaiping9907/article/details/81105311