Google は、黒人コミュニティに対する人種平等の促進に取り組んでいます。取り組みを見る

準備する

このトピックでは、アプリ内でアイテムを販売するために必要な設定手順について説明します。この概要レベルの設定手順には、デベロッパー アカウントの作成、販売するアイテムの作成と構成、アイテムの販売と管理に使用する API の有効化と設定が含まれています。このトピックでは、アイテムのステータスが変化したときに通知を受け取れるようにリアルタイム デベロッパー通知を構成する方法についても説明します。

Google Play デベロッパー アカウントを設定する

Google Play でアプリとゲームを公開するには、Google Play Console を使用します。Google Play Console を使用して、請求関連のアイテムと設定を管理することもできます。

Google Play Console にアクセスするには、Google Play デベロッパー アカウントを設定する必要があります。

また、Google Play で有料アプリとアプリ内購入を販売するには、Google お支払いセンターでプロファイルを設定し、そのプロファイルを Google Play デベロッパー アカウントにリンクする必要があります。プロファイルをアカウントにリンクする方法と、リンク済みのアカウントとプロファイルがすでにあるかどうかを確認する方法については、Google Play デベロッパー アカウントをお支払いプロファイルにリンクするをご覧ください。

Google Play Console で請求関連の機能を有効にする

デベロッパー アカウントを設定したら、Google Play Billing Library を含むバージョンのアプリを公開する必要があります。この手順は、Google Play Console で請求関連の機能(販売するアイテムの構成など)を有効にするために必要です。

ライブラリへの依存関係を追加する

Google Play の課金システムを統合するには、まず Google Play Billing Library への依存関係をアプリに追加します。このライブラリを使用すると、Google Play に接続するための Android API にアクセスできます。そこから、購入情報へのアクセス、購入に関する最新情報の照会、ユーザーに新しい購入を促すメッセージの表示などを行うことができます。

Google Play Billing Library は、Google の Maven リポジトリから入手できます。次に示すように、アプリの build.gradle ファイルに依存関係を追加します。

dependencies {
    def billing_version = "3.0.0"

    implementation 'com.android.billingclient:billing:$billing_version'
}

Kotlin を使用している場合、Google Play Billing Library の KTX モジュールに Kotlin 拡張機能とコルーチンのサポートが含まれているため、Google Play の課金システムを使用する際に慣用的な Kotlin コードを作成できます。これらの拡張機能をプロジェクトに含めるには、アプリの build.gradle ファイルに次の依存関係を追加します。

dependencies {
    def billing_version = "3.0.0"

    implementation 'com.android.billingclient:billing-ktx:$billing_version'
}

アプリをアップロードする

ライブラリをアプリに追加したら、アプリをビルドして公開します。この手順では、アプリを作成した後、内部テストトラックなどの任意のトラックに公開します。

アイテムを作成して構成する

アプリで Google Play 請求サービス機能を有効にしたら、販売するアイテムを構成する必要があります。

1 回限りのアイテムと定期購入を作成する手順は似ています。アイテムごとに、一意の商品 ID、タイトル、説明、価格情報を指定する必要があります。定期購入には、更新期間、無料試用の有無、お試し価格の有無といった追加の必須情報があります。

Google Play Console には、アイテムの管理に使用できるウェブ インターフェースが用意されています。

  • 1 回限りのアイテムの作成と構成については、管理対象アイテムの作成をご覧ください。1 回限りのアイテムは、Google Play Console では「管理対象アイテム」と呼ばれます。

  • 定期購入の作成と構成については、定期購入の作成をご覧ください。

ウェブ インターフェースの代わりに、Google Play Developer API の inappproducts REST リソースを使用してアイテムを管理することもできます。

Google Play Developer API を構成する

Google Play Developer API は、Android 上で Google Play Billing Library を補完するサーバー間 API です。この API は、購入の安全な確認やユーザーへの安全な払い戻しなど、Google Play Billing Library では提供されない機能を提供します。

Google Play の課金システムをアプリに統合する際には、Google Play Console で Google Play Developer API へのアクセスを構成する必要があります。手順については、Google Play Developer API のスタートガイドをご覧ください。

Google Play Developer API へのアクセスを構成したら、請求関連の機能にアクセスするために必要な支払いデータの表示権限を必ず付与してください。ベスト プラクティスと権限の詳細な構成方法については、デベロッパー アカウント ユーザーの追加と権限の管理をご覧ください。

リアルタイム デベロッパー通知を構成する

リアルタイム デベロッパー通知(RTDN)は、アプリ内でユーザーの利用権に変更が生じたときに Google から通知を受け取るメカニズムです。RTDN では Google Cloud Pub/Sub が使用されるため、デベロッパーが設定した URL に push されたデータまたはクライアント ライブラリによってポーリングされたデータを受け取ることが可能です。これらの通知を使用すると、Google Play Developer API をポーリングする必要がなくなり、定期購入の状態の変化にすぐに対応できます。なお、Google Play Developer API を効率的に使用しないと、API の割り当て制限を受ける可能性があります。

