最新google play內購(com.android.billingclient) 教程 代碼 封裝 使用方法

對於google play內購,網上已經有很多教程了,但大部分都是舊的V3版。這次我用的是最新的com.android.billingclient:billing:1.0,其優點是不需要key了,不需要IInAppBillingService.aidl了,不需要那一大堆Utils了。

碼雲項目GoogleBillingUtilV1.1.5

因爲版本更新太頻繁,所以放到碼雲裏面了,如果好用的話,記得點星哈

GoogleBillingUtilV0.0.3下載(V3API,適合Eclipse)

com.android.billingclient:1.0.aar解壓包

上面的解壓包可爲Eclipse而用,這樣Eclipse也能使用V1.1.5版本了。具體用法下載頁面會有介紹。

這是我對google play內購代碼的二次封裝,只需要簡單的一步就能初始化,裏面的接口功能齊全,具備完整的成功、失敗、錯誤回調。裏面包含詳細教程。

然後這裏我說一下過程中容易遇到的坑。

  1. (V3)上文中說的博客會讓你下載google play
    API,但你有可能找不到其中提到的路徑,只能根據自己經驗,找到相似的,反正整的就是一個示例,示例裏包含util包和IInAppBillingService.aidl(當然,我的封裝代碼已經攜帶了當前版本的util包和IInAppBillingService.aidl了)

  2. (V3)有的文章會說,將IInAppBillingService.aidl放到com.android.vending.billing這個包裏,其實不是,這是eclipse的做法吧,Android Studio需要放到項目app\src\main\aidl\com\android\vending\billing裏面

  3. 內購對支付環境的要求很高,最好測試的時候找那些綁定了信用卡的賬號來測試,多換幾臺手機來測,不然有可能什麼都不提示,直接失敗。另外就是翻牆,應用的包名、版本號需要對應,商品id不要有錯。

  4. (新增天大坑!!)Error:In-app billing error: Null data in IAB activity resul。。無論你怎麼嘗試都無法調起支付窗。原因是沒有給Google play彈窗權限,國內很多手機都有彈窗權限管理,特別是小米,如果沒允許,是不會有任何提示,並且攔截了的。

  5. 查詢已購買的商品列表時,googleplay返回的是其本地緩存的內容,具體什麼時候會聯網更新,還有更新頻率,這個不是很清楚,反正知道不是實時的就行,不會很影響使用。例如訂閱,如果說是12:00:00就到期了,但你12:01:00上去或者還能查到記錄,但再過一會肯定恢復正常。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章