事前準備| Google Play 的帳單系統

文章推薦指數: 80 %
投票人數:10人

設定Google Play 開發人員帳戶; 在Google Play 管理中心啟用帳單相關功能. 新增程式庫依附元件; 上傳應用程式. 建立並設定產品; 設定Google Play Developer API ... 平台 AndroidStudio GooglePlay Jetpack Kotlin 文件 新聞 Language English BahasaIndonesia Español–AméricaLatina Português–Brasil TiếngViệt 中文–简体 中文–繁體 日本語 한국어 登入 GooglePlay 總覽 Play管理中心 PlayIntegrity Play帳款服務 Play政策 資源 平台 AndroidStudio GooglePlay 總覽 Play管理中心 PlayIntegrity Play帳款服務 Play政策 資源 Jetpack Kotlin 文件 新聞 GooglePlay的帳單系統 總覽 術語 事前準備 整合程式庫 銷售訂閱項目 提供促銷活動 測試整合功能 程式庫版本資訊 聯絡我們 其他指南 移轉至帳款服務程式庫5 2022年5月全新訂閱功能指南 打擊詐欺與濫用行為 開發人員酬載 搭配Unity使用帳款服務程式庫 資源 Play帳款服務程式庫參考資料 GooglePlayDeveloperAPI 其他資源 即時開發人員通知參考資料 已淘汰的內容 AIDL參考資料 獎勵商品 提醒:自2022年8月2日起,所有新應用程式都必須採用帳款服務程式庫4.0以上版本自2022年11月1日起,現有應用程式的所有更新都必須採用帳款服務程式庫4.0以上版本。

瞭解詳情。

GooglePlay的帳單系統 GooglePlay Play帳款服務 事前準備 注意:閱讀本主題前,請務必詳閱Play管理中心的說明中心文件,其中說明了重要的購買相關概念,以及如何建立和設定要銷售的產品。

本主題列出並說明在應用程式中販售產品前需採取的設定步驟。

大致上,設定內容包括建立開發人員帳戶、建立並設定要販售的產品,以及啟用並設定用於販售及管理產品的API。

本主題還會描述如何設定在產品狀態變更時,開發人員如何收到即時通知。

設定GooglePlay開發人員帳戶 請使用GooglePlay管理中心在GooglePlay上發布您的應用程式和遊戲。

您也可以透過GooglePlay管理中心管理與帳單相關的產品和設定。

若要存取GooglePlay管理中心,您必須設定GooglePlay開發人員帳戶。

如要在GooglePlay上販售付費應用程式和應用程式內購項目,您還必須在Google付款中心設定付款資料,然後將該付款資料連結至您的GooglePlay開發人員帳戶。

若要瞭解如何將個人資料連結至帳戶,或瞭解如何檢查自己是否擁有已連結的帳戶和資料,請參閱將GooglePlay開發人員帳戶與付款資料連結。

在GooglePlay管理中心啟用帳單相關功能 設定好開發人員帳戶之後,您必須發布包含GooglePlay帳款服務程式庫的應用程式版本。

您必須完成這個步驟,才能在GooglePlay管理中心啟用帳單相關功能,例如設定您要販售的產品。

新增程式庫依附元件 如要整合GooglePlay的帳單系統,請先在應用程式中將依附元件新增至GooglePlay帳款服務程式庫。

這個程式庫可讓您存取AndroidAPI以連結GooglePlay。

在這裡,您可以存取購買資訊、查詢購買交易的狀態更新、提示使用者進行新的購買交易以及執行其他操作。

Google的Maven存放區提供了GooglePlay帳款服務程式庫。

將該依附元件新增至應用程式的build.gradle檔案,如下所示: Groovy dependencies{ defbilling_version="5.0.0" implementation"com.android.billingclient:billing:$billing_version" } Kotlin dependencies{ valbilling_version="5.0.0" implementation("com.android.billingclient:billing:$billing_version") } 如果您使用的是Kotlin,GooglePlay帳款服務程式庫KTX模組包含了Kotlin的擴充和協同程式支援,可讓您在使用GooglePlay的帳單系統時以慣用的Kotlin程式語言編寫。

若要在專案中加入這些擴充功能,請將下列依附元件新增至應用程式的build.gradle檔案,如下所示: Groovy dependencies{ defbilling_version="5.0.0" implementation"com.android.billingclient:billing-ktx:$billing_version" } Kotlin dependencies{ valbilling_version="5.0.0" implementation("com.android.billingclient:billing-ktx:$billing_version") } 本文件中的Kotlin程式碼範例會盡可能使用KTX。

上傳應用程式 將程式庫新增至應用程式後,請建構並發布應用程式。

執行此步驟時,請先建立應用程式,接著發布至任何測試群組,包括內部測試群組。

建立並設定產品 為應用程式啟用GooglePlay帳款服務功能之後,您必須設定要販售的產品。

建立一次性產品與建立訂閱內容的步驟類似。

您必須為每個產品提供專屬的產品ID、名稱、說明和價格資訊。

