2015-07-21 210 views
1

我使用Branch.io作为引用代码。我看到两种方法似乎适用于我想要做的事情,但是,两者的描述看起来完全相同。在Branch.io的情况下,我如何确认用户输入了正确的推荐代码?Branch.io validateReferralCode()和applyReferralCode()之间的区别?

分公司文档: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

我正在思考这些问题。谢谢! – portfoliobuilder

相关问题