日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android GooglePay 填坑录

發(fā)布時間:2024/9/30 Android 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android GooglePay 填坑录 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

轉載請標明出處:http://blog.csdn.net/zhaoyanjun6/article/details/106197857
本文出自【趙彥軍的博客】

目錄

    • 1、基礎概念坑
    • 2、支付坑
    • 3、發(fā)版流程坑
      • 那么如何集成 google 結算庫 ?
      • 如何添加測試人員?
      • 如何創(chuàng)建商品?
        • 創(chuàng)建訂閱商品
      • 如何上傳 alpha 版本?
      • 如何把 alpha 版本轉化為生產包?
    • 4、Alpha 測試、Beta 測試 坑
    • 5、代碼坑
    • 6、數(shù)據(jù)報表坑
      • 訂單管理
      • 收入情況
    • 7、結算幣種
      • google play跟用戶結算
      • google play跟開發(fā)者結算
    • 8、GooglePlay 測試條件
    • 9、郵件通知

最近我接了一個大活,領導要求 app接入google支付,來應對商業(yè)化變現(xiàn)困局。

說干就干,經(jīng)過2周的洗禮,我也算從支付小白變成了支付老手,中間踩了很多坑,記錄下來。

在你閱讀本文之前,我強烈建議你,不要馬上動手擼代碼,你要先把本文完完整整一字不漏的讀完,先有一個整體框架

1、基礎概念坑

google支付分為 內購(inapp) 和 訂閱 (subscription)

inapp:內購分為:購買和消耗 兩個步驟。如果購買成功,再調用消耗方法,下次可以繼續(xù)購買。如果購買成功,不調用消耗的方法,那么下次將不能再次購買,返回的錯誤碼為7。

subscription :訂閱只有購買,沒有消耗。 購買成功也就是訂閱成功,訂閱成功后會周期性扣費。訂閱周期是可以自定義的,可以 周訂閱、月訂閱,季度訂閱、年訂閱 。

訂閱成功后,用戶可以取消訂閱,取消成功后,也可以恢復訂閱。需要說明的是,訂閱成功后,48小時內取消訂閱是會退款的,超過 48 小時取消訂閱不會退款,允許用戶繼續(xù)享受訂閱服務到本次訂閱周期結束。

2、支付坑

第一個坑,我們來說說支付坑。

和所有的支付功能一樣,支付需要綁卡,而且卡必須支持境外支付功能的,信用卡和儲蓄卡都行。沒有卡的同學可以去招商銀行申請全幣信用卡(招商VISIA全幣信用卡,招商銀行mastercard全幣信用卡)。

可以去營業(yè)廳申請,嫌麻煩的也可以在 招行 掌上生活 App 申請 。 我當時不知道就跑去營業(yè)廳,到了營業(yè)廳發(fā)現(xiàn)營業(yè)員讓我下載 App 操作,我 TM。。。 , 最后順利申請到 招商VISIA全幣信用卡 ,申請完成后,差不多 5 天左右就收到卡了。

收到信用卡后,就可以在 GooglePlay 上綁定卡,打開手機上的 GooglePlay 。點擊 付款方式 -> 點擊 添加信用卡或借記卡

下面我們來說說沒有卡怎么辦,辦理信用卡也需要時間。再一個方面,支付一直扣自己銀行卡里面的錢,自己也肉疼。 解決這個問題很簡答,就是在 GooglePlay 開發(fā)者后臺添加自己的 GooglePlay 賬號為測試賬號。

當你成為測試人員后,你就可以用測試模式支付了,好處就是可以完整的體驗支付流程,不會真的扣錢。這種方式特別適合開發(fā)和測試,推薦。

我貼一個圖,大家看一下兩種模式的樣子,你對比一下

一定要記得:添加的測試賬號是你手機里面 GooglePlay 登陸賬號才行。具體怎么添加,這里不講,下面章節(jié)會詳細說。

3、發(fā)版流程坑

在以往的發(fā)版中,我們都是在本地測試,測試成功后,直接在 googlePlay 后臺發(fā)生產包,加個 20% 灰度量,就 OK了。

接入支付后,發(fā)版就不能這么隨意了,并不是說你集成了google 結算庫,就具有支付功能了,要想app具有支付功能,你需要下面幾個步驟:

第一步:集成 google 結算庫,添加必要的權限,具體的邏輯代碼可以先不著急寫。

第二步:添加測試人員

第三部:創(chuàng)建商品

第四步:假設你當前的版本號設為 2.0 ,打包。然后在 googlePlay 開發(fā)者后臺,上傳 alpha 版本。

第五步:上傳完 alpha 版本,你的 2.0 apk 就具有支付功能了,就可以編寫具體支付代碼,測試人員就可以測試了。

第四步:如果 alpha 版本測試成功了,就可以從 alpha 版本 一鍵轉為生產包,等審核通過,用戶就可以搜到你的應用了。

那么如何集成 google 結算庫 ?

google 支付依賴包,官方地址:google結算庫使用

如果是 java項目

implementation 'com.android.billingclient:billing:2.1.0'

如果是 Kotlin 項目

implementation 'com.android.billingclient:billing-ktx:2.1.0'

添加支付必要的權限

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

如何添加測試人員?



如何創(chuàng)建商品?

GooglePlay 要求,任何需要購買的商品都是要在 GooglePlay 開發(fā)者后臺創(chuàng)建。

創(chuàng)建訂閱商品




如何上傳 alpha 版本?




一切順利的話,就可以等待Google的審核了,通常這個過程會花費2-3個小時不等。審核通過后,在Android 設備Google play store上登陸你的測試者賬號,就可以搜索你上傳的的app了,之后就可以發(fā)起正常的購買流程,不需要綁定銀行卡,因為不會真正的付費。

