我一直在梳理 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)。
我走的路正确吗?实现此操作的正确流程是什么?安装时收到邀请码后如何处理?
最佳答案
这里来自 Branch.io 的 Alex。
我们实际上曾经提供与您所描述的完全相同的推荐代码功能,但不久前就弃用了它,转而采用推荐链接系统。原因实际上很有趣:我们的合作伙伴应用程序发现代码是不必要的,并且需要做很多额外的工作。 Branch 处理推荐的方式完全不同,而且更加用户友好,因此您实际上根本不需要让用户输入代码。
传统应用推荐流程
邀请用户
获取代码邀请用户
向好友(受邀用户
)提供一个代码,并说“去下载此应用并输入我的代码!”受邀用户
希望下载该应用程序,希望了解如何输入代码,希望正确输入代码邀请用户
获得奖励
正如您所看到的,该过程有很多地方可能会出错。
分支机构推荐流程
邀请用户
获取链接邀请用户
将链接发送给好友(受邀用户
)受邀用户
点击链接,直接发送到 Play 商店,下载应用,自动触发推荐兑换逻辑,无需任何手动操作邀请用户
获得奖励
这是有效的,因为 Branch 会跟踪最初创建链接的用户,并且当新用户在打开链接后第一次成功下载/购买/其他任何内容时可以报告该情况。这是一个更简单、更无缝的流程,而且 Branch 推荐基础设施非常可靠,可以“正常工作”。
以下是用于设置此功能的文档页面:https://dev.branch.io/features/referral-programs/
关于android - 使用 Branch 创建用户邀请码的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42648707/