הגדרה

בחירת פלטפורמה: Android iOS Unity

אירועים בהתאמה אישית מאפשרים להוסיף לרשימת הרשתות בתהליך בחירת הרשת (Mediation) ב-Waterfall רשת מודעות שאינה רשת מודעות נתמכת. כדי לעשות את זה, מטמיעים מתאם של אירועים בהתאמה אישית ברשת המודעות שרוצים לשלב.

דרישות מוקדמות

כדי ליצור אירועים בהתאמה אישית, קודם צריך לשלב באפליקציה אחד מפורמטי המודעות הבאים:

יצירת אירוע מותאם אישית בממשק המשתמש

קודם צריך ליצור אירוע בהתאמה אישית בממשק המשתמש של Ad Manager. הוראות מפורטות זמינות במאמר בנושא יצירה וניהול של קבוצות אופטימיזציה.

תצטרכו לספק את הפרטים הבאים:

שם המחלקה

השם המלא של המחלקה שמטמיעה את המתאם של האירוע המותאם אישית – לדוגמה, SampleCustomEvent; או אם הטמעתם את המחלקה ב-Swift,‏ MediationExample.SampleCustomEventSwift.

אם יש כמה יעדים בפרויקט או אם שם הפרויקט שונה משם היעד, צריך לציין את שם היעד. אם שם היעד הוא appName_targetName.className, זה ייראה כך: appName_targetName.className. בנוסף, חשוב לזכור להחליף כל תו שאינו אלפאנומרי, כמו מקפים, בקו תחתון. דוגמה.

תווית

שם ייחודי שמגדיר את מקור המודעה.

פרמטר

ארגומנט מחרוזת אופציונלי שמועבר למתאם האירועים המותאמים אישית.

הטמעה של GADMediationAdapter

השלב הראשון ביצירת אירוע מותאם אישית הוא הטמעה של פרוטוקול GADMediationAdapter, כמו שמוצג במחלקה SampleCustomEvent בדוגמה שלנו.

האחריות של המחלקה הזו היא לקבל הודעות מ-Ad Manager ולהעביר את האחריות ליצירת פורמט המודעה הנכון.

הפעלת המתאם

כש-Google Mobile Ads SDK מאותחל, setUpWithConfiguration:completionHandler: מופעל בכל המתאמים הנתמכים של צד שלישי ובאירועים מותאמים אישית שהוגדרו לאפליקציה בממשק המשתמש של Ad Manager. כדאי להשתמש בשיטה הזו כדי לבצע את ההגדרה או ההפעלה הנדרשות בערכת ה-SDK של הצד השלישי שנדרשת לאירוע המותאם אישית.

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

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

מספרי גרסאות של דוחות

כל האירועים המותאמים אישית צריכים לדווח ל-Google Mobile Ads SDK גם את הגרסה של מתאם האירועים המותאמים אישית עצמו וגם את הגרסה של ה-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
}

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

בקשה להצגת מודעה

כדי לבקש מודעה, צריך לעיין בהוראות שספציפיות לפורמט המודעה: