如何设计一个邀请分红模块

本文讲述了开发团队完成70%的邀请分红系统上线,通过邀请码机制提高转化效率。技术上设计了邀请关系表,实现邀请码验证与分红逻辑。同时,关注用户体验,对比H5链接和微信小程序,强调了邀请码方式的便利性。文章还提到了后续完善计划,如数据追踪和激励策略的优化。
摘要由CSDN通过智能技术生成

这一周的开发的邀请分红系统,差不多也完善到了70%的成度,正式上了线,投入了给用户使用,虽然还有一部分未完善进来,但还是做一次简单的复盘,从技术和用户体验上说起。

目标

为什么要做邀请?,还不是为了拉新、留存这两兄弟,前者可以为我们的产品引入更多的新用户,灌入更多的活水,产生更多的优质内容(…目前内容这一块暂时被砍掉了),实现更高的business value,后者可以驱动产品内核增长,改善产品体验,提高DAU指标,实现正向增长的价值。

同时引入分红机制,就是为了更好的激励老用户,通过个人渠道去拉取更多新用户进来,利用分红机制来让自己躺着也可以赚钱。

如何设计?

基于邀请的设计有很多种方案,邀请H5邀请链接、微信分享小程序注册、邀请码机制,之前的两种方案我们都尝试过了,但是转化效果最终不太理想,最终我们尝试了邀请码机制,此邀请码非彼邀请码,我们采取了淘口令类似的机制,新用户通过复制老用户的邀请码,即可完成自动绑定。整个效果图如下:

相比之前H5邀请链接更有效的缩短了转化路径,新用户复制邀请码便可直接与老用户建立师徒关系。

技术实现

明白了需求流程,开始从技术着手设计.

由于是邀请口令机制,所以新用户一定是已经在APP中存在用户身份了,我们只需要设计一张表,来建立邀请人与被邀请人的关系,先建立一张Invitations表.

Schema::create('invitations', function (Blueprint $table) {
    $table->bigIncrements('id');
    $table->unsignedInteger('user_id')->index()->comment('邀请人用户ID');
    $table->unsignedInteger('be_inviter_id')->index()->comment('被邀请人ID');
    $table->timestamp('invited_in')->nullable()->comment('验证成功后邀请时间');
    $table->timestamps();
});

邀请关系表建立完成后,就需要给每位用户分配一个邀请码(唯一标识),可以生成uuid的方式生成一个唯一的邀请码,也可以直接根据用户的身份ID来推算出一个邀请码,最简单的方式就是利用base64来生成一个,编码和解码都比较快,而且不占用实体储存空间。

public static function encode($id)
{
    return base64_encode($id);
}

public static function decode($code)
{
    return base64_decode($code);
}

邀请码生成后,便需要提供一个接口给客户端进行调用解码验证的逻辑,整个逻辑就使用伪代码来实现.

$inviterCode = $request->get('inviter_code);

//验证邀请码合法 && 抛出异常提示
$this->invidatedInviterCode($inviterCode);

//解码
$inviterId = Invitation::decode($inviterCode);

//验证用户真实性...

//绑定邀请...

//触发相应奖励

这样,口令邀请系统就实现完了,下面开始来完善分红。

整个分红的处理流程如下:

当用户触发各种操作行为的时候,如浏览视频、打卡、点赞就会通过一个钩子来触发分红逻辑,这个触发就是要在每个操作被创建后触发,我们可以通过观察者模式或者监听器来实现,在Laravel项目我们使用的是观察者模式,整个伪代码逻辑如下。

public function created(Video $video)
{
    $inviter = $user->myInviter;
    if(!is_null($inviter)){
        $inviterWallet = $inviter->wallet;
        //计算视频收益
        $reward = $this->computeReawrd($video);
        //发放奖励
        inviterWallet->makeIncome($reward,'视频浏览分红');
    }
}

最后就实现了我们邀请分红逻辑的编写,当然面对实际情况中,还存在更多更复杂的处理流程,但是基本思路如下,包括更多的二三级邀请奖励业务逻辑也是如此。

用户体验

相对之前的h5链接和微信小程序都属于跳出的方式,在这个过程中很有可能无法进行直接转化,而且可以从容应对风险机制,尤其是微信、QQ的封锁,链接被封杀几率很大无法跳转,而文本内容可以通过服务端随时更换,大家只需复制打开APP即可完成绑定,操作性也比网页上填写手机号码要方便很多。

思路延伸

虽然基本的开发工作完成的差不多了,但是还有一些未完善下去,如下:

  1. 数据埋点(邀请触发次数,邀请页面查看次数、分红次数):数据越细化越能方便后溪整体分析
  2. 添加不确定因素,更诱人的奖励条件,邀请用户有几率获得5、10、20元现金红包.
  3. 邀请排行榜,只有看见有人成功吃到了螃蟹,才会有更多的用户,尝试追随。

在邀请这个功能上,如果限制太多,就会降低用户参与积极性,如果限制过少,则容易产生漏洞,在这中间还是得去产生一个平衡,至于把控到什么程度,还需要日后进一步的继续探知。

作者:17ns

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值