אפשרויות של מודעות מותאמות

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

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

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

אמצעי בקרה לנכסים

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

העדפות של ממשק השליטה ביחס הגובה-רוחב של המדיה

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

מגדירים את GADNativeAdMediaAdLoaderOptions mediaAspectRatio באמצעות GADMediaAspectRatio.

  • אם לא מציינים יחס גובה-רוחב, המודעה שמוחזרת יכולה להיות בכל יחס גובה-רוחב של מדיה.

  • אם תגדירו את התכונה הזו, תוכלו לשפר את חוויית המשתמש על ידי ציון סוג יחס הגובה-רוחב המועדף.

בדוגמה הבאה, ה-SDK מונחה להעדיף החזרה של תמונה או סרטון עם יחס גובה-רוחב ספציפי.

Swift

let nativeOptions = NativeAdMediaAdLoaderOptions()
nativeOptions.mediaAspectRatio = .any

adLoader = AdLoader(
  adUnitID: "nativeAdUnitID",
  rootViewController: self,
  adTypes: [.native],
  options: [nativeOptions])

Objective-C

GADNativeAdMediaAdLoaderOptions *nativeOptions = [[GADNativeAdMediaAdLoaderOptions alloc] init];
nativeOptions.mediaAspectRatio = GADMediaAspectRatioAny;

self.adLoader = [[GADAdLoader alloc] initWithAdUnitID:"nativeAdUnitID"
                                   rootViewController:self
                                              adTypes:@[ GADAdLoaderAdTypeNative ]
                                              options:@[ nativeOptions ]];

מחליפים את nativeAdUnitID במזהה יחידת המודעות.

אמצעי בקרה להורדת תמונות

האפשרות 'שליטה בהורדת תמונות' מאפשרת לכם להחליט אם ערכת ה-SDK תחזיר נכסי תמונות או רק כתובות URI.

מגדירים את GADNativeAdImageAdLoaderOptions disableImageLoading עם ערך BOOL.

  • ההגדרה שמאפשרת לשלוט בהורדת תמונות מושבתת כברירת מחדל.

  • אם האפשרות הזו מושבתת, Google Mobile Ads SDK מאכלס בשבילכם גם את התמונה וגם את ה-URI.

  • כשהאפשרות הזו מופעלת, ה-SDK מאכלס רק את ה-URI, וכך מאפשר לכם להוריד את התמונות בפועל לפי שיקול דעתכם.

בדוגמה הבאה, ה-SDK מונחה להחזיר רק את ה-URI.

Swift

let nativeOptions = NativeAdImageAdLoaderOptions()
nativeOptions.isImageLoadingDisabled = true

adLoader = AdLoader(
  adUnitID: "nativeAdUnitID",
  rootViewController: self,
  adTypes: [.native],
  options: [nativeOptions])

Objective-C

GADNativeAdImageAdLoaderOptions *nativeOptions = [[GADNativeAdImageAdLoaderOptions alloc] init];
nativeOptions.disableImageLoading = YES;

self.adLoader = [[GADAdLoader alloc] initWithAdUnitID:"nativeAdUnitID"
                                   rootViewController:self
                                              adTypes:@[ GADAdLoaderAdTypeNative ]
                                              options:@[ nativeOptions ]];

אמצעי בקרה על מטען ייעודי (payload) של תמונות

חלק מהמודעות כוללות סדרה של תמונות ולא רק תמונה אחת. התכונה הזו מאפשרת לציין אם האפליקציה מוכנה להציג את כל התמונות או רק תמונה אחת.

  • הפקדים של מטען הייעודי (payload) של התמונה מושבתים כברירת מחדל.

  • כשההגדרה הזו מושבתת, האפליקציה מורה ל-SDK לספק רק את התמונה הראשונה מכל נכס שמכיל סדרה.

  • כשההגדרה הזו מופעלת, האפליקציה מציינת שהיא מוכנה להציג את כל התמונות של כל הנכסים שיש להם יותר מתמונה אחת.

בדוגמה הבאה, ה-SDK מקבל הוראה להחזיר כמה נכסי תמונות.

Swift

let nativeOptions = NativeAdImageAdLoaderOptions()
nativeOptions.shouldRequestMultipleImages = true

adLoader = AdLoader(
  adUnitID: "nativeAdUnitID",
  rootViewController: self,
  adTypes: [.native],
  options: [nativeOptions])

Objective-C

GADNativeAdImageAdLoaderOptions *nativeOptions = [[GADNativeAdImageAdLoaderOptions alloc] init];
nativeOptions.shouldRequestMultipleImages = YES;

self.adLoader = [[GADAdLoader alloc] initWithAdUnitID:"nativeAdUnitID"
                                   rootViewController:self
                                              adTypes:@[ GADAdLoaderAdTypeNative ]
                                              options:@[ nativeOptions ]];

מיקומי מודעות ב-AdChoices

בקטע הזה מוסבר איך למקם את שכבת העל של AdChoices. אתם יכולים להגדיר את המיקום שלו באחת מארבע הפינות או להציג אותו בתצוגה מותאמת אישית.

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

