使用 Branch 创建用户邀请码的正确方法是啥?

Posted

技术标签:

【中文标题】使用 Branch 创建用户邀请码的正确方法是啥?【英文标题】:What is the proper way to create user invite codes using Branch?使用 Branch 创建用户邀请码的正确方法是什么? 【发布时间】:2017-03-07 12:45:38 【问题描述】:

我一直在梳理 Branch.io android 文档,但还没有想出如何创建用户邀请码。我已经让基本的 Branch 推荐系统工作正常,但我想为每个用户分配一个自定义邀请码,类似于您在 Uber 和 Airbnb 上看到的邀请码。

我当前的实现如下所示:

    mSmsBranchUniversalObject = new BranchUniversalObject()
            .setCanonicalIdentifier("invite/sms")
            .setTitle(getString(R.string.simple_share_title))
            .setContentDescription(getString(R.string.default_share_desc))
            .addContentMetadata("userId", mUserId);

    mSmsLinkProperties = new LinkProperties()
            .setChannel("sms")
            .setFeature("sharing");

    mSmsBranchUniversalObject.generateShortUrl(getActivity(), mSmsLinkProperties, new Branch.BranchLinkCreateListener() 
        @Override
        public void onLinkCreate(String url, BranchError error) 
            if (error == null) 
                mSmsShareLink = url;
            
        
    );

@OnClick(R.id.iv_sms)
public void smsShare() 
    Branch.getInstance(getActivity()).userCompletedAction(BranchEvent.SHARE_STARTED);
    Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("sms:"));
    intent.putExtra("sms_body", getString(R.string.share_sms, mSmsShareLink));
    startActivity(intent);

以下实现为我提供了一个如下所示的链接:

https://mydomain.app.link/A1BCdEf2gH

但我想分享类似:ADAM98(见上面的截图),并让用户在结帐时输入它等。

现在为每个用户手动创建一个邀请码并没有太多工作,我可以取用户用户名的前四个字符并附加一些随机字符。但那我该怎么办呢?我假设我只需将此代码传递给 mSmsLinkProperties 上的 .setAlias(mUserInviteCode)

我在正确的轨道上吗?实现这一点的正确流程是什么?安装时收到此邀请码后如何处理?

【问题讨论】:

【参考方案1】:

来自 Branch.io 的 Alex 在这里。

实际上,我们曾经完全按照您的描述提供推荐代码 功能,但不久前弃用了它,转而支持推荐链接 系统。原因实际上很有趣:我们的合作伙伴应用程序发现代码是不必要的并且有很多额外的工作。 Branch 处理引荐的方式完全不同,而且更加用户友好,因此您实际上根本不需要让用户输入代码。

传统的应用推荐流程

    Inviting User 获取验证码 Inviting User 给朋友 (Invited User) 一个代码并说“去下载这个应用程序并输入我的代码!” Invited User 希望下载应用,希望知道如何输入密码,希望正确输入密码 Inviting User获得奖励

如您所见,该过程在很多地方都可能出错。

分支机构推荐流程

    Inviting User 获取链接 Inviting User 将链接发送给朋友 (Invited User) Invited User 点击链接,直接发送到 Play 商店,下载应用程序,自动触发推荐兑换逻辑,无需任何手动操作 Inviting User获得奖励

之所以有效,是因为 Branch 会跟踪最初创建链接的用户,并且可以在新用户在打开链接后第一次成功下载/购买/其他任何内容时报告这一点。这是一个更简单、更无缝的过程,并且 Branch 推荐基础架构非常可靠,以至于它“正常工作”。

这是用于设置的文档页面:https://dev.branch.io/features/referral-programs/

【讨论】:

我同意,这实际上是你们都想出的更好的解决方案。 以上网址无效。如果可能,您能否提供一个可行的替代方案?

以上是关于使用 Branch 创建用户邀请码的正确方法是啥?的主要内容,如果未能解决你的问题,请参考以下文章

用户ID生成唯一邀请码的几种方法

根据用户ID生成唯一邀请码的几种方法

使用 JWT 身份验证与用户合作的正确方法是啥?

Branch.io 仅在用户登录后重定向

Branch.io 统计

branch.io 如何处理多个设备可能具有相同指纹的情况?