【发布时间】: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)。
我在正确的轨道上吗?实现这一点的正确流程是什么?安装时收到此邀请码后如何处理?
【问题讨论】: