Google Play Developer API

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 で使われる新しいトランザクション「編集」機能は使いません。InappproductsPurchases.productsPurchases.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 にアクセスするには、次の操作が必要です。

  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 回までにとどめてください(製品版アプリはさらにアップデート頻度を低くする必要があります)。アップデートのたびに時間や場合によっては費用がかかります。あまりにも頻繁にアップデートすると、ユーザーはアップデートを無視するようになったり、アプリをアンインストールしたりすることさえあります(もちろんアプリに重大な問題があるのであれば、その修正はしてください)。

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

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