概要
App Storeサーバ通知は、自動更新サブスクリプションのためのサービスです。App Storeは、サブスクリプションステータスに関するリアルタイムの変更内容をサーバに通知します。サーバ通知に含まれているすべてのフィールドについての詳細は、「App Storeサーバ通知(英語)」を参照してください。
App Storeサーバ通知サービスの使用は任意ですが、複数のプラットフォームでサブスクリプションサービスを提供していて、サブスクリプションレコードを常に最新に保つ必要がある場合には特に推奨されます。サーバを設定した後、App Store ConnectでサーバURLを追加することでいつでも通知の受信を開始できます。
通知とレシート検証と組み合わせて使用することで、ユーザーの現在のサブスクリプションステータスを検証し、そのステータスに応じたサービスやプロモーションオファーを提供できます。
通知を受信するためのサーバ設定
App Storeからサーバ通知を受信するには、以下の手順が必要です。
-
サーバでApp Transport Security (ATS) をサポートします。App Storeが通知を送信するには、事前にATSプロトコルを使用してサーバと安全なネットワーク接続を確立する必要があります。詳しくは、「安全でないネットワーク接続の回避(英語)」を参照してください。
-
サーバでサブスクリプションステータスの更新に使用するURLを決めます。
-
App Store Connectで、アプリのサブスクリプションステータスURLを設定します。設定方法については、「App Storeサーバ通知のURLを入力」を参照してください。
上記の手順を完了すると、サーバでApp Storeサーバ通知を受信できるようになります。
App Storeサーバ通知の受信
App Storeは、重要なサブスクリプションイベントの発生時に、HTTP POSTを使用してJSONオブジェクトをサーバに送信します。サーバ側では、受け取ったサーバ間通知をすべて解析し、解釈した上で、適切に応答しなければなりません。
サーバ間通知はHTTP POSTで行われます。POSTの本体には、responseBody(英語)に記載されているデータ要素が含まれます。App Storeが送信する通知では、サブスクリプションイベントの種類がnotification
(英語)フィールドの値で表されています。
App Storeサーバ通知への応答
App Storeサーバ通知の配信に成功したかどうかを示すHTTPステータスコードを送信するように、サーバを設定します。
-
配信が成功した場合はHTTP
200
を送信します。サーバからデータ値を返す必要はありません。 -
配信が成功しなかった場合は、HTTP
50x
または40x
を送信し、App Storeに通知の再送信をリクエストします。App Storeは一定期間、数回にわたって通知を再試行しますが、連続して失敗すると最終的に配信を停止します。
最新のステータス情報を使ったイベントの処理
App Storeサーバ通知を正常に有効化すると、サブスクリプションステータスに関する最新情報を受信できるようになります。通知と最新のレシートを使ってイベントを処理します。
-
アプリ内で、App Storeに問い合わせて、最新のレシートを検証します。詳しくは、「App Storeを使用したレシートの検証」を参照してください。
-
original
(英語)キーを使って最新のレシートと最新のサーバ間通知を相互参照し、ユーザーの現在のサブスクリプションステータスを検証します。_transaction _id -
必要に応じて、ユーザーに提供するサービスの更新や、プロモーションオファーの提示を行います。ガイダンスについては、「アプリへのお試しオファーの実装」および「アプリへのプロモーションオファーの実装(英語)」を参照してください。