概覽
視頻內容和/或商品的提供商有必要設置端點,以便 Brightcove Beacon 可以通知提供商購買已完成。當通過 Brightcove Beacon 應用程序進行應用程序內購買時,該應用程序會與其中一個平台商店(如 Apple App Store)進行通信以完成購買。定義的端點將收到此事務的通知。
讓我們看一個演示從購買到通知的流程的示例。虛構的公司 Acme Symphony 實施了一個端點。在 iOS 上使用 Brightcove Beacon 應用程序的觀眾進行購買。這是高級工作流程:
- 觀眾購買訂閱以訪問過去交響樂的視頻,以及即將到來的夏季現場音樂會的門票。
- Beacon 應用程序通過 Apple App Store 完成購買。
- Beacon 應用程序通知 Beacon 購買。
- Beacon 授權子系統授予觀看者訪問所購買訂閱中的所有視頻資產的權限。
- 通知將發送到 Acme Symphony 的端點。
- Acme Symphony 了解購買情況並能夠觸發其他工作流程,例如將門票發送給購買者。
文檔的其餘部分闡明了技術實現並提供了實現端點的細節。
通知是如何實現的
這是該過程的高級圖表:
圖表的說明細節:
- Amazon Simple Notification Service (Amazon SNS) 是一項託管服務,可提供從發布者到訂閱者的消息傳遞。有關詳細信息,請參閱亞馬遜的SNS 開發者指南 .
- 在您(Brightcove Beacon 客戶)收到通知後,操作會有所不同。在示例中,由於購買了門票,因此需要發送門票。因此,一旦收到通知,您的業務規則將決定必鬚髮生什麼。
- 端點實施方法完全由您決定。該決定很可能取決於所使用的後端技術和您的軟件工程師的技能。
- 從平台商店直接到 Brightcove Beacon 後端的虛線用於其他通知,例如續訂。
通知使用指南
以下指定通知的使用指南:
- 支持來自以下商店的應用內購買通知:
- Apple App Store(iOS 和 AppleTV)
- Google Play(安卓和安卓電視)
- Roku頻道商店
- 亞馬遜應用商店(FireTV)
- 條紋(網絡和三星電視)
- Beacon 將報告所有與購買相關的事件,包括以下對訂閱的操作:
- 新的
- 更新
- 消除
- 僅適用於 Google Play:
- 暫停
- 抓住
- 恢復
- 通知中提供了足夠的信息,因此外部商店能夠應用權利和/或阻止購買相同的資產(如果已通過 Beacon 或本地商店購買)。
- 購買事件在收到來自源商店的通知後傳遞到外部商店。這通常會在 5 分鐘內發生(通常在幾秒鐘內)。
API端點規範
在 Beacon 系統中成功處理訂閱後,Beacon 會將 SNS 主題消息傳遞到特定於特定客戶的已配置 API 端點。
以下是外部端點的要求:
- API 終端節點必須與 AWS SNS 集成兼容。見亞馬遜的扇出到 HTTP/S 端點文件了解更多詳情。本文檔包含指向處理 Amazon SNS HTTP POST 請求的終端節點實施的鏈接,該終端節點編寫為 Java servlet。
- API 端點必須對 AWS 使用的 IP 地址範圍開放 - 請參閱AWS IP 地址範圍 .
- API 端點將通過訂閱確認步驟。見亞馬遜的確認訂閱文件了解更多詳情。
- API 端點需要對通知的消息字段中的 JSON 進行轉義。見亞馬遜的解析消息格式文件了解更多詳情。
- API 端點必須驗證消息的簽名和出處。見亞馬遜的驗證 Amazon SNS 消息的簽名文件了解更多詳情。
為了能夠從錯誤中恢復,可以重新發送用戶的所有購買(過濾任何非活動通知)。商店的外部 API 端點負責重新處理所有消息,即使這些消息之前已被消費。
JSON 負載規範
發送到外部存儲端點的 JSON 負載可以包括以下字段:
名字 | 類型 | 必填 | 可能的值 | 注意事項 |
---|---|---|---|---|
通知類型 | 字串 | 總是 | 新的 , 更新 , 取消 , 暫停 , 抓住 , 恢復 |
|
✝︎這對蘋果來說並不總是如此。蘋果使用更新表示取消未來更新。蘋果還使用了取消表明並立即取消訂閱。看蘋果的通知類型有關詳細信息的文檔。 | ||||
external_user_id | 字串 | 總是 | 這是 Beacon 和外部商店常用的標識用戶的 id | |
交易編號 | 字串 | 總是 | 交易的唯一標識符。取消完成後,應使用此 ID 取消訂閱或個人購買。當訂閱被續訂、恢復、暫停或擱置時,此 ID 用於查找受影響的特定訂閱。 | |
開始日期 | 整數 | 是,取消通知除外 | 購買生效和用戶權利應開始的日期 | |
結束日期 | 整數 | 這些通知類型需要:新的、更新的、取消的和恢復的 | 購買不再有效且用戶權利應終止的日期。對於取消請求,結束日期 定義用戶何時無法訪問內容。 |
|
原店 | 字串 | 總是 | 蘋果商店 , 谷歌播放 , 亞馬遜商店 , 條紋 , Roku商店 , 永恆的 , 燈塔店 | 完成購買的原始商店 |
存貨 | 字串 | 總是 | 標識已購買的項目。這是源存儲中使用的標識符。 | |
包裹名字 | 字串 | 總是 | Brightcove Beacon 中 SVOD 或 TVOD 包的名稱 | |
通知日期 | 整數 | 總是 | 將事件從 Beacon 發送到外部存儲系統的時間戳 | |
取消日期 | 整數 | 通知類型為取消時需要 | 用於取消請求並指定用戶/商店取消訂閱的時間戳 | |
試用結束日期 | 整數 | 可選(僅適用於新訂閱) | 如果存在,則意味著存在試驗。對於新訂閱,試用結束日期可能與結束日期 (商店發送一個試用通知和第二個真正訂閱開始時的用例)。 |