接收應用內購買通知

在本主題中,您將了解實現端點以接收應用內購買通知的要求。

概覽

視頻內容和/或商品的提供商有必要設置端點,以便 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 發送到外部存儲系統的時間戳
    取消日期 整數 通知類型為取消時需要 用於取消請求並指定用戶/商店取消訂閱的時間戳
    試用結束日期 整數 可選(僅適用於新訂閱) 如果存在,則意味著存在試驗。對於新訂閱,試用結束日期可能與結束日期(商店發送一個試用通知和第二個真正訂閱開始時的用例)。