Android 開發之接入Google Billing-Inapp支付

一. 能使用Google支付的必備條件:android

1.手機上可以安裝Google Play而且可以打開。app

2.在Google Play Console上發佈本身的應用(有支付權限的,下面會講),能夠只發布Beta版本(未開發完也能夠發佈,要簽名過的app)。以下圖:(若是達到了下圖的結果,app狀態爲已發佈狀態,就能夠測試Google支付了,可是要綁定一張銀行卡,具體能夠Google。在Develop Console 添加測試gmail帳戶,這樣就不會真正扣費啦!):工具

 

二. Android Studio上的有關配置測試

1.加上權限:google

<uses-permission android:name="com.android.vending.BILLING" />

2.須要導入在工具類:spa

   a. 在 Android Studio 中打開Android SDK Manager(在Tools-->Android 裏面),找到並安裝Google          Play Billing Library這一項。code

   b. 找到上面下載的東西,在你Android Studio的SDK安裝的路徑下的---->                                           \extras\google\play_billingsamples\TrivialDrive\src\com\example\android\trivialdrivesample\util,    複製這個util這個文件夾裏面的全部類到你的Android Studio裏面,以下圖:(裏面的全部類,要用到          的)。遊戲

   

   c. 找到你Android Studio的SDK安裝的路徑下的\extras\google\play_billing下面的                                                                   IInAppBillingService.aidl文件,複製它到你的Android Studio 項目以下圖的位   置:(確保位置要同樣)開發

三. 開始測試Google支付文檔

   1.初始化IabHelper類(參數base64EncodedPublicKey是以下圖,在Google Play Console中找到,前提app已經發布了):

mHelper = new IabHelper(context, base64EncodedPublicKey);

而後初始化,相關的參數能夠參考官方文檔:

mHelper.startSetup

初始化成不成功取決於測試設備成功安裝Google Service之類的,最後體現爲能不能成功打開Google Play   2.在Google Play中設置app內商品的類型(包括它的ID,購買時候會用到) :

     a.受管理的商品---單個購買,好比遊戲裏面的金幣

     b.訂閱---如,VIP的購買

若是是受管理的商品,買了以後就要消耗,購買了沒有消耗它,下次是不能購買的,這點很重要。

3.和Google支付相關的一些方法

  a.購買--launchPurchaseFlow(Activity, String, int, OnIabPurchaseFinishedListener, String) 

  b.consumeAsync(Purchase, OnConsumeFinishedListener) 消耗商品(若是你的商品是可重複購買,需       要在購買成功後將商品消耗掉).

  c.queryInventoryAsync(boolean, List, QueryInventoryFinishedListener) 查詢用戶所擁有的商品信息

 4.要在Activity的onActivityResult方法中調用mHelper.onActivityResult(requestCode,resultCode,data),        否者購買後不會調用他的購買結束監聽方法。

 

總結:只是講了核心的東西,有些細節沒有講,可是都是小問題,均可以Google的出來(如購買參數,消             耗參數等)可是有個坑,Google都很難解決,就是若是手機不給Google Play這個app,容許後臺彈窗           權限,當執行購買的時候,什麼也沒反應,購買成不成功,也不返回,很煩。這個點須要注意到

 

 

。。。。。。。。。。。。最後但願大家可以在測試中出現以下圖相似的購買單圖:

那就說明你的google app內支付已完成,到這時你會以爲其實也很簡單。

相關文章
相關標籤/搜索