راه‌اندازی رویدادهای سفارشی

پلاتفرم را انتخاب کنید: Android iOS Unity Android (قدیمی)

رویدادهای سفارشی به شما امکان می‌دهند میانجی‌گری آبشاری را برای شبکه آگهی‌ای که شبکه آگهی پشتیبانی‌شده نیست اضافه کنید. این کار را با پیاده‌سازی یک آداپتور رویداد سفارشی برای شبکه آگهی‌ای که می‌خواهید ادغام کنید انجام می‌دهید.

پیش‌نیازها

قبل‌از اینکه بتوانید رویدادهای سفارشی ایجاد کنید، ابتدا باید یکی از قالب‌های آگهی زیر را در برنامه‌تان ادغام کنید:

ایجاد رویداد سفارشی در واسط کاربر

رویداد سفارشی ابتدا باید در Ad Manager UI ایجاد شود. دستورالعمل‌های موجود در ایجاد و مدیریت گروه‌های بازده را ببینید.

باید موارد زیر را ارائه دهید:

نام کلاس

نام کاملاً واجدشرایط کلاسی که آداپتور رویداد سفارشی را پیاده‌سازی می‌کند—برای مثال، SampleCustomEvent؛ یا اگر کلاس شما در Swift پیاده‌سازی شده است، MediationExample.SampleCustomEventSwift.

اگر چند هدف در پروژه‌تان دارید یا اگر نام پروژه با نام هدف متفاوت است، نام هدف الزامی است. با نام هدف، به این شکل خواهد بود: appName_targetName.className. علاوه‌براین، به‌یاد داشته باشید که هر نویسه غیرالفباعددی مانند خط تیره را با زیرخط جایگزین کنید. مثال.

برچسب

نامی منحصربه‌فرد که منبع آگهی را تعریف می‌کند.

پارامتر

یک آرگومان رشته‌ای اختیاری که به آداپتور رویداد سفارشی شما ارسال می‌شود.

پیاده‌سازی GADMediationAdapter

اولین گام برای ایجاد رویداد سفارشی، پیاده‌سازی پروتکل GADMediationAdapter است، همان‌طور که کلاس SampleCustomEvent در نمونه ما نشان می‌دهد.

مسئولیت این کلاس دریافت پیام از Ad Manager و واگذاری مسئولیت ایجاد قالب آگهی صحیح است.

مقداردهی اولیه آداپتور

وقتی Google Mobile Ads SDK مقداردهی اولیه می‌شود، setUpWithConfiguration:completionHandler: در همه آداپتورهای شخص ثالث پشتیبانی‌شده و رویدادهای سفارشی پیکربندی‌شده برای برنامه در Ad Manager UI فراخوانی می‌شود. از این روش برای انجام هرگونه راه‌اندازی یا مقداردهی اولیه لازم در کیت توسعه نرم‌افزار طرف سوم موردنیاز برای رویداد سفارشی‌تان استفاده کنید.

Swift

import GoogleMobileAds

class SampleCustomEvent: NSObject, MediationAdapter {

  static func setUpWith(
    _ configuration: MediationServerConfiguration,
    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)
  }
}

آبجکتیو-سی

#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);
}

شماره نسخه گزارش

همه رویدادهای سفارشی باید هم نسخه خود آداپتور رویداد سفارشی و هم نسخه کیت توسعه نرم‌افزار طرف سومی را که رویداد سفارشی با آن تعامل دارد به Google Mobile Ads SDK گزارش کنند. نسخه‌ها به‌صورت GADVersionNumber شیء گزارش می‌شوند:

Swift

static func adSDKVersion() -> VersionNumber {
  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 VersionNumber(
      majorVersion: majorVersion, minorVersion: minorVersion, patchVersion: patchVersion)
  }

  return VersionNumber()
}

static func adapterVersion() -> VersionNumber {
  let versionComponents = String(SampleAdSDK.SampleAdSDKVersionNumber).components(
    separatedBy: ".")
  var version = VersionNumber()
  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
}

آبجکتیو-سی

+ (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;
}

درخواست آگهی

برای درخواست آگهی، به دستورالعمل‌های مختص قالب آگهی مراجعه کنید: