GooglePlay上架流程及內購商品接入

最近公司上了一版海外的App,走的Google Play Store。原來沒用過這玩應,突然還有點不適應。特記錄下這個過程,希望對你有幫助。

寫文章,有的圖片沒自己搞,盜了幾張圖啊,如有不妥請聯繫我刪除

公司角色任務分配有些不明確,所以從頭到尾都讓我來弄嘍,除了銀行卡 

步驟

1、註冊Google Play賬號

這個這裏就不多說了,很簡單。但是中間換了一次,買了一個香港的賬戶,因爲公司擔心大陸收不了美元(我們的應用針對美國)

2、創建應用及配置

編輯Application時是可以實時保存的,但是必須完成四步才能發佈內測、公測、生產三個版本。並且至少要發佈一版內測才能測試內購中付款的東西。其中四個選中圖標代表四步設置完成。

 

首先:如果是從頭開始的新應用就點擊右上角藍色按鈕create一個,因爲我們的應用時面向老美的,所以語言選擇了美國

填寫應用詳情:應用的圖片找你們公司的UI妹子提供下,名稱、類別根據自己的應用情況來填寫;網站爲公司h5官網,如果沒有可以讓h5同學簡單弄一個就行;電話和郵箱得和公司負責人要了;隱私政策的話連接地址填官網的協議頁,也就是與我們App裏登錄頁面的h5協議鏈接一致就行。

 

 

 

再次:應用分級也是發佈的基礎條件,但是前提是先上傳apk包(Apk包最好不要讓Google Play管理自己的簽名,據說可能會出現很多坑)。評級操作很簡單,基本一直點否就行了。

然後:定價和分發範圍這項配置也是比較簡單的,選擇相應的供應國家及勾選相應服務條款就可以了

最後:應用版本主要包含三個版本,如果應用內沒有觸犯到google的支付並且很自信!不用在測試了就可以直接發佈生產環境包了。如果想要用一下Google Play的免費測試版本並且自己內部也想測下,發佈成內測或者公測版並添加測試人員郵箱就行了,等穩定了在發佈線上版本。但是如果觸及到了支付問題,那就必須走內購了。比如像我們的應用就是這樣,內測版直接被拒了,google要求走內購。哎!!!

 

接入內購

首先:配置後臺商品

這裏我們關心三個地方,一個是ID,查詢及支付時要用到,一個是輸入的定價price與賬號綁定如我們公司後來用的是香港的賬號price結算單位爲港幣,但是勾選了定價下的複選框 後它會與美元形成兌換,所以將自己換算後的價格填上去就行了,最後一個關心的是狀態!!!要選成有效!!!

此外還有一個重要的參數就是公鑰

好!現在我們專注到代碼配置就可以了!

官方推出了兩種集成方式我這用的是第一種:https://developer.android.com/google/play/billing/billing_library_overview

官方的demo也是寫的挺全面的,我直接拿過來改了一下下就竣工了:https://github.com/googlesamples/android-play-billing/tree/master/TrivialDrive_v2

 

第一步,添加依賴及清單列表權限

dependencies {
    ...
    implementation 'com.android.billingclient:billing:1.2.2'
}


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

 

第二步,連接服務並獲取商品列表及展示在自己的頁面

    // 連接googlepay
    billingManager = BillingManager(this, this)

    // 連接成功,開始請求列表
    override fun onBillingClientSetupFinished() {
        showWaitDialog()
        billingManager?.querySkuDetailsAsync(BillingClient.SkuType.INAPP,
                  listOf("你的產品ID"),
                    this)
        }
    }

第三步,調起支付

 // 根據對應的id吊起Google Pay
 billingManager?.initiatePurchaseFlow(skuId, BillingClient.SkuType.INAPP)

第四步,得到回調並調用自己的後臺驗證

 // 購買結果
    override fun onPurchasesUpdated(purchases: List<Purchase>) {
        Logger.t(TAG).e("onPurchasesUpdated==" + purchases.toString())
        purchases.forEach {

            if (skuId.equals(it.sku)) {// 調用接口 驗證結果

                billingManager?.consumeAsync(it.purchaseToken) // 同步消費信息,防止下次調不起支付

                // ...調用接口
            }
        }
    }

好了,大功告成!

對了,不要忘了把幫了卡的測試人員加到測試人員列表,並且在發佈應用後需要等一些時間才能開始測試。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章