เริ่มต้นใช้งานสัญญาณที่ปลอดภัย

สัญญาณที่ปลอดภัยคือข้อมูลที่เข้ารหัสซึ่งรวบรวมในอุปกรณ์ไคลเอ็นต์และ แชร์กับผู้เสนอราคาที่เลือก คู่มือนี้แสดงวิธีรวบรวมและส่งสัญญาณที่ปลอดภัยไปยัง Google Ad Manager โดยใช้ IMA SDK

API สัญญาณที่ปลอดภัยต้องใช้ IMA SDK สำหรับ iOS เวอร์ชัน 3.18.1 ขึ้นไป

ดูวิธีเลือกสัญญาณและผู้เสนอราคา รวมถึงเปิดใช้การแชร์สัญญาณที่ปลอดภัยได้ที่แชร์ สัญญาณที่ปลอดภัยกับผู้เสนอราคา

ใช้ผู้ให้บริการสัญญาณบุคคลที่สาม

หากต้องการใช้สัญญาณที่ปลอดภัย คุณต้องติดตั้งใช้งานคลาสอะแดปเตอร์ของเครื่องมือรวบรวมสัญญาณ ในแอป เพื่อรวบรวมสัญญาณ เข้ารหัส และส่งไปยัง IMA SDK

ทำตามวิธีการของผู้ให้บริการบุคคลที่สามเพื่อสร้างบัญชีกับผู้ให้บริการ รวมเฟรมเวิร์ก และตั้งค่าอแดปเตอร์สัญญาณที่ปลอดภัยของผู้ให้บริการในแอป

IMA SDK สำหรับ iOS จะเริ่มต้นใช้งานอะแดปเตอร์สัญญาณที่ปลอดภัยแต่ละรายการโดยอัตโนมัติ โดยไม่ต้องทำการเปลี่ยนแปลงเพิ่มเติมในโค้ด

ตัวอย่างวิธีเพิ่มอะแดปเตอร์สัญญาณที่ปลอดภัยลงในโปรเจ็กต์มีดังนี้

ส่งข้อมูลที่กำหนดเอง

นอกเหนือจากการใช้ผู้ให้บริการสัญญาณบุคคลที่สามแล้ว คุณยังรวบรวม เข้ารหัส และส่งสัญญาณด้วยข้อมูลที่กำหนดเองได้ด้วย คุณต้องเปิดใช้สัญญาณที่กำหนดเองใน Ad Manager ก่อนจึงจะส่งสัญญาณที่ปลอดภัย พร้อมข้อมูลที่กำหนดเองได้

สำหรับคำขอสตรีมแต่ละรายการ ให้ทำดังนี้

  1. สร้างออบเจ็กต์ IMASecureSignals ที่มีข้อมูลที่กำหนดเองที่เข้ารหัสเป็นสตริง
  2. เพิ่มออบเจ็กต์ IMASecureSignals ลงในคำขอสตรีมโดย ตั้งค่าแอตทริบิวต์ IMAStreamRequest.secureSignals ดังนี้

Objective-C

app/ViewController.m

- (void)requestStream {
  // Create a stream request. Use one of "Livestream request" or "VOD request",
  //  depending on your type of stream.
  IMAStreamRequest *request;
  if (kStreamType == StreamTypeLive) {
    // Livestream request. Replace the asset key with your value.
    request = [[IMALiveStreamRequest alloc] initWithAssetKey:kLiveStreamAssetKey
                                                networkCode:kNetworkCode
                                          adDisplayContainer:self.adDisplayContainer
                                                videoDisplay:self.imaVideoDisplay
                                                userContext:nil];
  } else {
    // VOD request. Replace the content source ID and video ID with your values.
    request = [[IMAVODStreamRequest alloc] initWithContentSourceID:kVODContentSourceID
                                                          videoID:kVODVideoID
                                                      networkCode:kNetworkCode
                                                adDisplayContainer:self.adDisplayContainer
                                                      videoDisplay:self.imaVideoDisplay
                                                      userContext:nil];
  }
  
  IMASecureSignals *signals =
      [[IMASecureSignals alloc] initWithCustomData:@"My encoded signal string"];
  request.secureSignals = signals;
  
  [self.adsLoader requestStreamWithRequest:request];
}

Swift

app/ViewController.swift

 func requestStream() {
  // Create a stream request. Use one of "Livestream request" or "VOD request".
  let signals = IMASecureSignals(customData: "My encoded signal string")
  if ViewController.requestType == StreamType.live {
    // Livestream request.
    let request = IMALiveStreamRequest(
      assetKey: ViewController.assetKey,
      networkCode: ViewController.networkCode,
      adDisplayContainer: adDisplayContainer!,
      videoDisplay: imaVideoDisplay,
      userContext: nil)
    request.secureSignals = signals
    adsLoader?.requestStream(with: request)
  } else {
    // VOD stream request.
    let request = IMAVODStreamRequest(
      contentSourceID: ViewController.contentSourceID,
      videoID: ViewController.videoID,
      networkCode: ViewController.networkCode,
      adDisplayContainer: adDisplayContainer!,
      videoDisplay: imaVideoDisplay,
      userContext: nil)
    request.secureSignals = signals
    adsLoader?.requestStream(with: request)
  }
}