راه اندازی

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

می توانید نمونه کامل پروژه رویداد سفارشی را در مخزن GitHub ما بیابید.

پیش نیازها

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

یک رویداد سفارشی در UI ایجاد کنید

ابتدا باید یک رویداد سفارشی در رابط کاربری AdMob ایجاد شود. دستورالعمل‌ها را در افزودن رویداد سفارشی ببینید.

شما باید موارد زیر را تهیه کنید:

نام کلاس

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

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

برچسب بزنید

یک نام منحصر به فرد که منبع تبلیغ را تعریف می کند.

پارامتر

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

GADMediationAdapter را پیاده سازی کنید

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

مسئولیت دریافت پیام‌ها از AdMob و تفویض مسئولیت ایجاد قالب صحیح تبلیغات به عهده این کلاس است.

آداپتور را راه اندازی کنید

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

سویفت

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

هدف-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);
}

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

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

سویفت

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
}

هدف-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;
}

درخواست آگهی

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