Android亞馬遜IAP支付集成和上架的爬坑記錄

鑒于國(guó)內(nèi)對(duì)亞馬遜內(nèi)購(gòu)支付SDK集成的這塊的參考資料相當(dāng)?shù)纳?,而且上架亞馬遜App store也不像Google play那么簡(jiǎn)單,所以在此記錄一下自己趟過(guò)的坑。

集成

集成的相關(guān)資料如下:

官方文檔以及相關(guān)API說(shuō)明

官方demo+SDK

集成這一塊還是相當(dāng)簡(jiǎn)單的,照著官方文檔和demo,然后根據(jù)自己的實(shí)際需求進(jìn)行對(duì)應(yīng)的代碼編寫(xiě)。大概的流程如下:

  1. 實(shí)現(xiàn)并注冊(cè)PurchasingListener
  2. 獲取用戶(hù)信息
  3. 獲取產(chǎn)品信息
  4. 發(fā)起購(gòu)買(mǎi)
  5. 查詢(xún)更新
  6. 服務(wù)端驗(yàn)證
  7. 履行商品并使用notifyFulfillment

具體也可以參考Google Play Billing和亞馬遜應(yīng)用內(nèi)購(gòu)買(mǎi)(IAP)之間的區(qū)別,這樣更容易理解。

應(yīng)用測(cè)試

1、下載 Amazon App store;
2、在 Amazon App store下載 Amazon App Tester(附:下載下來(lái)安裝不了的去應(yīng)用管理頁(yè)面把相關(guān)的權(quán)限都打開(kāi),這樣也方便以后的支付測(cè)試);
3、去亞馬遜應(yīng)用商品開(kāi)發(fā)者后臺(tái)下載商品列表json文件;
4、獲取JSON數(shù)據(jù)文件并且文件命名為amazon.sdktester.json,將該文件復(fù)制至手機(jī)系統(tǒng)中的內(nèi)存文件夾 ;
5、打開(kāi) Amazon App Tester選擇IAP Items in JSON File查看json文件拷貝路徑是否正確,有文件則正確;
6、以上步驟都完成了,就可以開(kāi)始測(cè)試應(yīng)用內(nèi)購(gòu)了。

趟坑

  • 測(cè)試集成的過(guò)程中onProductDataResponse()始終返回response.getProductData()為空
    趟坑:剛開(kāi)始以為非得是亞馬遜的設(shè)備才可以測(cè)試支付,后面向亞馬遜的相關(guān)人員咨詢(xún)才知道安裝了Amazon App store的Android設(shè)備都可以進(jìn)行亞馬遜支付。這里的sku可以用官方demo里面的那個(gè)sku(親測(cè)有用),在這個(gè)本地測(cè)試階段,如果始終找不到有效的sku,建議換一臺(tái)手機(jī)試試。

  • 本地沙盒測(cè)試模式下,發(fā)起購(gòu)買(mǎi)后無(wú)任何反應(yīng),即沒(méi)有亞馬遜的彈窗出現(xiàn)。
    趟坑:手機(jī)設(shè)置->應(yīng)用管理->Amazon App Store->權(quán)限->后臺(tái)彈窗權(quán)限打開(kāi)。

  • App living test過(guò)程中收到測(cè)試郵件,點(diǎn)擊Amazon.com發(fā)現(xiàn)沒(méi)有我要測(cè)試的應(yīng)用
    趟坑:可以點(diǎn)擊Amazon.co.uk鏈接跳轉(zhuǎn)到測(cè)試應(yīng)用界面,然后將鏈接copy到Android手機(jī)的Google Chrome(別的瀏覽器點(diǎn)擊下載是打不開(kāi)這個(gè)下載鏈接的,貌似只有Google瀏覽器才能跳轉(zhuǎn)到Amazon App store),通過(guò)點(diǎn)擊下載,可以跳轉(zhuǎn)到Amazon App store進(jìn)行下載(附:不要用QQ郵箱注冊(cè)亞馬遜開(kāi)發(fā)者,因?yàn)榭赡懿粫?huì)及時(shí)收到亞馬遜相關(guān)郵件)

    收到的測(cè)試郵件部分截圖.png

  • 測(cè)試支付的話(huà),如果本地測(cè)試沒(méi)多大問(wèn)題的話(huà),可以直接提交App living test,不需要什么沙盒測(cè)試(避坑),這樣后端的同學(xué)直接配正式環(huán)境,然后按照文檔流程來(lái),測(cè)完了可以直接提交轉(zhuǎn)正;

  • 因?yàn)锳mazon App store上架過(guò)程中比較嚴(yán)格(相對(duì)于Google來(lái)說(shuō)),會(huì)遇到各種問(wèn)題,關(guān)鍵是網(wǎng)上還沒(méi)有解決辦法,這種情況下,最好是聯(lián)系亞馬遜相關(guān)人員咨詢(xún)解決。

  • 正式上線(xiàn)后測(cè)試支付,如果始終查詢(xún)不到有效的sku的話(huà),大概有以下幾種情況:
    1.注冊(cè)亞馬遜的賬號(hào)不是國(guó)外的;
    2.在保證亞馬遜賬號(hào)注冊(cè)的是國(guó)外的前提下,自己的默認(rèn)收件地址也不是國(guó)外的;
    3.手機(jī)自身的問(wèn)題,建議換一臺(tái)手機(jī)

  • 在注冊(cè)PurchasingListener的前提下,本地沙盒測(cè)試環(huán)境下調(diào)用PurchasingService的相關(guān)方法,可以監(jiān)聽(tīng)到事件的回調(diào),但是上傳到LAT測(cè)試環(huán)境和正式環(huán)境后,調(diào)用PurchasingService相關(guān)方法后PurchasingListener無(wú)任何監(jiān)聽(tīng)回調(diào)(天坑
    解決辦法:
    添加亞馬遜的混淆(鬼特么知道包上傳亞馬遜后臺(tái)后還有這種操作)

-dontwarn com.amazon.**
-keep class com.amazon.** {*;}
-keepattributes *注釋*
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容