Google Play Developer API は、公開操作とアプリの管理タスクを可能にする REST ベースのウェブサービスです。この API を使用すると、公開操作とリリース管理プロセスを統合できます。
この API はすべてのデベロッパーに必要なわけではありません。通常は、引き続き Google Play Console を使って自分のアプリを直接管理できます。 ただし、管理する APK の数が多い場合や、ユーザーの購入と定期購入を追跡する必要がある場合は、この API を利用すると便利です。
Google Play Developer API を使用すると、次のようなさまざまなアプリ管理タスクを自動化できます。
- アプリの新バージョンのアップロードとリリース
- ローカライズしたテキストやグラフィックを含む、Google Play ストアの掲載情報の編集
- アプリ内アイテムのカタログ、アイテムの購入ステータス、アプリの定期購入の管理
新規市場にビジネスを拡大する際も、Google Play Developer API を利用すればリリース管理に割く時間と手間を削減し、アプリの設計と開発に集中できます。
Google Play Developer API には 2 つの構成要素があります。
- Publishing API では、アプリのアップロード、公開、およびその他の公開関連タスクが行えます。
- Subscriptions and In-App Purchases API では、アプリ内購入と定期購入を管理できます(以前の名称は「Purchase Status API」)。
Publishing API
Google Play Developer Publishing API では、アプリの配信に伴い頻繁に生じるタスクを自動化できます。この API は、デベロッパーが Play Console で利用できるのと同様の以下のような機能を提供します。
- アプリの新バージョンをアップロードする
- さまざまな「トラック」(アルファ版、ベータ版、段階的な公開、製品版)に APK を割り当てて、アプリをリリースする
- ローカライズしたテキストやグラフィック、多様なデバイスのスクリーンショットを含む、Google Play ストアの掲載情報を作成、修正する
こうしたタスクは、トランザクション アプローチで変更する編集機能を使って行われます。複数の変更を 1 つの下書き編集にまとめ、一度に変更をコミットします(編集をコミットしない限り変更は有効になりません)。
注: すべてのデベロッパーがこの API を使う必要があるわけではありません。API が提供する機能はすべて、Google Play Console でも利用できます。ただし、この API を使用すると、アプリと掲載情報の更新プロセスを既存のツールと統合できるため、一部のデベロッパーにとっては非常に便利です。特に、管理する APK の数が多い場合や、多数のロケールに掲載情報をローカライズする場合は、この API が非常に有益です。
Subscriptions and In-App Purchases API
この API では、アプリ内アイテムと定期購入のカタログを管理できます。さらに、標準の GET リクエストで購入の詳細情報をすぐに取得することもできます。リクエストには、購入に関する情報(アプリのパッケージ名、購入 ID または定期購入 ID、購入トークン)を渡します。サーバーは関連する購入の詳細情報、注文ステータス、デベロッパー ペイロードなどの情報を含む JSON オブジェクトを返します。
Purchase Status API には、個々の注文の報告と照合、購入と定期購入期限の確認など、複数の用途があります。また、この API を使って、キャンセルされた注文について調べ、アプリ内アイテムが消費済みかどうか(キャンセル前に消費されたかどうかなど)を確認することもできます。
注: Subscriptions and In-App Purchases API では、Publishing API で使われる新しいトランザクション「編集」機能は使いません。Inappproducts、Purchases.products、Purchases.subscriptions の各リソースのメソッドはすぐに有効になります。各リソースの API リファレンス ページには、こうしたリソースのメソッドが「編集」モデルを使用するかどうかが具体的に記載されています。
Purchase Status API は Google Play Developer API バージョン 2.0 の一部であり、Google Developers Console 経由で利用できます。
API を利用する
API を呼び出すには、まず Google Play Console で直接 Google Play Developer API をセットアップ、管理します。API を管理できるのは、Google Play デベロッパー アカウントの所有者に限られます。
API にアクセスするには、以下の操作が必要です。
- 新規または既存の API プロジェクトを設定する
- 以下の認証済みクライアントのうち 1 つ以上をセットアップする。
詳細については、Google Play Developer API のスタートガイドのページをご覧ください。
段階的な編集
Google Play Developer Publishing API の編集メソッドでは、Google Play アプリへの変更の準備およびコミットができます。アップデートの準備ができたら、一回の操作でデプロイできます。たとえば次のような変更が可能です。
- 1 つまたは複数の APK をアップロードする
- 異なる APK をさまざまな「トラック」(アルファ版、ベータ版、段階的な公開、製品版)に割り当てる
- ローカライズしたアプリのストア掲載情報を作成、修正する
- アプリのストアの掲載情報用にスクリーンショットやその他の画像をアップロードする
必要な変更をすべてステージングしたら、1 回の操作ですべてコミットできます。
段階的な編集に関する詳細は、Google Play Developer API の編集のページをご覧ください。
注: 新しいトランザクション「編集」機能は Publishing API でのみ使用されます。Subscriptions and In-App Purchases API のメソッドはすぐに有効になります。各リソースの API リファレンス ページには、こうしたリソースのメソッドが「編集」モデルを使うかどうかが具体的に記載されています。
API を効果的に使用する
Google Play Developer API へのアクセスは、この API を使うすべてのアプリに対する高いパフォーマンス環境を確保するために規制されています(割り当てをご覧ください)。デベロッパーはアプリに対して、より多く 1 日あたりの割り当てをリクエストできますが、以下の方法でアクセスを最小限に抑えることをおすすめします。
公開
- アプリの更新回数を制限 - アルファ版やベータ版の更新の公開は 1 日 1 回までにとどめてください(製品版アプリはさらに更新頻度を低くする必要があります)。更新のたびに時間や場合によっては費用がかかります。あまりにも頻繁に更新すると、ユーザーは更新を無視するようになったり、アプリをアンインストールしたりすることさえあります(もちろんアプリに重大な問題があるのならば、修正してください)。
1 回だけの購入
- Purchase Status API のクエリを新規購入に限定 - 購入時に、アプリから購入トークンとその他の詳細情報をバックエンド サーバーに渡すと、Purchase Status API を使って購入を確認できます。
- 購入の詳細情報をアプリ側のサーバーのキャッシュに保存 - アプリ内アイテムと定期購入に関する詳細な購入情報を、できる限りバックエンド サーバーのキャッシュに保存します。アプリのランタイムにバックエンド サーバーに対して購入の有効性を確認する場合、サーバーはキャッシュに保存された詳細情報に基づいて購入を確認することで、Purchase Status API の利用を最小限に留め、ユーザーにできるだけ早く(かつベストな)レスポンスを返します。
定期購入
- 定期購入情報をアプリ側のサーバーに保存して、不要な API 呼び出しが行われないようにします。アプリで定期購入について確認する必要がある場合は、Google に対する API 呼び出しを繰り返し行うのではなく、アプリ側のサーバーのキャッシュに保存されている情報を使用してください。
アプリ側の安全なサーバーで Google Play Developer API を使って定期購入情報を取得する必要があるシナリオには次の 2 つがあります。
- 今までに見たことのない新しい購入トークンがアプリ側のサーバーに届いた。
- 購入トークンを使って新しい定期購入情報を取得する必要があることを示すリアルタイム デベロッパー通知(RTDN)がアプリ側のサーバーに届いた。
また、次の点に注意してください。
- 定期購入のステータスを定期的に確認するために API をポーリングしないでください。たとえば、API を毎日呼び出して各定期購入を確認しないでください。
- 定期購入が期限切れになるか更新されると RTDN が届くため、有効期限に基づいて API 呼び出しのスケジュールを設定する必要はありません。
これらの一般的なガイドラインに沿って実装すれば、ユーザーに最適なパフォーマンスを提供することができます。
割り当て
Google Play Developer API では割り当てを管理する必要があります。詳細については、割り当てに関するドキュメントをご覧ください。