พัฒนาอะแดปเตอร์สัญญาณที่ปลอดภัย

หากคุณมี SDK ผู้ให้บริการสัญญาณที่สร้างสัญญาณการเสนอราคาแบบเรียลไทม์ (RTB) คุณสามารถพัฒนาอะแดปเตอร์สัญญาณที่ปลอดภัยเพื่อให้ Google Mobile Ads SDK รวบรวม สัญญาณจาก SDK ของคุณได้

Google Mobile Ads SDK จะส่งต่อสัญญาณไปยังผู้ซื้อ Authorized Buyers และผู้ซื้อOpen Bidding ที่เข้าร่วมที่เลือก

แผนภาพต่อไปนี้แสดงวงจรคำขอ-คำตอบสำหรับการรวบรวมสัญญาณที่ปลอดภัย

อะแดปเตอร์สัญญาณที่ปลอดภัยมีหน้าที่รับผิดชอบในการเริ่มต้นอะแดปเตอร์และการรวบรวมสัญญาณ

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

ใช้การผสานรวมสัญญาณที่ปลอดภัยสำหรับ Google Mobile Ads SDK เพื่อรวบรวมสัญญาณจาก SDK ของคุณ

คู่มือนี้ครอบคลุมวิธีใช้ตัวดัดแปลงสัญญาณที่ปลอดภัยโดย ขยายคลาส RtbAdapter ที่เป็นนามธรรม

ตัวอย่างต่อไปนี้ ขยายคลาสRtbAdapterนามธรรม

Java

public class SampleAdapterSnippets extends RtbAdapter {

เริ่มต้นอะแดปเตอร์

Google Mobile Ads SDK จะเรียกใช้เมธอด initialize() เมื่อ Google Mobile Ads SDK สร้างอินสแตนซ์ของอะแดปเตอร์สัญญาณที่ปลอดภัย ใช้วิธีนี้เพื่อ เริ่มต้น SDK

เมื่อ SDK เริ่มต้นใช้งานอย่างสมบูรณ์และพร้อมให้ Google Mobile Ads SDK รวบรวม สัญญาณ ให้เรียกใช้แฮนเดิล InitializationCompleteCallback

หากอแดปเตอร์สัญญาณที่ปลอดภัยไม่เรียกกลับ Google Mobile Ads SDK จะไม่รวบรวม สัญญาณจากอแดปเตอร์สัญญาณที่ปลอดภัย

ตัวอย่างต่อไปนี้เรียกใช้การเรียกกลับ completion เพื่อแจ้งให้ Google Mobile Ads SDK ทราบว่า SDK เริ่มต้นทํางานสําเร็จแล้ว

Java

@Override
public void initialize(
    Context context,
    InitializationCompleteCallback initializationCompleteCallback,
    List<MediationConfiguration> configurations) {

  // Add your SDK initialization logic here.

  // Invoke the InitializationCompleteCallback once initialization completes.
  initializationCompleteCallback.onInitializationSucceeded();
}

รายงานเวอร์ชันอะแดปเตอร์และ SDK

อะแดปเตอร์สัญญาณที่ปลอดภัยต้องรายงานทั้งเวอร์ชันอะแดปเตอร์และเวอร์ชัน SDK Google Mobile Ads SDK ใช้เวอร์ชันเหล่านี้ในการรายงานและการแก้ปัญหา

หาก SDK ใช้การติดตั้งใช้งานอะแดปเตอร์นี้ในไบนารีเดียวกัน คุณจะแสดงเวอร์ชันเดียวกัน สำหรับทั้งเวอร์ชันอะแดปเตอร์และ SDK ได้

ตัวอย่างต่อไปนี้จะแสดงเวอร์ชันของอะแดปเตอร์สัญญาณที่ปลอดภัย

Java

@Override
public VersionInfo getVersionInfo() {
  // If your SDK implements this adapter in the same binary, return
  // the same version as your SDK.
  // return getSDKVersionInfo();

  // If you built a separate binary for this adapter, return
  // the adapter's version here.
  int major = 4;
  int minor = 5;
  int micro = 6;
  return new VersionInfo(major, minor, micro);
}

ตัวอย่างต่อไปนี้จะแสดงเวอร์ชันของ SDK ที่อแดปเตอร์สัญญาณที่ปลอดภัย โต้ตอบด้วย

Java

@Override
public VersionInfo getSDKVersionInfo() {

  // Return your SDK's version string here.
  String versionString = SDK_VERSION_STRING;
  String[] splits = versionString.split("\\.");
  if (splits.length >= 3) {
    try {
      int major = Integer.parseInt(splits[0]);
      int minor = Integer.parseInt(splits[1]);
      int micro = Integer.parseInt(splits[2]);
      return new VersionInfo(major, minor, micro);
    } catch (NumberFormatException e) {
      // Fall through to log warning and return 0.0.0.
    }
  }

  Log.w(
      TAG,
      String.format(
          "Unexpected SDK version format: %s. Returning 0.0.0 for SDK version.", versionString));
  return new VersionInfo(0, 0, 0);
}

แทนที่ SDK_VERSION_STRING ด้วยสตริงเวอร์ชัน SDK ของคุณ

รวบรวมสัญญาณ

ในคำขอโฆษณาทุกรายการ Google Mobile Ads SDK จะรวบรวมสัญญาณพร้อมกันจากอแดปเตอร์ทั้งหมด ในเธรดเบื้องหลัง

ตัวอย่างต่อไปนี้จะรวบรวมและแสดงสัญญาณไปยัง Google Mobile Ads SDK โดยการเรียกใช้เมธอด SignalCallbacks.onSuccess()

Java

@Override
public void collectSignals(RtbSignalData rtbSignalData, SignalCallbacks signalCallbacks) {

  // Add your signal collection logic here.
  String signals = SAMPLE_SIGNAL_PLACEHOLDER;

  // Return the signals as a string to the Google Mobile Ads SDK.
  signalCallbacks.onSuccess(signals);
}

แทนที่ SAMPLE_SIGNAL_PLACEHOLDER ด้วยสตริงสัญญาณที่ปลอดภัย

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

หากอะแดปเตอร์สัญญาณที่ปลอดภัยรวบรวมสัญญาณไม่สําเร็จ ให้ส่งข้อผิดพลาดไปยังเมธอด signalCallbacks.onFailure()

ปิดบังสัญญาณ

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