訂閱項目還必須提供其他必要資訊,例如續約期、是否提供免費試用期,以及訂閱項目是否提供新用戶優惠。

GooglePlay管理中心提供可用於管理產品的網頁介面。

若要建立並設定一次性產品,請參閱建立納入管理的產品。

請注意,GooglePlay管理中心將一次性產品稱為納入管理的產品。

如要建立及設定訂閱內容,請參閱建立訂閱項目一文。

除了網頁介面之外,您也可以使用GooglePlayDeveloperAPI中的inappproductsREST資源來管理產品。

設定GooglePlayDeveloperAPI GooglePlayDeveloperAPI是一種伺服器對伺服器的API,與Android上的GooglePlay帳款服務程式庫相輔相成。

這個API提供GooglePlay帳款服務程式庫不具備的功能,例如安全地驗證購買交易,以及向使用者核發退款。

將GooglePlay帳單系統整合到應用程式中時,您必須透過GooglePlay管理中心設定GooglePlayDeveloperAPI的存取權。

如需相關說明,請參閱開始使用GooglePlayDeveloperAPI。

設定GooglePlayDeveloperAPI存取權後,請確定您已授予查看財務資料權限,才能存取帳單相關功能。

若要瞭解最佳做法以及設定權限的更多資訊,請參閱新增開發人員帳戶使用者以及管理各項權限。

設定即時開發人員通知 即時開發人員通知(RTDN)是一種當應用程式內的使用者授權發生變更時,可讓您接收Google通知的機制。

RTDN利用GoogleCloudPub/Sub,可讓您接收推送到所設定URL或使用用戶端程式庫進行輪詢的資料。

這些通知可讓您對訂閱狀態變更立即做出回應,而無需對GooglePlayDeveloperAPI進行輪詢。

請注意,GooglePlayDeveloperAPI的低效率使用可能會導致API配額受到限制。

注意:收到即時開發人員通知後,您必須呼叫GooglePlayDeveloperAPI,才能取得完整的狀態資訊並更新您自己的後端狀態。

這些通知只會告知您購買交易的狀態已變更,但不會提供購買交易的完整資訊。

CloudPub/Sub是一項屬於全代管的即時訊息傳遞服務,可用來在不同的應用程式之間收發訊息。

GooglePlay使用了CloudPub/Sub,會根據您訂閱的主題發布推播通知。

若要接收通知,您必須建立後端伺服器來收取寄送給您的主題訊息。

接著,伺服器可回應已註冊端點的HTTPS要求,或使用CloudPub/Sub用戶端程式庫來收取這些訊息。

這些程式庫提供多種語言。

本主題中有關建立Pub/Sub訂閱項目的章節也提供了更多資訊。

決定價格與配額 若要進一步瞭解價格與配額,請參閱價格與配額頁面。

估算數據用量 在訂閱通知的資料部分,每個要求的資料約為1KB。

每一次發布和提取時都需要分別提出要求,每則通知的資料約為2KB。

每月的通知數量取決於帳單週期和使用者的行為。

在帳單週期內,預計每位使用者至少需要一則通知。

設定CloudPub/Sub 若要啟用即時開發人員通知,您必須先使用自己的GoogleCloudPlatform(GCP)專案設定CloudPub/Sub,然後為應用程式開啟通知功能。

若要使用CloudPub/Sub,您必須擁有已啟用CloudPub/SubAPI的GCP專案。

如果您不熟悉GCP和CloudPub/Sub,請參閱快速入門指南。

注意:您必須分別為每個Android應用程式設定即時開發人員通知。

也就是說,您可以選擇使用與存取GooglePlayDeveloperAPI相同的GCP專案,或是為每個應用程式建立新的GCP專案。

如果您有多個應用程式,則必須對GooglePlayDeveloperAPI使用相同的GoogleCloudConsole專案,但您可以為單一的應用程式使用不同的GoogleCloudConsole專案。

例如,ClassyTaxi範例應用程式使用Firebase函式觸發程序中的程式碼範例處理即時開發人員通知。

Firebase專案連結至不同的GoogleAPI控制台專案,而非使用GooglePlayDeveloperAPI的GoogleCloudConsole專案。

建立主題 若要開始接收通知,您必須建立一個GoogleCloud應發布通知的主題。

請按照建立主題中的指示建立主題。

建立Pub/Sub訂閱項目 若要接收發布至某項主題的訊息,您必須為該主題建立一個Pub/Sub訂閱項目。

請按照下列指示建立Pub/Sub訂閱項目: 請閲讀CloudPub/Sub訂閱者指南來決定要將訂閱項目設定為發送式訂閱項目還是接收式訂閱項目。

發送式訂閱項目會讓CloudPub/Sub發出HTTPS要求,將通知傳送至安全的後端。

接收式訂閱項目則需要透過安全的後端伺服器,向CloudPub/Sub伺服器發出要求以擷取訊息。

按照新增訂閱項目中的指示建立訂閱項目。

注意:接收式訂閱項目通常用於在處理大量訊息時最佳化資源使用率,這個做法通常不適用於RTDN。

