Branch.io validateReferralCode()和applyReferralCode()之间的区别?

时间:2015-07-21 17:03:54

标签: android referrals branch.io

我使用Branch.io作为推荐代码。我看到两种方法似乎适用于我想做的事情,但是,两者的描述看起来完全相同。在Branch.io的上下文中,如何确认用户输入了正确的推荐代码?

分支机构文件:https://github.com/BranchMetrics/Branch-Android-SDK#register-an-activity-for-direct-deep-linking-optional-but-recommended

根据文档,有两种方法可以工作,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。

这些之间有什么区别?

1 个答案:

答案 0 :(得分:1)

在Branch的系统中,您可以将引用代码指定为一次性使用(意味着之前称为“应用”的人)。如果您需要事先查看此值,请使用Validate引用代码方法。

当然,应用将代码应用于用户的余额。如果您创建了unique类型的引用代码,则Apply将失败。在向用户呈现或应用代码之前首先验证代码是一种很好的做法。