Play Catalog API デベロッパー ガイド

Play Catalog API を使用することで、Google Play に登録されているサードパーティのアプリストア(3PAS)は Google Play アプリカタログにポーリングして更新があるかどうかを確認できます。呼び出し元は、前回の毎日のカタログ エクスポート以降に変更または削除されたアプリのカタログの詳細を取得できます。

エンドポイント、メソッド、リソース スキーマの一覧については、Play Catalog API リファレンスをご覧ください。

始める前に

Play Catalog API を呼び出すには、メインのスタートガイドを完了して、API アクセス、サービス認証情報、Google Cloud プロジェクトを設定しておく必要があります。


API の設計とアーキテクチャ

Play カタログ エクスポートは 24 時間ごとに生成されます。Play Catalog API は、前回のエクスポート以降に発生した更新を取得するためのイントラデイ ポーリング メカニズムです。

  1. 更新イベントをポーリングする: startTimeendTime の時間枠で appstorecatalog.recentUpdateEvents.list をクエリして、どのパッケージ名が変更または削除されたかを確認します。
  2. 詳細ビューを取得する: 変更されたパッケージ名ごとに、appstorecatalog.recentAppViews.get を呼び出して詳細な CatalogAppView メタデータを取得します。

この API は読み取り専用で、過去 36 時間以内に発生したイベントを返すように制限されています。両方のメソッド間で共有される API の上限 QPS は 2 です。


1. カタログ更新イベントをポーリングする

特定の時間枠に変更されたパッケージのリストを取得するには、appstorecatalog.recentUpdateEvents.list メソッドを呼び出します。

対象となるアプリの更新イベントのみが返されます。対象となるのは、以下の要件を満たすアプリのみです。

  • 呼び出し元のアプリストアのカタログ掲載にオプトインしている。
  • 米国(US)の Google Play ストアで公開され、利用可能である。

更新の種類について

  • MODIFICATION: 対象となるアプリが変更された場合、初めて公開された場合、米国をターゲットに設定し始めた場合、アプリがカタログに新たにオプトインした場合にトリガーされます。
  • DELETION: アプリの公開が停止された場合、アプリがカタログ掲載をオプトアウトした場合、一時停止された場合、ブロックされた場合、米国をターゲットにすることを停止した場合にトリガーされます。

2. カタログ アプリビューを取得する

MODIFICATION イベントで返されたパッケージごとに、appstorecatalog.recentAppViews.get メソッドを呼び出して、更新されたカタログの詳細を取得できます。


3. おすすめの方法と同期

以下の統合ガイドラインに沿って、ストア上のカタログ データベースとの整合性を維持してください。

  • 毎日のエクスポートによる同期: 毎日のカタログ エクスポートを使用して、対象となるアプリの完全なリストをインポートしてください。
  • (省略可)イントラデイ同期: 移動時間枠を使って appstorecatalog.recentUpdateEvents.list エンドポイントを 1 分ごとなど、定期的にポーリングしてください。必ず nextPageToken を使用してページネーションを処理してください。
    • 更新を処理する:
      • MODIFICATION イベントの場合は、appstorecatalog.recentAppViews.get を使用して更新された CatalogAppView を取得し、ローカル データベースを更新します。
      • DELETION イベントの場合は、ストアの掲載情報からアプリを削除するか、ユーザーに非表示にします。
    • 繰り返される変更イベントを処理する: 同じアプリに対して複数の MODIFICATION イベントが表示されることがあります。これは、クエリした時間枠内でアプリが複数回変更されたことを意味します。appstorecatalog.recentAppViews.get は常に最新の変更のアプリビューを返します。