App邀请新用户方案——以友盟为例
| web前端
评论 0 | 点赞 0 | 浏览 916

好多App上有这种功能:成功邀请X个新用户后领取奖励,一般来说,这种功能场景有以下几个解决方案:

(1):为每位用户生成一个邀请码,新用户注册后填写邀请码,这样就通过邀请码建立了邀请人和新用户之间的关联关系。但是这种方案有一定的缺点,首先就是用户体验不友好,需要手动输入邀请码;其次,邀请码谁都可以输入,容易被薅羊毛。

(2):用户点击分享按钮后,会将一个链接分享到微信中,这个链接中带有邀请码或者邀请人的id,好友点击了链接后,先在这个web页面中完成注册,注册接口携带邀请码,然后再引导用户下载app。这种方案有一个比较致命的缺点,那就是注册完成后就算做邀请成功了,无法知道用户是否下载了app,如果你的初衷是为了引导用户下载app,那这种方案并不好。

(3):利用deeplink+剪切板的组合方式,在app中获取邀请码,用户只需要通过app下载页面正常下载app,就可以完成整套邀请流程,真个过程对于用户来说是无感知的。这种方案有很多第三方厂商帮我们做好了,本文以友盟为例,讲解整个的流程。

准备工作

友盟文档链接:https://developer.umeng.com/docs/191212/detail/212402

剪切板使用说明:https://developer.umeng.com/docs/191212/detail/213205

首先需要在友盟控制台做一些基础配置

(1)剪切板功能能极大提升拉新成功率,因此友盟后台推荐开启剪切板功能:


(2)创建裂变活动




接入步骤

1、后端提供接口生成邀请码

后端每次邀请都会生成一个唯一的邀请码,并将这个邀请码和邀请人建立绑定关系。其实也可以每个用户用固定的一个邀请码,这样做的坏处是不好追踪每一次的邀请行为。

考虑到后期可能会有展示邀请码或者输入邀请码的需求,邀请码长度不宜太长。邀请码生成使用org.apache.commons.lang3.RandomStringUtils工具类,生成10位的邀请码,数字+大小写字母组合。

不推荐邀请码低于8位。简单测试了一下,当邀请码为7位时,1000万次测试中出现大概十几个重复的;当邀请码为8位时,1000万次测试中没有重复的。

for (int i = 0; i < 10; i++) {
    String s = RandomStringUtils.randomAlphanumeric(10);
    System.out.println(s);
}

//输出结果
yfHfucj60N
X69xTaI4BJ
b2agUTXRmp
M0adRKcufC
EYofe6aYzJ
bEC6lbH6wx
YHGj7Jyz0H
05rZl79Bp2
WzCIBSvLG8
HtjkpVCB7D

2、准备一个单独的App下载web页面

就是一个常见的引导下载页面,也叫“裂变页面”,类似这种:


3、app分享动作交互过程

(1)用户在app内点击邀请好友,唤起分享弹框,可以分享到微信、朋友圈等,这时候分享出去的页面就是上文提到的裂变页面

(2)打开弹窗前调用后端接口获得邀请码,拼接到裂变页面链接后面,这时用户点击分享出去的链接,我们是可以从url参数中拿到邀请码的

4、打开裂变页面

这一步,前端会将一些自定义的参数放进剪切板和友盟后台中

(1)前端从页面链接中拿到邀请码和用户id,如果没有拿到code说明不是拉新分享的页面,后续步骤忽略。

(2)前端集成友盟jssdk,把邀请码和用户id传入自定义的参数(data:{})中,并设置剪切板相关参数:


(3)用户下载安装app

5、安装打开app并注册

这一步,原生会从剪切板或友盟后台拿到前端设置的自定义参数

(1)后端注册接口增加邀请码参数,app调用注册接口携带邀请码。

(2)app通过解析jssdk设置的自定义参数拿到邀请码和用户id

(3)h5注册的时候把邀请码提交到后端,后端注册成功后保存邀请成功记录



总结

其实总结起来整个流程分成以下几个步骤:

1、分享出去的链接携带邀请码

2、裂变页面内,把邀请码放进剪切板,如果接入第三方插件,还会上传到第三方的服务器中

3、下载并打开app后,会从剪切板、第三方服务器中拿到邀请码

4、注册接口携带邀请码,完成拉新绑定

接入第三方插件(例如友盟)会让流程变得简单,实际上如果我们不接入也完全可以自己实现,第二步中设置剪切板后就已经可以统计90%以上的新用户了,然后上传邀请码到第三方服务器的操作,我们可以改成上传到自己的服务器中,将ip和邀请码一起记录下来,然后下载打开app后,优先查询剪切板,剪切板查不到就调用后端接口,根据ip查询邀请码,增加统计成功率。实际上,友盟的服务器也是根据ip查询的。

本文作者:不是好驴
本文链接:https://www.baddonkey.cn/detail/45
版权声明:原创文章,允许转载,转载请注明出处

高谈阔论

留言列表