אמצעי הבקרה של מיקום AdChoices מאפשרים לכם לבחור באיזו פינה להציג את סמל AdChoices.

מגדירים את GADNativeAdViewAdOptions preferredAdChoicesPosition עם ערך של GADAdChoicesPosition.

  • אם לא מוגדרת עמדה, סמל AdChoices ממוקם בפינה השמאלית העליונה.

  • אם ההגדרה מופעלת, הסמל של AdChoices מוצב במיקום המותאם אישית שצוין בבקשה.

בדוגמה הבאה מוסבר איך מגדירים מיקום מותאם אישית לתמונה של AdChoices.

Swift

let nativeOptions = NativeAdViewAdOptions()
nativeOptions.preferredAdChoicesPosition = .topRightCorner

adLoader = AdLoader(
  adUnitID: "nativeAdUnitID",
  rootViewController: self,
  adTypes: [.native],
  options: [nativeOptions])

Objective-C

GADNativeAdViewAdOptions *nativeOptions = [[GADNativeAdViewAdOptions alloc] init];
nativeOptions.preferredAdChoicesPosition = GADAdChoicesPositionTopRightCorner;

self.adLoader = [[GADAdLoader alloc] initWithAdUnitID:"nativeAdUnitID"
                                   rootViewController:self
                                              adTypes:@[ GADAdLoaderAdTypeNative ]
                                              options:@[ nativeOptions ]];

תצוגה מותאמת אישית של AdChoices

התכונה 'תצוגה בהתאמה אישית' של AdChoices מאפשרת לכם למקם את סמל AdChoices במיקום מותאם אישית. ההגדרה הזו שונה מההגדרות של מיקום AdChoices, שמאפשרות לציין רק אחת מארבע הפינות.

מגדירים את מאפיין GADNativeAd.adChoicesView עם GADAdChoicesView לפני העיבוד, והתוכן של AdChoices מעובד בתוך GADAdChoicesView.

בדוגמה הבאה מוסבר איך להגדיר תצוגה מותאמת אישית של AdChoices. סמל AdChoices מוצג בתוך התג GADAdChoicesView:

Swift

private func createAdChoicesView(nativeAdView: NativeAdView) {
  // Define a custom position for the AdChoices icon.
  let customRect = CGRect(x: 100, y: 100, width: 15, height: 15)
  let customAdChoicesView = AdChoicesView(frame: customRect)
  nativeAdView.addSubview(customAdChoicesView)
  nativeAdView.adChoicesView = customAdChoicesView
}

Objective-C

- (void)createAdChoicesViewWithNativeAdView:(GADNativeAdView *)nativeAdView {
  // Define a custom position for the AdChoices icon.
  CGRect customRect = CGRectMake(100, 100, 15, 15);
  GADAdChoicesView *customAdChoicesView = [[GADAdChoicesView alloc] initWithFrame:customRect];
  [nativeAdView addSubview:customAdChoicesView];
  nativeAdView.adChoicesView = customAdChoicesView;
}

פקדי סרטונים

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

התנהגות השתקה ראשונית

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

מגדירים את GADVideoOptions startMuted עם ערך BOOL.

  • ההתנהגות של השתקה בתחילת השיחה מופעלת כברירת מחדל.

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

  • כשההגדרה הזו מופעלת, האפליקציה מבקשת שהסרטון יתחיל כשהאודיו מושתק.

בדוגמה הבאה אפשר לראות איך מתחילים את הסרטון עם אודיו לא מושתק.

Swift

let videoOptions = VideoOptions()
videoOptions.shouldStartMuted = false

adLoader = AdLoader(
  adUnitID: "nativeAdUnitID",
  rootViewController: self,
  adTypes: [.native],
  options: [videoOptions])

Objective-C

GADVideoOptions *videoOptions = [[GADVideoOptions alloc] init];
videoOptions.startMuted = NO;

self.adLoader = [[GADAdLoader alloc] initWithAdUnitID:"nativeAdUnitID"
                                   rootViewController:self
                                              adTypes:@[ GADAdLoaderAdTypeNative ]
                                              options:@[ videoOptions ]];

רכיבי UI להפעלה בהתאמה אישית

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

מגדירים את GADVideoOptions customControlsRequested עם ערך BOOL.

  • כברירת מחדל, רכיבי UI בהתאמה אישית להפעלת וידאו מושבתים.

  • אם האפשרות הזו מושבתת, בסרטון יוצגו אמצעי בקרה לקלט שעברו רינדור באמצעות ה-SDK.

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

GADVideoController.

בדוגמה הבאה מוצגת בקשה להצגת סרטון עם רכיבי UI מותאמים אישית להפעלת סרטונים.

Swift

let videoOptions = VideoOptions()
videoOptions.areCustomControlsRequested = true

adLoader = AdLoader(
  adUnitID: "nativeAdUnitID",
  rootViewController: self,
  adTypes: [.native],
  options: [videoOptions])

Objective-C

