Google play billing內建付費測試問題總結
這幾天接入google Play支付,也算是碰壁不少,到處爬帖子,總算是調通了,下面把遇到的問題分享下,方便後來人少繞彎路吧。
至於google Play如果整合到安卓工程和如何寫付費程式碼我這裡就不介紹了,網上很多介紹的帖子介紹的很不錯,自行百度和google吧。
主要說下我測試內建付費遇到的一些問題,其他遇到的問題也不多,主要有二個問題。
其中一個問題是用我自己後臺的productID測試時,點選付費後彈出“系統無法找到您要購買的商品”,鬱悶的是用android.test.purchased這個produceID測試卻是正常的。這個問題困擾我了我2天。
百度查詢基本都是說上傳到後臺的包名和測試包名不一致導致,或者簽名不一致導致,其實這些都不是我問題的原因。還有些人解決後也不分享下怎麼解決的(這裡就不說了)
後來列印trace如下:
11-24 13:20:25.406: D/Finsky(23407): [1] CarrierParamsAction.createCarrierBillingParameters: Carrier billing config is null. Device is not targeted for DCB 2.
11-24 13:20:25.406: E/Finsky(23407): [946] FileBasedKeyValueStore.delete: Attempt to delete 'paramsN5UQ3n3sZ-pMs6N0vSq1Kg' failed!
11-24 13:20:27.016: D/Finsky(23407): [1] PurchaseFragment.handleError: Error: PurchaseError{type=3 subtype=19}
11-24 13:20:27.021: D/Finsky(23407): [1] PurchaseFragment.fail: Purchase failed: PurchaseError{type=3 subtype=19}
google搜尋相關trace才追到問題根源(還是國外問題更新比較快,國內接google play的比較少應該,相關帖子也很少)。
首先後臺傳的alpha包一定要和你測試包簽名什麼的保持一致。
釋出應用等待大概3個小時的時間再測試,系統無法找到您要購買的商品這個提示確實沒有了,但又出現了新問題,提示”釋出商不能購買此商品“,不過已經離成功近了一步。
第二個問題就是上面說的提示”釋出商不能購買此商品“,查了下原來是不能用釋出商的賬號測試內建購買,好吧。我就新建了個google賬號,把手機上原來的賬號果斷刪除,新增新建的賬號,這裡不讓忘記在google後臺新增測試賬號哈,賬號間要用逗號隔開啊,這個google的說明就沒有蘋果友好。搞的我開始都不知道怎麼分割兩個賬號。你好歹也說明要賬號間用逗號隔開啊,總不能讓別人去猜吧。。。其實到這裡我的問題就解決了,接著新賬號測試付費終於看到了產品資訊。總算天晴了。。。。
如果後續有問題我會繼續貼出來的。。。