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

Posted

技术标签:

【中文标题】Branch.io validateReferralCode() 和 applyReferralCode() 之间的区别?【英文标题】:Difference between Branch.io validateReferralCode() and applyReferralCode()? 【发布时间】:2015-07-21 17:03:54 【问题描述】:

我正在使用 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();
        
    
);

文档中的描述为,

验证推荐代码

验证分支系统中是否存在推荐代码并且仍然存在 有效的。代码在以下情况下有效:

它还没有过期。如果它的计算类型是 uniqe,它还没有 由当前用户申请。如果有效,则返回推荐代码 回调中的 JSONObject。

申请推荐码

应用推荐代码

如果分支系统中存在并且仍然有效,则应用推荐代码 (往上看)。如果代码有效,则返回推荐代码 回调中的 JSONObject。

这些有什么区别?

【问题讨论】:

【参考方案1】:

在Branch 的系统中,您可以指定一个推荐代码为一次性使用(意味着有人提前申请)。如果您需要事先查看此值,请使用验证推荐代码方法。

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

【讨论】:

我是这么想的。谢谢!

以上是关于Branch.io validateReferralCode() 和 applyReferralCode() 之间的区别?的主要内容,如果未能解决你的问题,请参考以下文章

Branch.io 优先考虑社交媒体链接

Branch.io 自定义事件计数不会增加快速链接

Branch.io 统计

Branch.io 使用时返回 Branch.getInstance().setIdentity("your_user_id");

branch.io 旅程横幅以编程方式关闭

branch.io 共享表问题