Cloud Pub/Sub は、独立したアプリ間のメッセージの送受信に使用できるフルマネージドのリアルタイム メッセージ サービスです。Google Play は、Cloud Pub/Sub を使用して、デベロッパーがサブスクライブしているトピックに関するプッシュ通知をパブリッシュします。

通知を受信するには、トピックに送信されたメッセージを消費するバックエンド サーバーを作成する必要があります。サーバーは、登録されたエンドポイントへの HTTPS リクエストに応答するか、または Cloud Pub/Sub クライアント ライブラリを使用することにより、それらのメッセージを消費できます。これらのライブラリは、さまざまな言語で利用できます。詳細については、このトピックの Pub/Sub サブスクリプションの作成セクションをご覧ください。

Cloud Pub/Sub を設定する

リアルタイム デベロッパー通知を有効にするには、まず自身の Google Cloud Platform(GCP)プロジェクトを使用して Cloud Pub/Sub を設定し、次にアプリへの通知を有効にします。

Cloud Pub/Sub を使用するには、Cloud Pub/Sub API を有効にした GCP プロジェクトが必要です。GCP と Cloud Pub/Sub に慣れていない場合は、クイックスタート ガイドをご覧ください。

トピックを作成する

通知を受信するには、Google Play による通知のパブリッシュ先となるトピックを作成する必要があります。トピックを作成するには、トピックを作成するに記載された手順を実施します。

Pub/Sub サブスクリプションの作成

トピックに公開されたメッセージを受信するには、そのトピックに対する Pub/Sub サブスクリプションを作成する必要があります。Pub/Sub サブスクリプションを作成する手順は次のとおりです。

  1. Cloud Pub/Sub サブスクライバー ガイドを確認し、サブスクリプションを push サブスクリプションと pull サブスクリプションのどちらとして構成するかを決定します。
    • push サブスクリプションの場合、Cloud Pub/Sub は HTTPS リクエストを発行することにより、安全なバックエンドに通知を送信できます。
    • pull サブスクリプションの場合、安全なバックエンド サーバーが Cloud Pub/Sub サーバーへのリクエストを開始してメッセージを取得する必要があります。
  2. サブスクリプションの追加の手順に沿って、サブスクリプションを作成します。

トピックへのパブリッシュ権限を付与する

Cloud Pub/Sub では、トピックに通知をパブリッシュする権限を Google Play に付与することが必要です。

  1. Google Cloud Console を開きます。
  2. プロジェクトを選択し、左側ナビゲーションで [Pub/Sub] をクリックします。
  3. トピックを見つけて権限の詳細を開きます。

    権限トピックの構成にアクセスする
    図 1. 権限トピックの構成にアクセスする
  4. サービス アカウント google-play-developer-notifications@system.gserviceaccount.com を追加して、Pub/Sub パブリッシャーのロールを付与します。

    Google Play サービス アカウントを Pub/Sub パブリッシャーとして追加する
    図 2. Google Play サービス アカウントを Pub/Sub パブリッシャーとして追加する
  5. [保存] をクリックして、トピックの設定を完了します。

    構成されたトピック
    図 3. 構成されたトピック

アプリでリアルタイム デベロッパー通知を有効にする

アプリでリアルタイム デベロッパー通知を有効にする手順は次のとおりです。

  1. Google Play Console を開きます。
  2. アプリを選択します。
  3. [開発ツール] > [サービスと API] に移動します。
  4. ページ下部の [リアルタイム デベロッパー通知] セクションまでスクロールします。

    [リアルタイム デベロッパー通知] セクション
    図 4. [リアルタイム デベロッパー通知] セクション
  5. [トピック名] に、先ほど構成した完全な Cloud Pub/Sub トピック名を入力します。トピック名は projects/{project_id}/topics/{topic_name} の形式で指定する必要があります。ここで、project_id はプロジェクトの一意の識別子、topic_name は先ほど作成したトピックの名前です。

  6. [テスト メッセージを送信] をクリックしてテスト メッセージを送信します。テスト パブリッシュを実行すると、すべてが適切に設定および構成されていることを確認するのに役立ちます。テスト パブリッシュが成功すると、成功したことを示すメッセージが表示されます。このトピックにサブスクライバーがある場合は、サブスクライバーがテスト メッセージを受信します。

    パブリッシュが失敗すると、エラーが表示されます。トピック名が正しいかどうか、トピックに対する Pub/Sub パブリッシャー アクセス権が google-play-developer-notifications@system.gserviceaccount.com サービス アカウントに付与されているどうかを確認してください。

  7. [トピックを更新] をクリックします。

構成を確認する

リアルタイム デベロッパー通知を受信するには、Cloud Pub/Sub トピックに送信されたメッセージを消費する安全なバックエンド サーバーを作成する必要があります。

前のセクションで説明したように、Google Play Console の [テスト メッセージを送信] ボタンを使用して構成をテストできます。バックエンド サーバーで通知の消費を構成していない場合は、gcloud コマンドライン ツールを使用して構成を確認できます。gcloud を使用してメッセージを処理する手順については、サブスクリプションからのメッセージの pull をご覧ください。

次のステップ