發表文章

目前顯示的是 三月, 2016的文章

整合 Android In-app Billing 的注意事項

提醒,您必須擁有 Google Play 開發者帳戶以及 Google Payments 商家帳戶。

整合流程:
1. 將 App 加上以下權限。(程式內其他 Billing 相關的部分可暫時先不實作)
<uses-permission android:name="com.android.vending.BILLING" /> 2. 將 Apk Sign 好,上傳到 Google Play 的 Alpha 測試階段。(需要一段時間生效)
3. 開始在 Developer Console 中建立應用程式內商品,並記得啟用。
4. 開發者不能購買自己的程式內商品,所以請準備另一個 Google 帳戶作為測試用。
5. 將測試帳號加入 Alpha 測試群組。
6. 將測試帳號加入授權測試帳戶(Developer Console -> 設定 -> 帳戶詳細資料 -> 測試用 Gmail 帳戶),這樣測試交易才不被真的扣款。
7. 參考範例開始實作 In-app Billing 的程式碼。
8. 若有使用 ProGuard 也請記得加上 -keep class com.android.vending.billing.** 9. 將實作好的 Apk 傳到實機測試(不能使用模擬器)。請務必確認實機上已有測試帳號,且 Version Code & 簽章跟之前上傳到 Google Play 上的相同。

注意事項:
1. 測試交易會在 14 天後自動取消。所以若要重複測試的話,請至 Google Payments 商家帳戶取消交易。(更新:從2016/6/20開始,測試交易將不再出現於商家帳戶,要重複測試的話,只能透過consume的方式來消耗掉已購買的項目。)
2. 若您沒有自己的Server處理交易紀錄,而是靠 Google Play Client 來記錄的話。因為他有 Local Caching 的機制,有時不會立即反映交易狀態的改變。比如說您從 Google Payments 商家帳戶取消了交易,但 App 透過 In-app Billing API 去查詢卻還是"已購買"的狀態。此時可以試著重啟裝置讓 Google Play Client 去同步交易狀態。

參考資料:
http://developer…