在測試購買的過程中,有可能發(fā)現(xiàn)bug了,改了之后需要再上傳apk么?不用,直接像開發(fā)其他功能一樣,直接連著IDE開發(fā)調試,購買流程完全不受影響,前提:設備上需要在google play store登陸測試者賬號。

如何把 alpha 版本轉化為生產包?


生產包發(fā)布以后,等 Google 審核通過,用戶就可以搜到帶有支付功能的包了。

4、Alpha 測試、Beta 測試 坑

官方鏈接:https://developer.android.google.cn/distribute/best-practices/launch/beta-tests.html?hl=zh-cn

在 Google Play 的眼里,認為所有的上架包都應該有經(jīng)過測試環(huán)節(jié)測試,測試通過后才可以正式發(fā)布。

Google Play 把測試環(huán)境分為 Alpha 測試 和 Beta 測試 。

Alpha 測試 :官方定義為 封閉式測試 。測試范圍小,人員少。 一般可以認為是內部測試,即供開發(fā)者內部測試人員測試。

Beta 測試 :官方定義為 開放式測試 。測試范圍廣,人員多。普通用戶可以參與的測試環(huán)境。

Google Play 建議標準的測試流程為:先 Alpha 測試 ,然后再 Beta 測試 ,最后發(fā)布生成包。但是在實際開發(fā)過程中,根據(jù)具體環(huán)境自己選擇,比如我在做支付的時候,就只有 Alpha 測試 , 測試通過,直接發(fā)布。

需要注意的事項:

  • 確保用戶可以加入測試:不管哪種測試,測試人員都需要有 googlePlay 賬戶
  • 選擇合適的測試類型 :Alpha 版測試的用戶群規(guī)模不應太大,而且應當用于測試最不穩(wěn)定的實驗性質的應用版本;而 Beta 版測試的用戶群規(guī)模可以稍大,以便針對即將發(fā)布的較穩(wěn)定應用版本進行測試。
  • 檢查您的 APK 版本號:提供給 Alpha 版測試人員使用的 APK 的版本號必須高于您的 Beta 版或正式版,而進行 Beta 版測試的 APK 的版本號必須高于正式版。

5、代碼坑

官方文檔:https://developer.android.com/google/play/billing/billing_library_overview#kotlin

有一點需要注意的是,結算庫現(xiàn)在是 2.1.0 版本 , 我們當做是 2.x 版本。在以前還有 1.x 版本。

官方文檔:各個版本庫的更新說明

相比 1.x 版本,2.x 版本主要的不同點:

  • 修復潛在的內存泄漏問題
  • 增加"確認購買"概念,每個新購買的商品都需要調用acknowledgePurchase方法來進行確認購買,如果沒有進行確認購買,三天后會遭受系統(tǒng)自動退款。
  • 強制刪除BillingFlowParams.setSku()方法,改為使用BillingClient.querySkuDetailsAsync()+BillingFlowParams.Builder.setSkuDetails()來配置發(fā)起購買的參數(shù)。
  • 消耗商品和確認購買配置添加setDeveloperPayload()方法,可以將一個字符串傳遞給google,然后可以在查詢商品記錄里面獲得該值。(目前沒在發(fā)起購買里看到這個方法,具體試用場景還不是很明確)
  • 增加"待交易"概念,購買商品回調里面,我們需要通過getPurchaseState方法來判斷商品當前的狀態(tài)。(重要)
  • 其他一些api修改,問題不大。不過一些開發(fā)者測試之類的功能應該很有用,但我沒有具體去看。

推薦一個開源庫,真心好用。這個開源庫針對 1.x 版本 、2.x 版本 分別做了對應的封裝,可以參考一下;

1.x 版本:https://github.com/TJHello/GoogleBilling

2.x 版本:https://github.com/TJHello/GoogleBilling/tree/2.0/

6、數(shù)據(jù)報表坑

應用發(fā)布以后,怎么看付費情況,怎么看相關的數(shù)據(jù)報表?其實 GooglePlay 開發(fā)者后臺提供了相應的數(shù)據(jù)。

訂單管理

收入情況



7、結算幣種

幣種涉及到兩方面:google play如何跟用戶結算,google play如何結算給開發(fā)者

google play跟用戶結算

用戶購買時的幣種主要由用戶的歸屬地決定,歸屬地依賴于:

1、綁卡用戶由信用卡歸屬地決定。

2、非綁卡用戶,由ip地址決定。

幣種為歸屬地的幣種,該歸屬地如果在配置價格列表中,按配置價格計算。不在列表中,價格則涉及到匯率換算,換算的匯率按用戶購買時的匯率確定。

google play跟開發(fā)者結算

結算給開發(fā)者的幣種,按開發(fā)者銀行卡歸宿地確定

價格為用戶付費價格結合分成比例和匯率計算,如果涉及到匯率換算,則按用戶購買時的匯率計算。

8、GooglePlay 測試條件

當許可測試用戶免費測試應用內物品購買,用戶安裝的APK需滿足以下條件:

  • 安裝APK包名必須與Google Play Console測試渠道中APK包名相同。

  • 安裝APK簽名必須與Google Play Console測試渠道中APK簽名相同。

  • 安裝APK版本號必須與Google Play Console測試渠道中APK版本號相同。

9、郵件通知

不管你是購買成功、訂閱成功、還是取消訂閱,你都會通過郵件收到通知。
郵件內容包含:訂單編號、訂單時間、商品名字、支付價格、結算幣種、付款方式

總結

以上是生活随笔為你收集整理的Android GooglePay 填坑录的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內容還不錯,歡迎將生活随笔推薦給好友。