概要
Brightcove Beaconが購入が完了したことをプロバイダーに通知できるように、ビデオコンテンツや商品のプロバイダーがエンドポイントを設定する必要があります。Brightcove Beaconアプリを通じてアプリ内購入が行われると、アプリはAppleAppStoreのようなプラットフォームストアの一つと通信し、購入を完了する。定義されたエンドポイントは、このトランザクションの通知を受信します。
購入から通知までの流れを示す例を見てみましょう。架空の会社、AcmeSymphonyはエンドポイントを実装しました。iOSでBrightcove Beaconアプリを使っている視聴者が購入する。次に、ハイレベルワークフローを示します。
- 視聴者は、過去の交響曲のビデオへのアクセスのための定期購読と、これからの夏のライブコンサートのチケットを購入する。
- ビーコンアプリはアップルアプリストアを通じて購入を完了する。
- BeaconアプリケーションはBeaconに購入を通知します。
- Beaconentitlementサブシステムは、購入したサブスクリプション内のすべてのビデオアセットへのビューアアクセスを許可します。
- 通知がAcmeSymphonyのエンドポイントに送信されます。
- AcmeSymphonyは購入を知っており、購入者にチケットを送るなどの追加のワークフローをトリガーすることができます。
この文書の残りの部分では、技術的な実装について説明し、エンドポイントの実装に関する詳細を説明します。
通知の実装方法
プロセスの概要図を次に示します。
図の明確化の詳細:
- アマゾン簡易通知サービス(AmazonSNS)は、出版社から購読者にメッセージを伝達する管理型サービスだ。詳細については、Amazon のSNS 開発者ガイド.
- Brightcove Beaconのお客様から通知を受信すると、処置は異なります。この例では、チケットが購入されたため、チケットを送信する必要があります。そのため、通知が受信されると、ビジネスルールによって何が発生するかが決まります。
- エンドポイント実装のアプローチは、完全にお客様の判断です。この決定は、使用されているバックエンドテクノロジーとソフトウェアエンジニアのスキルによって行われる可能性が高いです。
- プラットフォームストアからBrightcove Beaconバックエンドへの点線は、更新などの他の通知用です。
通知の使用上のガイドライン
次に、通知の使用上のガイドラインを示します。
- 以下のストアからのアプリ内購入のお知らせがサポートされます。
- AppleAppStore(iOSおよびApple)TV)
- GooglePlay(AndroidおよびAndroidTV)
- 六チャンネルストア
- AmazonAppstore(FireTV)
- ストライプ(WebおよびSamsungTV)
- Beaconは、サブスクリプションに関する次のアクションを含む、購入関連のすべてのイベントを報告します。
- 新規
- 更新
- キャンセル
- GooglePlayにのみ適用されます。
- 一時停止
- 保留
- レジュメ
- 通知には十分な情報が記載されているため、外部ストアは、Beaconまたはネイティブストアを通じて既に購入している場合に、権利を適用したり、同じ資産(サブスクリプション)の購入を防止したりできます。
- 購入イベントは、ソースストアから通知を受けた後、外部ストアに配信されます。これは通常、5分未満(通常は秒以内)で発生します。
APIエンドポイントの仕様
Beaconシステムでサブスクリプションを正常に処理した後、Beaconは特定の顧客に固有の設定済みAPIエンドポイントにSNSトピックメッセージを配信します。
外部エンドポイントの要件は次のとおりです。
- APIエンドポイントは、AWSSNS統合と互換性がある必要があります。アマゾンを見るHTTP/S エンドポイントへのファンアウト詳細については、ドキュメントを参照してください。このドキュメントには、JavaServletとして作成されたAmazonSNSHTTPPOST要求を処理するエンドポイントの実装へのリンクが含まれています。
- API エンドポイントは、AWS によって使用される IP アドレスの範囲に対して開かれている必要があります - を参照してくださいAWS IP アドレス範囲.
- APIエンドポイントは、サブスクリプションの確認手順を実行します。アマゾンを見るサブスクリプションを確認する詳細については、ドキュメントを参照してください。
- APIエンドポイントは、通知のメッセージフィールドでJSONからのエスケープを解除する必要があります。アマゾンを見るメッセージ形式の解析詳細については、ドキュメントを参照してください。
- APIエンドポイントは、メッセージのシグニチャと送信元を確認する必要があります。アマゾンを見るAmazon SNS メッセージの署名の検証詳細については、ドキュメントを参照してください。
エラーから回復するために、ユーザに対してすべての購入を再送信できます(非アクティブな通知をフィルタリング)。ストアの外部APIエンドポイントは、すべてのメッセージが以前に消費された場合でも、すべてのメッセージを再処理する責任があります。
JSONペイロードの仕様
外部ストアエンドポイントに送信されるJSONペイロードには、次のフィールドを含めることができます。
名前 | タイプ | 必須 | 使用可能な値 | 注 |
---|---|---|---|---|
notification_type | 文字列 | 常に | 新着、更新する、キャンセル、一時停止、所有、履歴書 |
|
external_user_id | 文字列 | 常に | これは、ビーコンと外部ストアがユーザを識別するために一般的に使用するIDです。 | |
transaction_id | 文字列 | 常に | トランザクションの一意の識別子。解約が完了したら、このIDを利用して加入または個別購入を解約しなければならない。サブスクリプションが更新、再開、一時停止、または保留になると、このIDを使用して影響を受ける特定のサブスクリプションを検索します。 | |
開始日 | 整数 | キャンセル通知を除き、はい | 購入が有効になり、ユーザーの資格が開始されるべき日付 | |
終了日 | 整数 | 通知タイプに必要:新規、更新、キャンセル、および再開 | 購入が無効になり、ユーザーに対する資格が終了する日付です。キャンセル依頼につきましては、終了日 ユーザーがいつコンテンツにアクセスできなくなるかを定義します。 |
|
オリジナルストア | 文字列 | 常に | アップルストア、グーグルプレイ、アマゾンストア、縞、ロクストア、エバージェント、ビーコンストア | 購入した元の店舗 |
スクー | 文字列 | 常に | 購入したアイテムを識別します。これは、ソースストアで使用されるIDです。 | |
package_name | 文字列 | 常に | Brightcove BeaconのSVODまたはTVODパッケージの名前 | |
notification_date | 整数 | 常に | ビーコンから外部ストアシステムにイベントをディスパッチするタイムスタンプ | |
cancancelation_date | 整数 | 通知タイプがキャンセルの場合に必要です。 | キャンセル要求に使用され、ユーザ/ストアがサブスクリプションをキャンセルしたときのタイムスタンプを指定します。 | |
trial_end_date | 整数 | オプション(新規登録にのみ適用) | 存在するということは、裁判があるということです。新しいサブスクリプションの場合、トライアルの終了日が同じである可能性があります終了日 (ストアがトライアル用の通知を 1 つ送信し、実際のサブスクリプションの開始時に 2 つ目の通知を送信するユース ケース)。 |