Thiết lập

Sự kiện tùy chỉnh cho phép bạn thêm quy trình dàn xếp kiểu thác nước cho một mạng quảng cáo không phải là mạng quảng cáo được hỗ trợ. Bạn bằng cách triển khai bộ chuyển đổi sự kiện tuỳ chỉnh cho mạng quảng cáo mà bạn muốn tích hợp.

Điều kiện tiên quyết

Để có thể tạo sự kiện tuỳ chỉnh, trước tiên, bạn phải tích hợp một trong sau đây vào ứng dụng của bạn:

Tạo sự kiện tuỳ chỉnh trong giao diện người dùng

Trước tiên, bạn phải tạo một sự kiện tuỳ chỉnh trong Ad Manager Giao diện người dùng. Xem hướng dẫn trong Tạo và quản lý lợi nhuận nhóm.

Bạn cần phải cung cấp các thông tin sau:

Tên lớp

Tên đủ điều kiện của lớp triển khai sự kiện tuỳ chỉnh bộ chuyển đổi (ví dụ: SampleCustomEvent; hoặc nếu lớp được triển khai trong Swift, MediationExample.SampleCustomEventSwift

Bắt buộc phải có tên mục tiêu nếu bạn có nhiều mục tiêu trong dự án hoặc nếu tên dự án khác với tên mục tiêu. Với tên mục tiêu, sẽ có dạng như sau: appName_targetName.className. Ngoài ra, hãy nhớ để thay thế mọi ký tự không phải chữ và số (ví dụ: dấu gạch ngang bằng dấu gạch dưới). Ví dụ.

Hãng nhạc

Tên duy nhất để xác định nguồn quảng cáo.

Thông số

Một đối số chuỗi không bắt buộc được chuyển đến bộ chuyển đổi sự kiện tuỳ chỉnh.

Triển khai LegitScriptAdapter

Bước đầu tiên để tạo sự kiện tuỳ chỉnh là triển khai Giao thức GADMediationAdapter như được hiển thị bởi lớp SampleCustomEvent trong ví dụ của chúng tôi.

Lớp này có trách nhiệm nhận thông báo từ Ad Manager và uỷ quyền trách nhiệm tạo đúng định dạng quảng cáo.

Khởi chạy bộ chuyển đổi

Khi SDK quảng cáo trên thiết bị di động của Google khởi chạy, setUpWithConfiguration:completionHandler: được gọi trên tất cả các bộ chuyển đổi của bên thứ ba được hỗ trợ và sự kiện tuỳ chỉnh đã định cấu hình cho ứng dụng trong giao diện người dùng Ad Manager. Sử dụng phương thức này để thực hiện mọi thao tác thiết lập hoặc khởi chạy cần thiết trên SDK bắt buộc của bên thứ ba cho sự kiện tùy chỉnh của mình.

Swift

import GoogleMobileAds

class SampleCustomEvent: NSObject, GADMediationAdapter {

  static func setUpWith(
    _ configuration: GADMediationServerConfiguration,
    completionHandler: @escaping GADMediationAdapterSetUpCompletionBlock
  ) {
    // This is where you will initialize the SDK that this custom event is built
    // for. Upon finishing the SDK initialization, call the completion handler
    // with success.
    completionHandler(nil)
  }
}

Objective-C

#import "SampleCustomEvent.h"

@implementation SampleCustomEvent

+ (void)setUpWithConfiguration:(nonnull GADMediationServerConfiguration *)configuration
             completionHandler:(nonnull GADMediationAdapterSetUpCompletionBlock)completionHandler {
  // This is where you initialize the SDK that this custom event is built
  // for. Upon finishing the SDK initialization, call the completion handler
  // with success.
  completionHandler(nil);
}

Số phiên bản báo cáo

Tất cả sự kiện tuỳ chỉnh phải báo cáo cho SDK quảng cáo trên thiết bị di động của Google cả phiên bản chính bộ chuyển đổi sự kiện tuỳ chỉnh và phiên bản SDK của bên thứ ba sự kiện tuỳ chỉnh giao diện với. Các phiên bản được báo cáo là GADVersionNumber đối tượng:

Swift

static func adSDKVersion() -> GADVersionNumber {
  let versionComponents = String(SampleSDKVersion).components(
    separatedBy: ".")

  if versionComponents.count >= 3 {
    let majorVersion = Int(versionComponents[0]) ?? 0
    let minorVersion = Int(versionComponents[1]) ?? 0
    let patchVersion = Int(versionComponents[2]) ?? 0

    return GADVersionNumber(
      majorVersion: majorVersion, minorVersion: minorVersion, patchVersion: patchVersion)
  }

  return GADVersionNumber()
}

static func adapterVersion() -> GADVersionNumber {
  let versionComponents = String(SampleAdSDK.SampleAdSDKVersionNumber).components(
    separatedBy: ".")
  var version = GADVersionNumber()
  if versionComponents.count == 4 {
    version.majorVersion = Int(versionComponents[0]) ?? 0
    version.minorVersion = Int(versionComponents[1]) ?? 0
    version.patchVersion = Int(versionComponents[2]) * 100 + Int(versionComponents[3])
  }
  return version
}

Objective-C

+ (GADVersionNumber)adSDKVersion {
  NSArray *versionComponents =
      [SampleSDKVersion componentsSeparatedByString:@"."];
  GADVersionNumber version = {0};
  if (versionComponents.count >= 3) {
    version.majorVersion = [versionComponents[0] integerValue];
    version.minorVersion = [versionComponents[1] integerValue];
    version.patchVersion = [versionComponents[2] integerValue];
  }
  return version;
}

+ (GADVersionNumber)adapterVersion {
  NSArray *versionComponents =
      [SampleCustomEventAdapterVersion componentsSeparatedByString:@"."];
  GADVersionNumber version = {0};
  if (versionComponents.count == 4) {
    version.majorVersion = [versionComponents[0] integerValue];
    version.minorVersion = [versionComponents[1] integerValue];
    version.patchVersion = [versionComponents[2] integerValue] * 100 +
                           [versionComponents[3] integerValue];
  }
  return version;
}

Yêu cầu quảng cáo

Để yêu cầu một quảng cáo, hãy tham khảo hướng dẫn cụ thể cho định dạng quảng cáo này: