我一直在梳理Branch.io Android文檔,還沒有想出如何創建用戶邀請碼。我已經獲得了基本分支推薦系統的正常工作,但我想爲每個用戶分配一個類似於您在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(請參閱上面的截圖),並讓用戶在結帳時輸入等。
現在爲每個用戶手動創建邀請代碼並不是很多工作,我可以取用戶用戶名的前四個字符並將一些隨機字符添加到它。但那我該怎麼辦呢?我假設我只需要將此代碼傳遞給.setAlias(mUserInviteCode) on mSmsLinkProperties。
我在正確的軌道上嗎?什麼是適當的流程來實現這一點?在安裝時如何處理此邀請代碼?
我同意,這實際上是一個更好的解決方案,你都紛紛拿出。 – MalcolmMcFly