android - 使用 Branch 创建用户邀请码的正确方法是什么?

标签 android branch.io

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

UberEATS Uber

我当前的实现如下所示:

    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)

我走的路正确吗?实现此操作的正确流程是什么?安装时收到邀请码后如何处理?

最佳答案

这里来自 Branch.io 的 Alex。

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

传统应用推荐流程

  1. 邀请用户获取代码
  2. 邀请用户向好友(受邀用户)提供一个代码,并说“去下载此应用并输入我的代码!”
  3. 受邀用户希望下载该应用程序,希望了解如何输入代码,希望正确输入代码
  4. 邀请用户获得奖励

正如您所看到的,该过程有很多地方可能会出错。

分支机构推荐流程

  1. 邀请用户获取链接
  2. 邀请用户将链接发送给好友(受邀用户)
  3. 受邀用户点击链接,直接发送到 Play 商店,下载应用,自动触发推荐兑换逻辑,无需任何手动操作
  4. 邀请用户获得奖励

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

以下是用于设置此功能的文档页面:https://dev.branch.io/features/referral-programs/

关于android - 使用 Branch 创建用户邀请码的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42648707/

相关文章:

ios - 通过像 HockeyApp 这样的第 3 方 App Store 延迟深度链接?

android - Branch.io 返回 "Session initialization already happened"错误消息

android - Gradle 同步失败。基本功能将无法正常工作

android - 如何比较 3 个数组列表并替换第三个数组列表中的数据?

android - 无法在 android 中找到变换灰度类以在 android 中转换为灰度

android - 如何使用 Toast 提醒用户 OkHttp 请求返回了 200 以外的值?

android - Branch.io:点击链接时深度链接到特定 Activity

ios - 单击通过 Branch.io 从移动设备共享的链接时重定向到网站中的特定页面

android - 在 io.branch.sdk 的 android gradle 中排除模块 'answer-shim' 后,无法使用 proguard 构建

java - 重置搜索小部件 (SearchView) 值