GADVideoOptions *videoOptions = [[GADVideoOptions alloc] init];
videoOptions.customControlsRequested = YES;

self.adLoader = [[GADAdLoader alloc] initWithAdUnitID:"nativeAdUnitID"
                                   rootViewController:self
                                              adTypes:@[ GADAdLoaderAdTypeNative ]
                                              options:@[ videoOptions ]];

איך בודקים אם אמצעי בקרה בהתאמה אישית מופעלים

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

Swift

private func checkCustomControlsEnabled(nativeAd: NativeAd) -> Bool {
  let videoController = nativeAd.mediaContent.videoController
  return videoController.areCustomControlsEnabled
}

Objective-C

- (BOOL)checkCustomControlsEnabledWithNativeAd:(GADNativeAd *)nativeAd {
  GADVideoController *videoController = nativeAd.mediaContent.videoController;
  return videoController.customControlsEnabled;
}

הצגת אמצעי בקרה מותאמים אישית של סרטונים

כדי להציג רכיבי בקרה מותאמים אישית של סרטונים, מומלץ לפעול לפי השיטות המומלצות הבאות:

  1. הצגת התצוגה של אמצעי הבקרה בהתאמה אישית כצאצא של תצוגת המודעה המקורית. בגישה הזו, החישובים של ניראות במדידה פתוחה מתייחסים לפקדים המותאמים אישית כאל הפרעה ידידותית.
  2. לא כדאי להציג שכבת-על בלתי נראית מעל כל תצוגת המדיה. מודעות שכבה-על חוסמות קליקים בתצוגת המדיה, ומשפיעות לרעה על הביצועים של מודעות מותאמות. במקום זאת, כדאי ליצור שכבת-על קטנה שגדולה מספיק כדי להכיל את אמצעי הבקרה.

תנועות קליק בהתאמה אישית

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

מפעילים מופע של GADNativeAdCustomClickGestureOptions עם כיוון ההחלקה שבחרתם. צריך גם לציין אם רוצים לאפשר הקשות כקליקים.

  • התכונה 'מחוות מותאמות אישית להקשה' מושבתת כברירת מחדל.

  • כשהאפשרות הזו מושבתת, רק הקשות נספרות כקליקים.

  • כשמפעילים את האפשרות הזו, תנועות החלקה נספרות כקליקים, ואפשר לציין אם גם הקשות ייספרו כקליקים.

בדוגמה הבאה אפשר לראות איך מטמיעים תנועת החלקה בהתאמה אישית ימינה, ואיך שומרים על התנהגות רגילה של הקשה.

Swift

let swipeGestureOptions = NativeAdCustomClickGestureOptions(
  swipeGestureDirection: .right,
  tapsAllowed: true)

adLoader = AdLoader(
  adUnitID: "nativeAdUnitID",
  rootViewController: self,
  adTypes: [.native],
  options: [swipeGestureOptions])

Objective-C

GADNativeAdCustomClickGestureOptions *swipeGestureOptions =
    [[GADNativeAdCustomClickGestureOptions alloc]
        initWithSwipeGestureDirection:UISwipeGestureRecognizerDirectionRight
                          tapsAllowed:YES];

self.adLoader = [[GADAdLoader alloc] initWithAdUnitID:"nativeAdUnitID"
                                   rootViewController:self
                                              adTypes:@[ GADAdLoaderAdTypeNative ]
                                              options:@[ swipeGestureOptions ]];

האזנה לאירועים של מחוות החלקה

כשמתועד קליק של תנועת החלקה, ‏ Google Mobile Ads SDK מפעיל את שיטת הנציג nativeAdDidRecordSwipeGestureClick: ב-GADNativeAdDelegate, בנוסף לשיטת הנציג הקיימת nativeAdDidRecordClick:.

Swift

// Called when a swipe gesture click is recorded, as configured in
// NativeAdCustomClickGestureOptions.
func nativeAdDidRecordSwipeGestureClick(_ nativeAd: NativeAd) {
  print("A swipe gesture click has occurred.")
}

// Called when a swipe gesture click or a tap click is recorded.
func nativeAdDidRecordClick(_ nativeAd: NativeAd) {
  print("A swipe gesture click or tap click has occurred.")
}

Objective-C

// Called when a swipe gesture click is recorded, as configured in
// GADNativeAdCustomClickGestureOptions.
- (void)nativeAdDidRecordSwipeGestureClick:(GADNativeAd *)nativeAd {
  NSLog(@"A swipe gesture click has occurred.");
}

// Called when a swipe gesture click or a tap click is recorded.
- (void)nativeAdDidRecordClick:(GADNativeAd *)nativeAd {
  NSLog(@"A swipe gesture click or tap click has occurred.");
}

גישור

מחוות מותאמות אישית של קליקים פועלות רק במודעות מותאמות שמעובדות על ידי Google Mobile Ads SDK. מקורות למודעות שנדרש בהם SDK של צד שלישי לצורך הצגה, לא מגיבים להגדרה של כיווני לחיצה בהתאמה אישית.