使用 Branch 创建用户邀请代码的正确方法是什么?
What is the proper way to create user invite codes using Branch?
我一直在梳理 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);
}
下面的实现让我得到一个看起来像这样的 link:
https://mydomain.app.link/A1BCdEf2gH
但我想分享如下内容:ADAM98(见上面的屏幕截图),并让用户在结帐时输入它等。
现在为每个用户手动创建一个邀请码并不是什么大事,我可以使用用户用户名的前四个字符并向其附加一些随机字符。但是那我该怎么办呢?我假设我只需要将此代码传递给 .setAlias(mUserInviteCode) on mSmsLinkProperties.
我走的路对吗?执行此操作的正确流程是什么?安装时收到此邀请码后如何处理?
这里 Branch.io 的 Alex。
我们实际上曾经提供与您描述的完全相同的推荐 code 功能,但不久前已弃用它以支持推荐 link系统。原因实际上很有趣:我们的合作伙伴应用程序发现不需要代码和大量额外工作。 Branch 处理推荐的方式根本不同,而且更加用户友好,因此您实际上根本不需要让用户输入代码。
传统应用推荐流程
Inviting User
获取代码
Inviting User
给朋友一个代码 (Invited User
) 并说 'go download this app and enter my code!'
Invited User
希望下载应用程序,希望找到如何输入代码,希望正确输入代码
Inviting User
获得奖励
如您所见,该过程有很多地方可能出错。
分支推荐流程
Inviting User
获得 link
Inviting User
将 link 发送给朋友 (Invited User
)
Invited User
点击 link,直接发送到 Play 商店,下载应用程序,自动触发推荐兑换逻辑,无需任何手动工作
Inviting User
获得奖励
这是可行的,因为 Branch 会跟踪最初创建 link 的用户,并且可以在新用户成功 downloads/purchases/whatever 或第一次打开 link 后返回报告.这是一个更简单、更无缝的过程,Branch 推荐基础设施非常可靠 'just works'。
我一直在梳理 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);
}
下面的实现让我得到一个看起来像这样的 link:
https://mydomain.app.link/A1BCdEf2gH
但我想分享如下内容:ADAM98(见上面的屏幕截图),并让用户在结帐时输入它等。
现在为每个用户手动创建一个邀请码并不是什么大事,我可以使用用户用户名的前四个字符并向其附加一些随机字符。但是那我该怎么办呢?我假设我只需要将此代码传递给 .setAlias(mUserInviteCode) on mSmsLinkProperties.
我走的路对吗?执行此操作的正确流程是什么?安装时收到此邀请码后如何处理?
这里 Branch.io 的 Alex。
我们实际上曾经提供与您描述的完全相同的推荐 code 功能,但不久前已弃用它以支持推荐 link系统。原因实际上很有趣:我们的合作伙伴应用程序发现不需要代码和大量额外工作。 Branch 处理推荐的方式根本不同,而且更加用户友好,因此您实际上根本不需要让用户输入代码。
传统应用推荐流程
Inviting User
获取代码Inviting User
给朋友一个代码 (Invited User
) 并说 'go download this app and enter my code!'Invited User
希望下载应用程序,希望找到如何输入代码,希望正确输入代码Inviting User
获得奖励
如您所见,该过程有很多地方可能出错。
分支推荐流程
Inviting User
获得 linkInviting User
将 link 发送给朋友 (Invited User
)Invited User
点击 link,直接发送到 Play 商店,下载应用程序,自动触发推荐兑换逻辑,无需任何手动工作Inviting User
获得奖励
这是可行的,因为 Branch 会跟踪最初创建 link 的用户,并且可以在新用户成功 downloads/purchases/whatever 或第一次打开 link 后返回报告.这是一个更简单、更无缝的过程,Branch 推荐基础设施非常可靠 'just works'。