Play Catalog API を使用することで、Google Play に登録されているサードパーティのアプリストア(3PAS)は Google Play アプリカタログにポーリングして更新があるかどうかを確認できます。呼び出し元は、前回の毎日のカタログ エクスポート以降に変更または削除されたアプリのカタログの詳細を取得できます。
エンドポイント、メソッド、リソース スキーマの一覧については、Play Catalog API リファレンスをご覧ください。
始める前に
Play Catalog API を呼び出すには、メインのスタートガイドを完了して、API アクセス、サービス認証情報、Google Cloud プロジェクトを設定しておく必要があります。
API の設計とアーキテクチャ
Play カタログ エクスポートは 24 時間ごとに生成されます。Play Catalog API は、前回のエクスポート以降に発生した更新を取得するためのイントラデイ ポーリング メカニズムです。
- 更新イベントをポーリングする:
startTimeとendTimeの時間枠でappstorecatalog.recentUpdateEvents.listをクエリして、どのパッケージ名が変更または削除されたかを確認します。 - 詳細ビューを取得する: 変更されたパッケージ名ごとに、
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は常に最新の変更のアプリビューを返します。
- 更新を処理する: