Google Play的支付接入就不多說了,基本上就是自己搭一個android工程架構,把支付架構也好,把google的例子裡面的helper代碼copy進去,然後把相關的代碼export出一個jar給unity使用。注意要把gen裡面自動產生的IInAppBillingService.java也export到jar裡面。
以前也接入並測試過Google IAB,從v2開始還比較麻煩需要信用卡,v3就比較容易了只要添加測試帳號,但是最近測試的時候發現不行了,原來是現在測試支付有了一些新的規則。官方文檔傳送門:
http://developer.android.com/google/play/billing/billing_testing.html
大概總結幾點,如果遇到問題不妨對照一下,比如遇到報錯:PurchaseFragment.onStateChange: Purchase failed: PurchaseError{type=3 subtype=0}
1)用你自己的keystore簽名出版本,上傳到google play developer console裡面,注意要上傳為alpha或beta版本。
2)將你的apk publish。(這個是要點之一:否則你的商品是無法真正啟用的)這個需要幾個小時時間生效。
3)建立商品列表並啟用之。
4)添加全域測試帳號,即Settings->Account Details裡面的。這個添加後需要15分鐘啟用。如果已經有了則略過。注意測試帳號最好使用gmail帳號。並不是任意郵箱都可以的。
5)回到你的應用的入口,進入apk,選擇beta或者alpha,你已經上傳apk的入口。 Choose a testing method 那個地方選擇Setup closed alhpa/beta test. 這將開啟一個封閉的測試,裡面還要選擇測試帳號。儲存後將下面的opt-in url發給你的測試人員。即 https://play.google.com/apps/testing/com.xxx.xxx這個。
6)測試人員在電腦上用測試帳號登陸google,開啟上面的opt-in url並確認。
7)用一個安裝了足夠新版本google play商店的手機安裝你的版本,這個版本不一定和你上傳到console的一樣,但是簽名和版本號碼必須一致。手機用測試人員的gmail帳號登陸。最好把其他帳號都remove。這樣你就可以測試支付了。