我使用Branch.io作为推荐代码。我看到两种方法似乎适用于我想做的事情,但是,两者的描述看起来完全相同。在Branch.io的上下文中,如何确认用户输入了正确的推荐代码?
根据文档,有两种方法可以工作,validateReferralCode()和applyReferralCode()。两者的实现如下。
Branch branch = Branch.getInstance(getApplicationContext());
branch.validateReferralCode(code, new BranchReferralInitListener() {
@Override
public void onInitFinished(JSONObject referralCode, Branch.BranchError error) {
try {
if (!referralCode.has("error_message")) { // will change to using a second callback parameter for error code soon!
String referral_code = referralCode.getString("referral_code");
if (referral_code.equals(code)) {
// valid
} else {
// invalid (should never happen)
}
} else {
// invalid
}
} catch (JSONException e) {
e.printStackTrace();
}
}
});
和....
Branch branch = Branch.getInstance(getApplicationContext());
branch.applyReferralCode(code, new BranchReferralInitListener() {
@Override
public void onInitFinished(JSONObject referralCode, Branch.BranchError error) {
try {
if (!referralCode.has("error_message")) {
// applied. you can get the referral code amount from the referralCode JSONObject and deduct it in your UI.
} else {
// invalid code
}
} catch (JSONException e) {
e.printStackTrace();
}
}
});
文档中的描述为
验证推荐代码
验证分支系统中是否存在引用代码且仍然存在 有效。如果符合以下条件,则代码为vaild:
它尚未过期。如果它的计算类型是唯一的,那么它就不是 由当前用户应用。如果有效,则返回引用代码 回调中的JSONObject。
并申请推荐代码
应用推荐代码
如果分支系统中存在引用代码且仍然有效,则应用引用代码 (往上看)。如果代码有效,则返回引用代码 回调中的JSONObject。
这些之间有什么区别?
答案 0 :(得分:1)
在Branch的系统中,您可以将引用代码指定为一次性使用(意味着之前称为“应用”的人)。如果您需要事先查看此值,请使用Validate引用代码方法。
当然,应用将代码应用于用户的余额。如果您创建了unique类型的引用代码,则Apply将失败。在向用户呈现或应用代码之前首先验证代码是一种很好的做法。