本主題列出并說明了在您的應(yīng)用中銷售商品之前需要執(zhí)行的設(shè)置步驟。大體上講,此設(shè)置包括創(chuàng)建開發(fā)者帳號、創(chuàng)建和配置要銷售的商品,以及啟用和配置用于銷售和管理商品的API。此外,本主題還介紹了如何配置實(shí)時(shí)開發(fā)者通知,以便在商品的狀態(tài)發(fā)生變化時(shí)隨時(shí)收到通知。
設(shè)置Google Play開發(fā)者帳號
如需在Google Play上發(fā)布您的應(yīng)用和游戲,請使用Google Play管理中心。您還可以使用Google Play管理中心管理與結(jié)算相關(guān)的商品和設(shè)置。
如需訪問Google Play管理中心,您需要設(shè)置Google Play開發(fā)者帳號。
如需在Google Play上銷售付費(fèi)應(yīng)用和應(yīng)用內(nèi)購商品,您還必須在Google付款中心設(shè)置付款資料,然后將該付款資料與您的Google Play開發(fā)者帳號相關(guān)聯(lián)。如需了解如何將您的付款資料與帳號相關(guān)聯(lián),或者了解如何檢查您是否已有關(guān)聯(lián)的帳號和付款資料,請參閱將Google Play開發(fā)者帳號與您的付款資料相關(guān)聯(lián)。
在Google Play管理中心內(nèi)啟用結(jié)算相關(guān)功能
重要提示:如果您的應(yīng)用當(dāng)前使用AIDL來集成Google Play結(jié)算服務(wù),請參閱從AIDL遷移到Google Play結(jié)算庫的遷移指南,大致了解從AIDL遷移到Google Play結(jié)算庫時(shí)需要執(zhí)行的步驟。
設(shè)置開發(fā)者帳號后,您必須發(fā)布包含Google Play結(jié)算庫的應(yīng)用版本。如需在Google Play管理中心啟用結(jié)算相關(guān)功能(如配置您要銷售的商品),必須執(zhí)行此步驟。
添加庫依賴項(xiàng)
如需集成Google Play結(jié)算系統(tǒng),請先在您的應(yīng)用中添加對Google Play結(jié)算庫的依賴項(xiàng)。此庫可讓您訪問用于連接到Google Play的Android API。這樣,您便可以訪問購買信息、查詢有關(guān)購買交易的更新、提示用戶進(jìn)行新的購買交易,等等。
Google的Maven代碼庫中提供了Google Play結(jié)算庫。將依賴項(xiàng)添加到應(yīng)用的build.gradle文件中,如下所示:
dependencies{
def billing_version="3.0.0"
implementation"com.android.billingclient:billing:$billing_version"
}
如果您使用的是Kotlin,Play結(jié)算庫KTX模塊包含了Kotlin擴(kuò)展程序和協(xié)程支持,可讓您在使用Google Play結(jié)算系統(tǒng)時(shí)編寫慣用的Kotlin代碼。如需將這些擴(kuò)展程序包含在項(xiàng)目中,請將以下依賴項(xiàng)添加到應(yīng)用的build.gradle文件中,如下所示:
dependencies{
def billing_version="3.0.0"
implementation"com.android.billingclient:billing-ktx:$billing_version"
}
上傳您的應(yīng)用
將該庫添加到您的應(yīng)用后,構(gòu)建并發(fā)布您的應(yīng)用。在此步驟中,創(chuàng)建您的應(yīng)用,然后將其發(fā)布到任何軌道,包括內(nèi)部測試軌道。
創(chuàng)建和配置您的商品
為您的應(yīng)用啟用Google Play結(jié)算服務(wù)功能后,您需要配置要銷售的商品。
創(chuàng)建一次性商品和訂閱的步驟相似。對于每個(gè)商品,您需要提供唯一的商品ID、商品名、說明和定價(jià)信息。訂閱具有其他必需的信息,如續(xù)訂期、您是否提供免費(fèi)試訂,以及訂閱是否有初次體驗(yàn)優(yōu)惠。
Google Play管理中心提供了一個(gè)可用于管理商品的網(wǎng)頁界面。
如需創(chuàng)建和配置一次性商品,請參閱創(chuàng)建受管理的商品。請注意,Google Play管理中心將一次性商品稱為“受管理的商品”。
如需創(chuàng)建和配置訂閱,請參閱創(chuàng)建訂閱。
作為網(wǎng)頁界面的替代方案,您還可以使用Google Play Developer API中的inappproducts REST資源管理商品。
配置Google Play Developer API
Google Play Developer API是一種服務(wù)器到服務(wù)器API,與Android平臺(tái)上的Google Play結(jié)算庫相輔相成。此API提供了Google Play結(jié)算庫中未提供的功能,如安全地驗(yàn)證購買交易以及為用戶辦理退款。
在將Google Play結(jié)算系統(tǒng)集成到應(yīng)用的過程中,您必須通過Google Play管理中心配置對Google Play Developer API的訪問權(quán)限。有關(guān)說明,請參閱Google Play Developer API使用入門。
配置對Google Play Developer API的訪問權(quán)限后,請確保您已授予查看財(cái)務(wù)數(shù)據(jù)權(quán)限,需要具備此權(quán)限才能訪問與結(jié)算相關(guān)的功能。如需了解最佳做法以及有關(guān)配置權(quán)限的詳細(xì)信息,請參閱添加開發(fā)者帳號用戶并管理權(quán)限。
配置實(shí)時(shí)開發(fā)者通知
借助實(shí)時(shí)開發(fā)者通知(RTDN)機(jī)制,每當(dāng)用戶的權(quán)限在您的應(yīng)用中發(fā)生變化時(shí),您都會(huì)收到來自Google的通知。RTDN利用Google Cloud Pub/Sub,該服務(wù)可讓您接收推送到您設(shè)置的網(wǎng)址或使用客戶端庫輪詢的數(shù)據(jù)。這些通知允許您立即對訂閱狀態(tài)的變化做出反應(yīng),這樣就無需輪詢Google Play Developer API。請注意,如果Google Play Developer API的使用效率低下,可能會(huì)導(dǎo)致API配額限制。
Cloud Pub/Sub是一種完全托管的實(shí)時(shí)消息傳遞服務(wù),您可以使用該服務(wù)在獨(dú)立應(yīng)用之間收發(fā)消息。Google Play使用Cloud Pub/Sub發(fā)布有關(guān)您所訂閱主題的推送通知。
為了接收通知,您需要?jiǎng)?chuàng)建后端服務(wù)器以使用發(fā)送到您主題的消息。您的服務(wù)器隨后便可以使用這些消息,方法是響應(yīng)對已注冊端點(diǎn)的HTTPS請求,或使用Cloud Pub/Sub客戶端庫。這些庫有多種語言版本。如需了解詳情,另請參閱本主題的創(chuàng)建Pub/Sub訂閱部分。
確定定價(jià)和配額
如需詳細(xì)了解定價(jià)和配額,請參閱定價(jià)和配額。
估算流量消耗
訂閱通知的流量大約為每個(gè)請求1KB的流量。每次發(fā)布和提取通知都需要一個(gè)單獨(dú)的請求,即每個(gè)通知大約2KB的流量。每月的通知數(shù)量取決于您的結(jié)算周期和用戶的行為。在一個(gè)結(jié)算周期內(nèi),每個(gè)用戶應(yīng)至少有一個(gè)通知。
設(shè)置Cloud Pub/Sub
如需啟用實(shí)時(shí)開發(fā)者通知,您必須先使用自己的Google Cloud Platform(GCP)項(xiàng)目設(shè)置Cloud Pub/Sub,然后再為您的應(yīng)用啟用通知。
如需使用Cloud Pub/Sub,您必須擁有一個(gè)啟用了Cloud Pub/Sub API的GCP項(xiàng)目。如果您不熟悉GCP和Cloud Pub/Sub,請參閱快速入門指南。
注意:您必須分別為每個(gè)Android應(yīng)用配置實(shí)時(shí)開發(fā)者通知。這意味著,您可以選擇使用與用來訪問Play Developer API的GCP項(xiàng)目相同的GCP項(xiàng)目,也可以為每個(gè)應(yīng)用創(chuàng)建一個(gè)新的GCP項(xiàng)目。如果您有多個(gè)應(yīng)用,必須對Google Play Developer API使用相同的Google API控制臺(tái)項(xiàng)目,但可以對各個(gè)應(yīng)用使用不同的Google API控制臺(tái)項(xiàng)目。
例如,Classy Taxi示例應(yīng)用將實(shí)時(shí)開發(fā)者通知與Firebase Functions觸發(fā)器一起使用(示例代碼)。該Firebase項(xiàng)目關(guān)聯(lián)到的Google API控制臺(tái)項(xiàng)目不同于使用Google Play Developer API的Google API控制臺(tái)項(xiàng)目。
創(chuàng)建主題
如需開始接收通知,您必須創(chuàng)建一個(gè)主題,Google Play應(yīng)將通知發(fā)布到該主題。如需創(chuàng)建主題,請按照創(chuàng)建主題中的說明操作。
創(chuàng)建Pub/Sub訂閱
如需接收發(fā)布到某個(gè)主題的消息,您必須創(chuàng)建對該主題的Pub/Sub訂閱。如需創(chuàng)建Pub/Sub訂閱,請執(zhí)行以下操作:
閱讀Cloud Pub/Sub訂閱者指南,以確定是將訂閱配置為“推送訂閱”還是“拉取訂閱”。
推送訂閱允許Cloud Pub/Sub通過發(fā)出HTTPS請求向您的安全后端服務(wù)器發(fā)送通知。
拉取訂閱要求您的安全后端服務(wù)器向Cloud Pub/Sub服務(wù)器發(fā)起請求以檢索消息。
按照添加訂閱中的說明來創(chuàng)建訂閱。
注意:拉取訂閱通常用于在處理大量消息時(shí)優(yōu)化資源利用率,這一般不適用于RTDN。如果您不確定要從推送還是拉取入手,我們建議您使用推送,因?yàn)檫@種機(jī)制一般更容易實(shí)現(xiàn)。請參閱拉取或推送分發(fā)內(nèi)容,以幫助您確定推送訂閱還是拉取訂閱最適合您的應(yīng)用。
針對您的主題授予發(fā)布權(quán)限
Cloud Pub/Sub要求您向Google Play授予向您的主題發(fā)布通知的權(quán)限。
打開Google Cloud Console。
選擇您的項(xiàng)目,然后在左側(cè)導(dǎo)航欄中點(diǎn)擊Pub/Sub。
找到您的主題,然后打開權(quán)限詳細(xì)信息。
圖1.訪問主題權(quán)限的配置。
添加服務(wù)帳號google-play-developer-notifications system.gserviceaccount.com,然后授予其Pub/Sub發(fā)布商的角色。
圖2.將Google Play服務(wù)帳號添加為Pub/Sub發(fā)布商。
點(diǎn)擊保存以完成主題的設(shè)置。
圖3.配置的主題。
為您的應(yīng)用啟用實(shí)時(shí)開發(fā)者通知
如需為您的應(yīng)用啟用實(shí)時(shí)開發(fā)者通知,請執(zhí)行以下操作:
打開Google Play管理中心。
選擇您的應(yīng)用。
轉(zhuǎn)到獲利>獲利設(shè)置。
滾動(dòng)到頁面頂部的實(shí)時(shí)開發(fā)者通知部分。
圖4.實(shí)時(shí)開發(fā)者通知部分。
在主題名稱字段中,輸入您之前配置的完整Cloud Pub/Sub主題名稱。主題名稱應(yīng)采用projects/{project_id}/topics/{topic_name}格式,其中project_id是項(xiàng)目的唯一標(biāo)識符,topic_name是之前創(chuàng)建的主題的名稱。
點(diǎn)擊發(fā)送測試消息以發(fā)送測試消息。執(zhí)行測試發(fā)布有助于確保一切均已正確設(shè)置和配置。如果測試發(fā)布成功,則系統(tǒng)會(huì)顯示一條消息,指出測試發(fā)布已成功。如果有此主題的訂閱者,則該訂閱者應(yīng)收到測試消息。
如果發(fā)布失敗,則系統(tǒng)會(huì)顯示錯(cuò)誤。請確保主題名稱正確,并且google-play-developer-notifications system.gserviceaccount.com服務(wù)帳號擁有對該主題的Pub/Sub發(fā)布商訪問權(quán)限。
點(diǎn)擊保存更改。
驗(yàn)證您的配置
為了接收實(shí)時(shí)開發(fā)者通知,您應(yīng)創(chuàng)建安全的后端服務(wù)器,以使用發(fā)送到您的Cloud Pub/Sub主題的消息。
您可以使用Google Play管理中心的發(fā)送測試消息按鈕來測試您的配置,如上一部分中所述。如果您尚未配置后端服務(wù)器以使用通知,可以使用gcloud命令行工具來驗(yàn)證配置。有關(guān)使用gcloud處理消息的說明,請參閱從訂閱拉取消息。