發布商提供的信號

您可以在廣告請求中以發布商提供的信號 (PPS) 的形式傳送目標對象和比對內容資料。透過 PPS,您可以在不需要分享使用者 ID 的情況下,透過標準分類,將目標對象特性傳達給所有交易類型的出價方,藉此改善程式輔助營利成效。您的目標對象特性包括行為和興趣相關資料 (IAB 目標對象分類 1.1) 和比對內容資料 (IAB 內容分類 2.2)。 您也可以傳送發布商提供的結構化信號 (由 Google 定義),以便傳送其他信號。

建構使用者信號 JSON

在頂層建立含有單一鍵/值組合的 JSON 物件。鍵應為 PublisherProvidedTaxonomySignals,其值應為物件的陣列。陣列中的每個物件都應包含 2 個鍵/值組合:

  • taxonomy 鍵,可接受下列對應至下列 IAB 公開規格的值:

    • IAB_AUDIENCE_1_1 (目標對象分類 1.1)
    • IAB_CONTENT_2_2 代表內容分類 2.2
  • values 鍵,以及相應的字串分類方式值陣列。

建立結構化信號陣列

針對結構化信號,請新增包含物件陣列值的 PublisherProvidedStructuredSignals 鍵。根據下列信號鍵/值清單建構物件:

結構化信號表格的切換按鈕

信號 <code" dir="ltr" translate="no">"type" Value</code"> 可能的 "single_value" 可能的 "values"
音訊動態饋給類型 "audio_feed"
  • "af_1":音樂
  • "af_2":廣播
  • "af_3":Podcast
不適用
內容分級 "content_rating"
  • "cr_1":G
  • "cr_2":PG
  • "cr_3":三
  • "cr_4":麻薩諸塞
不適用
內容上傳 "delivery" 不適用
  • "cd_1":串流
  • "cd_2":漸進式
  • "cd_3":下載
製作品質 "prodq"
  • "pq_1":專業製作
  • "pq_2":產消合一
  • "pq_3":使用者原創內容 (UGC)
不適用

請參閱以下範例,如何使用 IAB_AUDIENCE_1_1IAB_CONTENT_2_2 當做分類信號,並包含結構化信號。

const userSignals = {
  "PublisherProvidedTaxonomySignals": [{
     "taxonomy": "IAB_AUDIENCE_1_1",
     "values": ["6", "284"]
     // '6' = 'Demographic | Age Range | 30-34'
     // '284' = 'Interest | Business and Finance |  Mergers and Acquisitions'
  },
  {
     "taxonomy": "IAB_CONTENT_2_2",
     "values": ["49", "138"]
     // '49' = 'Books and Literature | Poetry'
     // '138' = 'Education | College Education | College Planning'
  }],
  "PublisherProvidedStructuredSignals": [{
      "type": "audio_feed",
      "single_value": "af_1",
    },
    {
      "type": "delivery",
      "values": ["cd_1", "cd_3"],
    },
  ],
};

設定串流要求

請按照下列步驟使用 IMAStreamRequest 傳送 PPS:

  • 建立包含使用者興趣、行為或情境資料的 JSON 字串。
  • 使用上述 JSON 字串建立 Base64 編碼 ASCII 字串。
  • 使用 IMAStreamRequest.adTagParameters 新增編碼字串。
let userSignals = """
{
   "PublisherProvidedTaxonomySignals": [
    {
      "taxonomy": "IAB_AUDIENCE_1_1",
      "values": [
        "1",
        "284"
      ]
    }
  ],
}
"""
let base64Signals = Data(userSignals.utf8).base64EncodedString()
var encodedSignals = base64Signals.replacingOccurrences(of: "+", with: "%2B")
encodedSignals = encodedSignals.replacingOccurrences(of: "/", with: "%2F")
encodedSignals = encodedSignals.replacingOccurrences(of: "=", with: "%3D")

streamRequest.adTagParameters = { "ppsj" : encodedSignals}