為 Roku 設定 Mobile SDK v2.x set-up-roku

先決條件 roku-prerequisites

  • 取得 Media Analytics 的有效設定參數

    設定 Media Analytics 帳戶之後,可以向 Adobe 代表取得這些參數。

  • 在您的媒體播放器中包含以下 API

    • 訂閱播放器事件專用的 API - 當您的播放器中發生事件時,Media SDK 需要您呼叫一組簡易 API。
    • 提供播放器資訊的 API - 此資訊包含媒體名稱和播放點位置等詳細內容。

Experience Cloud 解決方案適用的 Roku SDK 2.x 可讓您測量在 BrightScript 中撰寫的 Roku 應用程式、透過對象管理利用和收集觀眾資料,以及透過視訊事件測量視訊參與。

Mobile Library/SDK 實作

  1. 下載的 Roku 程式庫新增至專案。

    1. AdobeMobileLibrary-2.*-Roku.zip 下載檔案包含下列軟體元件:

      • adbmobile.brs:此程式庫檔案將會包含在您的 Roku 應用程式來源檔案夾中。

      • ADBMobileConfig.json:此元件為根據您應用程式自訂的 SDK 設定檔案。

    2. 新增程式庫檔案和 JSON 設定檔案至您的專案來源。

      用來設定 Adobe Mobile 的 JSON 有一個媒體分析專用的索引鍵,稱為 mediaHeartbeat。其集結了多種媒體分析的設定參數。

      note tip
      TIP
      套件會隨附 ADBMobileConfig JSON 檔案範例。如需設定,請聯絡 Adobe 代表。

      例如:

      code language-none
      {
        "version":"1.0",
        "analytics":{
          "rsids":"",
          "server":"",
          "charset":"UTF-8",
          "ssl":true,
          "offlineEnabled":false,
          "lifecycleTimeout":30,
          "batchLimit":50,
          "privacyDefault":"optedin",
          "poi":[ ]
      },
      "marketingCloud":{
        "org":""
      },
      "target":{
        "clientCode":"",
        "timeout":5
      },
      "audienceManager":{
        "server":""
      },
      "acquisition":{
        "server":"example.com",
        "appid":"sample-app-id"
      },
      
      "mediaHeartbeat":{
         "server":"example.com",
         "publisher":"sample-publisher",
         "channel":"sample-channel",
         "ssl":true,
         "ovp":"sample-ovp",
         "sdkVersion":"sample-sdk",
         "playerName":"roku"
         }
      }
      
      table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2 6-row-2 7-row-2
      設定參數 說明
      server 代表後端追蹤端點之 URL 的字串。
      publisher 代表內容發行者唯一識別碼的字串。
      channel 代表內容分送管道之名稱的字串。
      ssl 代表是否應使用 SSL 來追蹤呼叫的布林值。
      ovp 代表視訊播放器提供者之名稱的字串。
      sdkversion 代表應用程式/SDK 目前版本的字串。
      playerName 代表播放器名稱的字串。
      note important
      IMPORTANT
      如果 mediaHeartbeat 的設定不正確,媒體模組 (VHL) 會進入錯誤狀態並停止傳送追蹤呼叫。
  2. 設定 Experience Cloud 訪客 ID。

    Experience Cloud 訪客 ID 服務提供跨 Experience Cloud 解決方案的通用訪客 ID。視訊事件和其他 Marketing Cloud 整合需要訪客 ID 服務。

    確認您的 ADBMobileConfig 設定包含 marketingCloud 組織 ID。

    code language-none
    "marketingCloud": {
        "org": "YOUR-MCORG-ID"
    }
    

    Experience Cloud 組織 ID 會唯一識別 Adobe Marketing Cloud 中的每一間客戶公司,並出現以下類似值:016D5C175213CCA80A490D05@AdobeOrg

    note important
    IMPORTANT
    一定要包含 @AdobeOrg

    完成設定後,即會產生一個 Experience Cloud 訪客 ID,並包含在所有點撃中。其他訪客 ID (例如 customautomatically-generated ID) 會繼續在每次點撃時一併傳送。

    Experience Cloud 訪客 ID 服務方法

    note tip
    TIP
    Experience Cloud 訪客 ID 方法的前置詞為 visitor
    table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2
    方法 說明
    visitorMarketingCloudID 從訪客 ID 服務中擷取 Experience Cloud 訪客 ID。

    ADBMobile().visitorMarketingCloudID()
    visitorSyncIdentifiers 透過 Experience Cloud 訪客 ID,您可以設定與每個訪客相關聯的額外客戶 ID。訪客 API 可接受同一名訪客具有多個客戶 ID,並透過客戶類型識別碼來區分不同客戶 ID 的範圍。此方法對應至 setCustomerIDs。例如:

    identifiers={}
    identifiers["idType"]="idValue"
    ADBMobile().visitorSyncIdentifiers(identifiers)
    setAdvertisingIdentifier 用來在 SDK 上設定適用於廣告的 Roku ID (RIDA)例如︰

    ADBMobile().setAdvertisingIdentifier(
      "<sample_roku_identifier_for_advertising>")


    使用 Roku SDK getRIDA() API 取得適用於廣告的 Roku ID (RIDA)。
    getAllIdentifiers 傳回 SDK 儲存的所有識別碼清單,包括分析、訪客、Audience Manager 和客戶識別碼。

    identifiers = ADBMobile().getAllIdentifiers()

    其他公用 API

    DebugLogging

    table 0-row-2 1-row-2 2-row-2
    方法 說明
    setDebugLogging 用於啟用或停用 SDK 的偵錯記錄。

    ADBMobile().setDebugLogging(true)
    getDebugLogging 如果啟用偵錯記錄,則傳回 True。

    isDebugLoggingEnabled = ADBMobile().getDebugLogging()

    PrivacyStatus

    table 0-row-2 1-row-2 2-row-2
    常數 說明
    PRIVACY_STATUS_OPT_IN 呼叫 setPrivacyStatus 以選擇加入時要傳遞的常數。

    optInString = ADBMobile().PRIVACY_STATUS_OPT_IN
    PRIVACY_STATUS_OPT_OUT 呼叫 setPrivacyStatus 以選擇退出時要傳遞的常數。

    optOutString = ADBMobile().PRIVACY_STATUS_OPT_OUT
    table 0-row-2 1-row-2 2-row-2
    方法 說明
    setPrivacyStatus 設定 SDK 上的隱私權狀態。

    ADBMobile().setPrivacyStatus(ADBMobile().PRIVACY_STATUS_OPT_IN)
    getPrivacyStatus 取得在 SDK 上設定的目前隱私權狀態。

    privacyStatus = ADBMobile().getPrivacyStatus()
    note important
    IMPORTANT
    確保您每 250 ms 呼叫主事件迴圈中的 processMessagesprocessMediaMessages 函數,以確保 SDK 傳出 Ping。
    table 0-row-2 1-row-2 2-row-2
    方法 說明
    processMessages 負責傳遞分析事件至要處理的 SDK。

    ADBMobile().processMessages()
    processMediaMessages 負責傳遞媒體事件至要處理的 SDK。

    ADBMobile().processMediaMessages()
recommendation-more-help
c8eee520-cef5-4f8c-a38a-d4952cfae4eb