来来来假设有这样一个场景,峩邀请某人去下载注册一个app这样他能获得奖励,我也可以获得奖励那怎么匹配邀请人与被邀请人呢?
那你肯定要说了这还不简单,邀请码啊每个用户有自己唯一的邀请码,被邀请方下载注册后填写对应的邀请码这不就好了吗?
然而...不麻烦吗?
如果哥哥我的app自巳带有邀请码,那得多方便啊!!
推荐下载app的流程一般是:复制代码
我们可以看到这里有一个很重要的中转站→
。那我们是不是可以从这里做文章呢!
如果我们可以在浏览器打开的时候把邀请码作为参数传递过去,那不就天下太平一见生财了嘛!嘿嘿这里推荐下一篇:
但是这种的话,并不能保证用户一定可以拿到链接传递的参数!毕竟这种是要在已经安装了App的情况下才可以拿到參数,所以这种是不可取的
所以,这里该推出我们的主角了:
假设你的默认启动页是MainActivity那么最好不要把2个 混搭在一起
-
在oncreate()中设置唤醒App时获取参数回调:
-
获取唤醒App时传递过来的参数
-
以上的话,其实我们可以自己实现通过上面提供的文章,这步我们完全可以自己做到
但是另外一个方法,目前博主也想不出来是怎么实现的:
这里我们解释下两个方法的区别:
getInfoonWakeUpFinish上面的是首次安装走的回掉下面的是app已经存在,网頁直接唤醒app走的回掉场景不同。
这里是不是已经有点蒙了呢!看下哥们之前写的测试文档:
-
在浏览器输入以上地址:
-
如果是首次运行(即你手机上没有安装此app)那会进入下载页面:
-
安装后点击运行,这里我们可以获取到传递到的参数
这里是不是已经可以看出端倪了呢!
-
┅个方法是获取安装的时候传递的参数这个只是一次性的,只会获取一次
-
另一个方法是获取唤醒的时候传递的参数的这个方法是可以無数次使用的,且参数是随时可以变化的
到了这里,其实已经满足了我们的需求了!
我们比较关心的是兼容问题这边博主也花了一点時间去做测试:
测试:
-
UC浏览器,QQ浏览器等较主流的浏览器是否可以拉起
-
拉起的前提下,是否可以获取得到参数以及参数是否正确
前提能通过网页拉起APP的前提是:
-
该app至少被打开过一次
- 代表机型:华为P9 (高配全网通)
- 代表机型:酷派大神Note3
1.url我可以随便拼装
2.UC,QQ原生都可以拉起應用
3.每次更新app都需要重新上传一个app到你们那里
4.加固混淆不影响该功能
1.基本满足了我们的需求
2.我们每次更新版本需要提交到openInstall的后台托管中(保证后续更新稳定),也可以直接托管到应用宝等平台这样在鹅厂旗下的浏览器会提供支持(微信内置浏览器)