Google商店的應用被下架,應用內購買必須走Google支付,還要扣去百分之三十的手續費,而且有些國家還會收一定的銷售稅最高達27%,其實Google支付只是自己集成了Paypal支付和銀行卡支付,然後Google收手續費。用戶使用Google正常支付退款時間是48小時,退款只會在商家賬號通知。
我們來談一談集成Google支付吧:
Google上給出了Demo:https://github.com/cafebazaar/TrivialDrive
裏面有購買訂閱和受管理產品的,大家可以下載運行一下試一試。我剛開始是按照Google開發文檔去集成的,可能是我水平有限,並沒有成功。最後是按Demo去搞吧,方便。Google給出的API:https://developer.android.com/google/play/billing/billing_integrate.html
要在您的應用中實現應用內購買結算,您需要執行以下操作:
- 將應用內購買結算庫添加到您的項目中。
- 更新您的
AndroidManifest.xml
文件。 - 創建
ServiceConnection
並將其綁定到IInAppBillingService
。 - 從您的應用發送應用內購買結算請求至
IInAppBillingService
。 - 處理來自 Google Play 的應用內購買結算請求響應。
將 AIDL 文件添加到您的項目中
IInAppBillingService.aidl
是一種定義應用內購買結算版本 3 服務接口的 Android 接口定義語言 (AIDL) 文件。 您可以使用此接口通過調用 IPC 方法調用來發送結算請求。
要獲取 AIDL 文件,請執行以下操作:
- 打開 Android SDK 管理器。
- 在 SDK 管理器中,展開
Extras
部分。 - 選擇 Google Play Billing Library。
- 點擊 Install packages 完成下載。
IInAppBillingService.aidl
文件將安裝到 <sdk>/extras/google/play_billing/
。
要將 AIDL 添加到您的項目,請執行以下操作:
- 首先,下載 Google Play Billing Library 到您的 Android 項目:
- 選擇 Tools > Android > SDK Manager。
- 在 Appearance & Behavior > System Settings > Android SDK 下面,選擇 SDK Tools 標籤以選擇並下載 Google Play Billing Library。
- 接下來,複製
IInAppBillingService.aidl
文件到您的項目。- 如果您使用的是 Android Studio,請執行以下操作:
- 導航至 Project 工具窗口中的
src/main
。 - 選擇 File > New > Directory,然後在 New Directory 窗口中輸入
aidl
,再選擇 OK。 - 選擇 File > New > Package,然後在 New Package 窗口中輸入
com.android.vending.billing
,再選擇 OK。 - 使用您的操作系統文件資源管理器,導航至
<sdk>/extras/google/play_billing/
,複製IInAppBillingService.aidl
文件,然後將其粘貼到項目中的com.android.vending.billing
軟件包。
- 導航至 Project 工具窗口中的
- 如果您在非 Android Studio 環境中開發,請執行以下操作:創建目錄
/src/com/android/vending/billing
,並將IInAppBillingService.aidl
文件複製到此目錄。 將 AIDL 文件添加到您的項目中並使用 Gradle 工具構建項目,從而生成IInAppBillingService.java
文件。
- 如果您使用的是 Android Studio,請執行以下操作:
- 開發您的應用。您會在項目的
/gen
目錄中看到名爲IInAppBillingService.java
的生成文件。
更新您的應用清單
應用內購買結算依賴於 Google Play 應用,後者將處理應用與 Google Play 服務器之間的所有通信。 要使用 Google Play 應用,您的應用必須請求適當的權限。 您可以通過將 com.android.vending.BILLING
權限添加到 AndroidManifest.xml 文件執行此操作。 如果您的應用未聲明應用內購買結算權限,但試圖發送結算請求,Google Play 將拒絕請求並使用錯誤響應。
要爲您的應用授予必要的權限,請在 AndroidManifest.xml
文件中添加以下代碼行:
- <uses-permission android:name=“com.android.vending.BILLING” />
<uses-permission android:name="com.android.vending.BILLING" />
這個權限是一定得加的。按照例子,先把所需Google aidl放好,位置一定不能錯。
IInAppBillingService.aidl
還有所需的Util,都拷貝到項目中:
然後Clean一下,不讓IInAppBillingService不能用。
下面開始代碼集成:
先把所需要的常量定義一下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
|