Google Play Developer API

Google Play Developer API は、公開操作とアプリの管理タスクを可能にする REST ベースのウェブ サービスです。 この API を使用すると、公開操作とリリース管理プロセスを統合できます。

この API はすべてのデベロッパーに必要なわけではありません。多くの場合は、引き続き Google Play Developer 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 は、デベロッパーが Google Play Developer Console で利用できるのと同様の以下のような機能を提供します。

  • アプリの新バージョンをアップロード
  • さまざまな「トラック」(アルファ版、ベータ版、段階的ロールアウト、製品版)に APK を割り当て、アプリをリリース
  • ローカライズしたテキストやグラフィック、多様な端末のスクリーンショットを含む、Google Play ストアのリスト作成と修正

こうしたタスクは、トランザクション アプローチで変更する編集機能を使って行います(複数の変更を一つの下書き編集にまとめ、一度に変更をコミットします)。 (編集をコミットしない限り変更は有効になりません。)

注: すべてのデベロッパーがこの API を使う必要はありません。 API が提供する機能はすべて、Google Play Developer Console でも利用できます。 ただし、API の方が自身のアプリとリストのアップデート プロセスを既存のツールに統合できるため、便利な場合があります。 特に、管理する APK の数が多い場合や多様なロケールでリストをローカライズする場合には、API が非常に役立ちます。

Subscriptions and In-App Purchases API

この API では、アプリ内アイテムと定期購入のカタログを管理できます。 さらに、Subscriptions and In-App Purchases API を使って、標準の GET リクエストで購入の詳細情報をすぐに取得することができます。 リクエストでは、購入に関する情報(アプリのパッケージ名、購入または定期購読 ID、購入トークン)を渡します。 サーバーは関連する購入の詳細情報、注文状況、デベロッパー ペイロードなどの情報を含む JSON オブジェクトを返します。

Purchase Status API には、個々の注文の報告と照合、購入と定期購入期限の確認など、複数の用途があります。 さらに、この API でキャンセルされた注文について調べ、アプリ内アイテムが消費済みか、あるいはキャンセル前に消費されたかどうかなどを確認することもできます。

注: Subscriptions and In-App Purchases API では、Publishing API で使う、新たなトランザクション「編集」機能は使いません。 InappproductsPurchases.productsPurchases.subscriptions リソースのメソッドは、即座に有効になります。 各リソースの API リファレンス ページには、こうしたリソースのメソッドが「編集」モデルを使うかどうかが具体的に記載されています。

Purchase Status API は Google Play Developer API バージョン 2.0 の一部であり、Google Developers Console 経由で利用できます。

API を利用する

API を呼び出すには、まず Google Play Developer Console で直接 Google Play Developer API を設定、管理します。 API を管理できるのは、Google Play デベロッパー アカウントの所有者に限られます。

API にアクセスするには、次の操作が必要です。

  1. 新規または既存の API プロジェクトを設定する
  2. 次の認証済みクライアントのうち 1 つ以上を設定する

詳細については、Google Play Developer API のスタート ガイド のページをご覧ください。

段階的な編集

Google Play Developer Publishing API の Edits メソッドでは、Google Play アプリへの変更の準備およびコミットができます。 アップデートの準備ができたら、一回の操作でデプロイできます。 たとえば次のような変更が可能です。

  • 1 つまたは複数の APK をアップロードする
  • 異なる APK をさまざまな「トラック」(アルファ版、ベータ版、段階的ロールアウト、製品版)に割り当てる
  • ローカライズしたアプリのストア掲載情報を作成、修正する
  • アプリのストア掲載情報用にスクリーンショットやその他の画像をアップロードする

すべての必要な変更を段階分けしけたら、一回の操作ですべてコミットできます。

段階的な編集に関する詳細は、Google Play Developer API の Edits のページをご覧ください。

注: 新たなトランザクションの「編集」機能は、Publishing API によってのみ利用できます。 Subscriptions and In-App Purchases API のメソッドは即座に有効になります。 各リソースの API リファレンス ページには、こうしたリソースのメソッドが「編集」モデルを使うかどうかが具体的に記載されています。

API を効果的に使用する

Google Play Developer API へのアクセスは、この API を使うすべてのアプリに対する高いパフォーマンス環境を保証するために規制されています(割り当てで説明)。 自身のアプリに対して、より高い 1 日あたりの割り当てをリクエストできますが、次のようなテクニックを使ってアクセスを最小限に抑えることを推奨します。

  • アプリのアップデート回数を制限 - アルファ版やベータ版のアップデートは 1 日 1 回までにとどめてください (製品版アプリはさらにアップデート頻度を低くする必要があります)。 アップデートのたびに時間や場合によっては費用がかかります。 あまりに頻繁にアップデートすると、ユーザーはアップデートを無視するようになったり、商品をアンインストールすることさえあります (もちろんアプリに重大な問題があるのであれば、その修正はしてください)。
  • Purchase Status API のクエリは新規購入に限定 - 購入時に、アプリから購入トークンとその他詳細情報をバックエンド サーバーに渡すと、Purchase Status API を使って購入の確認ができます。
  • 購入の詳細情報を自身のサーバーにキャッシュ - アプリ内アイテムと定期購入に関する詳細な購入情報を、できる限りバックエンド サーバーにキャッシュします。 実行中のアプリからバックエンド サーバーに対して購入の有効性を確認した場合、サーバーは Purchase Status API の利用を最小限に留めるために、キャッシュされた詳細情報に基づいて購入を確認し、ユーザーにできるだけ早く(かつベストな)レスポンスを返します。
  • 定期購入の期限をサーバーに保存 - サーバーで Purchase Status API を使って新しい定期購入トークンの期限を照会して、その期限をローカルに保存する必要があります。 これにより、期限日を迎えてからのみ定期購入状況を確認できるようになります(次をご覧ください)。
  • 期限日を迎えてから定期購入状況を照会 - 一度サーバーで定期購入トークンの期限日を取得したら、その期限日に達するか期限を過ぎるまで、Google Play サーバーに定期購入状況を再度照会しないようにします。 通常は、自身のサーバーでバッチ クエリを毎日実行して、期限切れの定期購入の状況を確認し、データベースをアップデートしているはずです。 その場合は、以下の点に注意してください。
    • 毎日、サーバーですべての定期購入を照会することは避けてください。
    • Android アプリからの個別リクエストに基づいて、サーバーで定期購入状況を動的に照会しないでください。

これらの一般的なガイドラインに沿って実装すれば、ユーザーに最適なパフォーマンスを提供することができます。

割り当て

Google Play Developer API を使用するアプリに対しては、初期の無料利用割り当てとして 1 日当たり 200,000 リクエスト(アプリ単位)という制限が設けられています。 これだけアクセス可能であれば、アクティビティの公開と通常の定期購入確認をするには十分なはずです。

アプリにおける利用制限の引き上げは、Google Developers Console の [Quotas] ペイン上にある「Request more」リンクからリクエストします。