如果您不確定應該從發送式還是接收式訂閱項目開始,建議您使用發送式訂閱項目,因為這一般而言在實作上較為容易。

請參閱接收式還是發送式傳遞,以決定您的應用程式適合採用發送式還是接收式訂閱項目。

授予主題的發布權限 您必須授予GooglePlay權限,才能讓CloudPub/Sub針對您的主題發布通知。

開啟GoogleCloudConsole。

選取專案,接著按一下左側導覽面板中的Pub/Sub。

尋找您的主題,然後開啟權限詳細資料。

圖1.存取「權限」主題的設定。

新增服務帳戶[email protected],並對其授予Pub/Sub發布者的角色。

圖2.新增GooglePlay服務帳戶做為Pub/Sub發布者。

按一下「儲存」即可完成主題設定。

圖3.設定好的主題。

為應用程式啟用即時開發人員通知 若要為應用程式啟用即時開發人員通知,請按照下列指示操作: 開啟GooglePlay管理中心。

選取應用程式。

前往「營利」>「營利設定」。

捲動至頁面頂端的「即時開發人員通知」部分。

圖4.「即時開發人員通知」部分。

在「主題名稱」欄位中完整輸入您稍早設定的CloudPub/Sub主題名稱。

主題名稱應採用projects/{project_id}/topics/{topic_name}的格式,其中project_id是專案的專屬ID,topic_name是稍早建立的主題名稱。

按一下「傳送測試訊息」即可送出測試訊息。

測試發布有助於確保已正確完成各項設定。

如果測試發布成功,系統會顯示一則訊息,説明測試發布成功。

如果這個主題附加了一個訂閱項目,則您應收到該測試訊息。

如果是接收式訂閱項目,請前往GoogleCloudConsole中的訂閱項目,按一下「查看訊息」,然後繼續接收訊息。

您應確認接收到的任何訊息,以避免出現CloudPub/Sub重複傳遞的情況。

如果是發送式訂閱項目,請確認測試訊息是否已傳遞至發送端。

成功的回應代碼可用來確認訊息。

如果發布失敗,系統會顯示錯誤。

請確認主題名稱正確無誤,而且該[email protected]服務帳戶擁有該主題的Pub/Sub發布者存取權。

按一下「儲存變更」。

驗證設定 如要接收即時開發人員通知,您必須建立一個安全後端伺服器,以取用傳送給您的CloudPub/Sub主題訊息。

如要測試設定,請使用GooglePlay管理中心的「傳送測試訊息」按鈕(如上一節所述)。

如果您尚未設定用來取用通知的後端伺服器,可以使用gcloud指令列工具來驗證設定。

關於使用gcloud處理訊息的相關說明,請參閱從訂閱項目接收訊息。

後續步驟 將程式庫整合至您的應用程式 ContentandcodesamplesonthispagearesubjecttothelicensesdescribedintheContentLicense.JavaandOpenJDKaretrademarksorregisteredtrademarksofOracleand/oritsaffiliates. Lastupdated2022-06-16UTC. [{ "type":"thumb-down", "id":"missingTheInformationINeed", "label":"缺少我需要的資訊" },{ "type":"thumb-down", "id":"tooComplicatedTooManySteps", "label":"過於複雜/步驟過多" },{ "type":"thumb-down", "id":"outOfDate", "label":"過時" },{ "type":"thumb-down", "id":"translationIssue", "label":"翻譯問題" },{ "type":"thumb-down", "id":"samplesCodeIssue", "label":"示例/程式碼問題" },{ "type":"thumb-down", "id":"otherDown", "label":"其他" }] [{ "type":"thumb-up", "id":"easyToUnderstand", "label":"容易理解" },{ "type":"thumb-up", "id":"solvedMyProblem", "label":"確實解決了我的問題" },{ "type":"thumb-up", "id":"otherUp", "label":"其他" }] Twitter 在Twitter上追蹤@AndroidDev YouTube 造訪Android開發人員的YouTube頻道 LinkedIn 透過LinkedIn與Android開發人員社群互動交流 深入瞭解Android Android 企業專用Android 安全性 原始碼 新聞 網誌 Podcast 探索 遊戲 機器學習 隱私權 5G Android裝置 大螢幕 WearOS AndroidTV 車輛專用Android AndroidThings ChromeOS裝置 版本 Android11 Android10 Pie Oreo Nougat Marshmallow Lollipop KitKat 說明文件和下載項目 AndroidStudio指南 開發人員指南 API參考資料 下載Studio AndroidNDK 支援服務 回報平台錯誤 回報說明文件錯誤 GooglePlaysupport 參加研究調查 Android Chrome Firebase GoogleCloudPlatform 所有產品 隱私權 授權 品牌宣傳指南 透過電子郵件接收最新消息與相關訣竅 訂閱 Language English BahasaIndonesia Español–AméricaLatina Português–Brasil TiếngViệt 中文–简体 中文–繁體 日本語 한국어



請為這篇文章評分?