AppGallery Connect:應(yīng)用付費鑒權(quán)

來源: HUAWEI
作者:HUAWEI
時間:2021-01-26
17298
在用戶使用付費應(yīng)用時,校驗用戶是否已經(jīng)成功購買此應(yīng)用。

應(yīng)用付費鑒權(quán)

在用戶使用付費應(yīng)用時,校驗用戶是否已經(jīng)成功購買此應(yīng)用。

注意

必須在7.2.1版本以上的華為應(yīng)用市場才可以使用AppGallery DRM Service SDK。

場景介紹

A公司開發(fā)了一款付費應(yīng)用,用戶B購買了此應(yīng)用。在用戶B打開此應(yīng)用時,應(yīng)用會校驗用戶B是否已經(jīng)購買成功。如果購買成功,用戶B可以使用該應(yīng)用,否則將提示用戶B購買此應(yīng)用。

0000000000011111111.20210119093204.49188648852811548749571683290204.png

開發(fā)步驟

1.添加“版權(quán)保護id”和“版權(quán)保護公鑰”。

將使用入門中獲取的“版權(quán)保護id”和“版權(quán)保護公鑰”添加到應(yīng)用啟動的主Activity的私有變量中。

 //版權(quán)保護id

private static final String DRM_ID = "請在這里填寫版權(quán)保護id";

//版權(quán)保護公鑰

private static final String DRM_PUBLIC_KEY = "請在這里填寫版權(quán)保護公鑰";

2.創(chuàng)建鑒權(quán)回調(diào)類實例。

鑒權(quán)接口通過回調(diào)的方式得到鑒權(quán)結(jié)果判斷是否成功,回調(diào)方法onCheckSuccess()為鑒權(quán)成功,回調(diào)方法onCheckFailed()為鑒權(quán)失敗。

以下代碼示例創(chuàng)建了一個DrmCheckCallback實例,用于接收鑒權(quán)結(jié)果。

private class MyDrmCheckCallback implements DrmCheckCallback {

    @Override

    public void onCheckSuccess() {

      //鑒權(quán)成功

      …… ……

    }

    @Override

    public void onCheckFailed(int errorCode) {

      //鑒權(quán)失敗

      //如果check接口入?yún)howErrorDialog為true或缺省時,建議調(diào)用finish結(jié)束程序

      //如果check接口入?yún)howErrorDialog為false時才需要處理errorCode,請參考錯誤碼文檔

      …… ……

    }

}

3.調(diào)用check接口。

將AppGallery DRM Service SDK的主要鑒權(quán)方法check添加到應(yīng)用程序啟動的主Activity的生命周期函數(shù)OnCreate的最開始位置,按接口說明傳入合法參數(shù),Activity將會被AppGallery DRM Service SDK保護。Drm.check方法是異步方法,進入應(yīng)用的邏輯應(yīng)該在DrmCheckCallback返回結(jié)果后執(zhí)行。

應(yīng)用在除了onCreate之外的其他方法中(例如onResume,onStart,onRestart等)也有進入應(yīng)用的處理時,建議在這些地方增加判斷付費鑒權(quán)的狀態(tài),以避免未購買用戶也可使用應(yīng)用。判斷方法可跟onCreate中保持一致,但需要注意驗證重復調(diào)用導致的異常。

@Override

protected void onCreate(Bundle savedInstanceState) {

      super.onCreate(savedInstanceState);

      // 調(diào)用鑒權(quán)方法

      Drm.check(this, this.getPackageName(), DRM_ID, DRM_PUBLIC_KEY,new MyDrmCheckCallback());

}

立即登錄,閱讀全文
版權(quán)說明:
本文內(nèi)容來自于HUAWEI,本站不擁有所有權(quán),不承擔相關(guān)法律責任。文章內(nèi)容系作者個人觀點,不代表快出海對觀點贊同或支持。如有侵權(quán),請聯(lián)系管理員(zzx@kchuhai.com)刪除!
優(yōu)質(zhì)服務(wù)商推薦
更多