למודעות מותאמות יש הרבה תכונות מתקדמות שמאפשרות לכם לבצע התאמות אישיות נוספות וליצור את חוויית המודעה הטובה ביותר. במדריך הזה נראה לכם איך להשתמש בתכונות המתקדמות של מודעות מותאמות.
דרישות מוקדמות
- משלבים את פורמט המודעה המותאמת.
אמצעי בקרה לנכסים
בקטע הזה מוסבר איך להתאים אישית את נכסי הקריאייטיב במודעות המותאמות. יש לכם אפשרות לציין יחס גובה-רוחב מועדף לנכסי מדיה ואיך נכסי התמונות יורדו ויוצגו.
העדפות לגבי ממשק השליטה ביחס הגובה-רוחב של המדיה
ההגדרות של יחס הגובה-רוחב של מדיה מאפשרות לכם לציין העדפה לגבי יחס הגובה-רוחב של נכסי קריאייטיב של מודעות.
מתקשר אל NativeAdRequest.Builder.setMediaAspectRatio()
עם הערך NativeAd.NativeMediaAspectRatio
.
אם לא מציינים יחס גובה-רוחב, המודעה שמוחזרת יכולה להיות בכל יחס גובה-רוחב של מדיה.
אם תגדירו את התכונה הזו, תוכלו לשפר את חוויית המשתמש על ידי ציון סוג יחס הגובה-רוחב המועדף.
בדוגמה הבאה, ה-SDK מונחה להעדיף החזרת תמונה או סרטון עם יחס גובה-רוחב ספציפי.
Kotlin
val adRequest = NativeAdRequest.Builder(
"ca-app-pub-3940256099942544/2247696110",
listOf(NativeAd.NativeAdType.NATIVE))
.setMediaAspectRatio(NativeAd.NATIVE_MEDIA_ASPECT_RATIO_LANDSCAPE)
.build()
Java
NativeAdRequest adRequest = new NativeAdRequest.Builder(
"ca-app-pub-3940256099942544/2247696110",
List.of(NativeAd.NativeAdType.NATIVE))
.setMediaAspectRatio(NativeAd.NATIVE_MEDIA_ASPECT_RATIO_LANDSCAPE)
.build();
אמצעי בקרה להורדת תמונות
האפשרות 'שליטה בהורדת תמונות' מאפשרת לכם להחליט אם ערכת ה-SDK תחזיר נכסי תמונות או רק כתובות URI.
קוראים לפונקציה NativeAdRequest.Builder.disableImageDownloading()
.
ההגדרה שמאפשרת לשלוט בהורדת תמונות מושבתת כברירת מחדל.
אם האפשרות הזו מושבתת, Google Mobile Ads SDK (בטא) מאכלס את התמונה ואת ה-URI בשבילכם.
כשהאפשרות הזו מופעלת, ה-SDK מאכלס רק את ה-URI, וכך מאפשר לכם להוריד את התמונות בפועל לפי שיקול דעתכם.
בדוגמה הבאה, ה-SDK מונחה להחזיר רק את ה-URI.
Kotlin
val adRequest = NativeAdRequest.Builder(
"ca-app-pub-3940256099942544/2247696110",
listOf(NativeAd.NativeAdType.NATIVE))
.setMediaAspectRatio(NativeAd.NATIVE_MEDIA_ASPECT_RATIO_LANDSCAPE)
.disableImageDownloading()
.build()
val adCallback: NativeAdLoaderCallback =
object : NativeAdLoaderCallback {
override fun onNativeAdLoaded(nativeAd: NativeAd) {
// Get the image uri.
val imageUri = nativeAd.image?.uri
}
};
// Load the native ad with the ad request and callback.
NativeAdLoader.load(adRequest, adLoaderCallback);
Java
NativeAdRequest adRequest = new NativeAdRequest.Builder(
"ca-app-pub-3940256099942544/2247696110",
List.of(NativeAd.NativeAdType.NATIVE))
.disableImageDownloading()
.build();
NativeAdLoaderCallback adLoaderCallback =
new NativeAdLoaderCallback() {
@Override
public void onNativeAdLoaded(@NonNull NativeAd nativeAd) {
// Get the image uri.
Uri imageUri = nativeAd.getImage().getUri();
}
};
// Load the native ad with the ad request and callback.
NativeAdLoader.load(adRequest, adLoaderCallback);
אמצעי בקרה על מטען ייעודי (payload) של תמונות
חלק מהמודעות כוללות סדרה של תמונות ולא רק תמונה אחת. התכונה הזו משמשת כדי לציין אם האפליקציה מוכנה להציג את כל התמונות או רק תמונה אחת.
הפקדים של מטען הייעודי (payload) של התמונה מושבתים כברירת מחדל.
כשההגדרה הזו מושבתת, האפליקציה מורה ל-SDK לספק רק את התמונה הראשונה מכל נכס שמכיל סדרה.
כשההגדרה הזו מופעלת, האפליקציה מציינת שהיא מוכנה להציג את כל התמונות של כל הנכסים שיש להם יותר מתמונה אחת.
בדוגמה הבאה, ה-SDK מונחה להחזיר כמה נכסי תמונות.
מיקומי מודעות ב-AdChoices
בקטע הזה מוסבר איך למקם את שכבת העל של AdChoices. אתם יכולים להגדיר את המיקום שלה באחת מארבע הפינות או להציג אותה בתצוגה מותאמת אישית.
אמצעי בקרה על המיקום של AdChoices
אמצעי הבקרה של מיקום AdChoices מאפשרים לכם לבחור באיזו פינה יוצג סמל AdChoices.
מתקשר אל NativeAdRequest.Builder.setAdChoicesPlacement()
עם הערך NativeAdRequest.AdChoicesPlacement
.
אם לא מוגדרת עמדה, סמל AdChoices ממוקם בפינה השמאלית העליונה.
אם ההגדרה מופעלת, סמל AdChoices מוצג במיקום המותאם אישית שצוין.
בדוגמה הבאה מוסבר איך מגדירים מיקום מותאם אישית לתמונה של AdChoices.
Kotlin
val adRequest = NativeAdRequest.Builder(
"ca-app-pub-3940256099942544/2247696110",
listOf(NativeAd.NativeAdType.NATIVE))
.setAdChoicesPlacement(NativeAdOptions.ADCHOICES_BOTTOM_RIGHT)
.build()
Java
NativeAdRequest adRequest = new NativeAdRequest.Builder(
"ca-app-pub-3940256099942544/2247696110",
List.of(NativeAd.NativeAdType.NATIVE))
.setAdChoicesPlacement(NativeAdOptions.ADCHOICES_BOTTOM_RIGHT)
.build();
תצוגה מותאמת אישית של AdChoices
התכונה 'תצוגה בהתאמה אישית של AdChoices' מאפשרת למקם את סמל AdChoices במיקום מותאם אישית. ההגדרה הזו שונה מההגדרות של מיקום AdChoices, שמאפשרות לציין רק אחת מארבע הפינות.
התקשר אל NativeAdView.setAdChoicesView()
עם הערך AdChoicesView
.
בדוגמה הבאה אפשר לראות איך מגדירים תצוגה בהתאמה אישית של AdChoices, כשהסמל של AdChoices מוצג בתוך התג AdChoicesView
.
Kotlin
override fun onNativeAdLoaded(nativeAd: NativeAd) {
val nativeAdView = NativeAdView(applicationContext)
val adChoicesView = AdChoicesView(this)
nativeAdView.adChoicesView = adChoicesView
}
Java
public void onNativeAdLoaded(@NonNull NativeAd nativeAd) {
NativeAdView nativeAdView = new NativeAdView(getApplicationContext());
AdChoicesView adChoicesView = new AdChoicesView(this);
nativeAdView.setAdChoicesView(adChoicesView);
}
פקדי סרטונים
בקטע הזה מוסבר איך להתאים אישית את חוויית הצפייה במודעות וידאו. יש לכם אפשרות להגדיר את מצב ההשתקה הראשוני וליישם אמצעי בקרה מותאמים אישית להפעלה.
התנהגות השתקה ראשונית
ההתנהגות של התחלה בהשתקה מאפשרת לכם להשבית או להפעיל את האודיו של סרטון שמתחיל.
מתקשרים אל VideoOptions.Builder.setStartMuted()
עם ערך boolean
ומתקשרים אל NativeAdOptions.Builder.setVideoOptions()
.
ההתנהגות של השתקה בתחילת השיחה מופעלת כברירת מחדל.
כשההגדרה מושבתת, האפליקציה מבקשת שהסרטון יתחיל עם אודיו.
כשההגדרה הזו מופעלת, האפליקציה מבקשת שהסרטון יתחיל כשהאודיו מושתק.
בדוגמה הבאה אפשר לראות איך מתחילים את הסרטון עם אודיו לא מושתק.
Kotlin
val videoOptions = VideoOptions.Builder()
.setStartMuted(false)
.build()
val adRequest = NativeAdRequest.Builder(
"ca-app-pub-3940256099942544/2247696110",
listOf(NativeAd.NativeAdType.NATIVE))
.setVideoOptions(videoOptions)
.build()
Java
VideoOptions videoOptions = VideoOptions.Builder()
.setStartMuted(false)
.build()
NativeAdRequest adRequest = new NativeAdRequest.Builder(
"ca-app-pub-3940256099942544/2247696110",
List.of(NativeAd.NativeAdType.NATIVE))
.setVideoOptions(videoOptions)
.build()
רכיבי UI להפעלה בהתאמה אישית
כך אפשר לבקש רכיבי UI בהתאמה אישית להזנת וידאו כדי להפעיל, להשהות או להשתיק את הסרטון.
כדי להגדיר את מצב ההשתקה ההתחלתי של המודעות, קוראים לפונקציה VideoOptions.Builder.setCustomControlsRequested()
.
כברירת מחדל, רכיבי UI בהתאמה אישית להפעלת וידאו מושבתים.
אם האפשרות הזו מושבתת, בסרטון יוצגו אמצעי בקרה לקלט שעברו רינדור על ידי ה-SDK.
אם המודעה כוללת תוכן וידאו והפעלתם אמצעי בקרה בהתאמה אישית, אתם צריכים להציג את אמצעי הבקרה המותאמים אישית לצד המודעה, כי המודעה לא תציג אמצעי בקרה משלה. לאחר מכן, אמצעי הבקרה יכולים לקרוא ל-methods הרלוונטיות ב-
VideoOptions.Builder.setCustomControlsRequested()
.
בדוגמה הבאה מוצגת בקשה להצגת סרטון עם רכיבי UI מותאמים אישית להפעלת סרטונים.
Kotlin
val videoOptions: VideoOptions.Builder()
.setCustomControlsRequested(true)
.build()
val adRequest = new NativeAdRequest.Builder(
"ca-app-pub-3940256099942544/2247696110",
listOf(NativeAd.NativeAdType.NATIVE))
.setVideoOptions(videoOptions)
.build()
Java
VideoOptions VideoOptions = VideoOptions.Builder()
.setCustomControlsRequested(true)
.build()
NativeAdRequest adRequest = new NativeAdRequest.Builder(
"ca-app-pub-3940256099942544/2247696110",
List.of(NativeAd.NativeAdType.NATIVE))
.setVideoOptions(videoOptions)
.build()
איך בודקים אם אמצעי בקרה בהתאמה אישית מופעלים
מכיוון שלא ידוע בזמן הבקשה אם המודעה שמוחזרת תאפשר אמצעי בקרה מותאמים אישית של סרטונים, צריך לבדוק אם הופעלו בה אמצעי בקרה מותאמים אישית.
Kotlin
val adCallback: NativeAdLoaderCallback =
object : NativeAdLoaderCallback {
override fun onNativeAdLoaded(nativeAd: NativeAd) {
val mediaContent = nativeAd.mediaContent;
if (mediaContent != null) {
val videoController = mediaContent.videoController;
val canShowCustomControls = videoController?.isCustomControlsEnabled();
}
}
};
Java
NativeAdLoaderCallback adCallback =
new NativeAdLoaderCallback() {
@Override
public void onNativeAdLoaded(@NonNull NativeAd nativeAd) {
MediaContent mediaContent = nativeAd.getMediaContent();
if (mediaContent != null) {
VideoController videoController = mediaContent.getVideoController();
if (videoController != null) {
boolean canShowCustomControls = videoController.isCustomControlsEnabled();
}
}
}
};
הצגת אמצעי בקרה מותאמים אישית של סרטונים
כדי להציג רכיבי בקרה מותאמים אישית של סרטונים, מומלץ לפעול לפי השיטות המומלצות הבאות:
- הצגת התצוגה של אמצעי הבקרה בהתאמה אישית כרכיב צאצא של תצוגת המודעה המקורית. בגישה הזו, החישובים של ניראות במדידה פתוחה מתייחסים לפקדים המותאמים אישית כאל הפרעה ידידותית.
- לא כדאי לבצע רינדור של שכבת-על בלתי נראית מעל כל תצוגת המדיה. מודעות אוברליי חוסמות את האפשרות ללחוץ על תצוגת המדיה, ופוגעות בביצועים של מודעות מותאמות. במקום זאת, כדאי ליצור שכבת-על קטנה שגדולה מספיק כדי להכיל את אמצעי הבקרה.
תנועות קליק בהתאמה אישית
תכונת מחוות קליק מותאמות אישית היא תכונה של מודעות מותאמות שמאפשרת להחליק על צפיות במודעות כדי שהן יירשמו כקליקים על מודעות. הוא מיועד לעבוד עם אפליקציות שמשתמשות במחוות החלקה לניווט בתוכן. במדריך הזה מוסבר איך להפעיל תנועות מותאמות אישית של קליקים במודעות המותאמות.
מתקשרים אל NativeAdRequest.Builder.enableCustomClickGestureDirection()
עם NativeAd.SwipeGestureDirection
וערך של boolean
.
בדוגמה הבאה מיושם מחווה מותאמת אישית של החלקה ימינה, וההתנהגות הרגילה של הכרטיסייה נשמרת.
התכונה 'מחוות מותאמות אישית להקשה' מושבתת כברירת מחדל.
אם משביתים את ההגדרה, האפליקציה תתמוך בהתנהגות רגילה של לחיצה.
כשהאפשרות הזו מופעלת, האפליקציה תתמוך בתנועות החלקה מותאמות אישית.
בדוגמה הבאה מיושם מחווה מותאמת אישית של החלקה ימינה, וההתנהגות הרגילה של הכרטיסייה נשמרת.
Kotlin
val adOptions = NativeAdOptions
.Builder()
.enableCustomClickGestureDirection(
/* swipeDirection */ NativeAdOptions.SWIPE_GESTURE_DIRECTION_RIGHT,
/* tapsAllowed= */ true)
.build();
// The following sample ad unit ID has been enabled for custom click gestures
// and can be used for testing.
val adRequest = NativeAdRequest.Builder(
"ca-app-pub-3940256099942544/2247696110",
listOf(NativeAd.NativeAdType.NATIVE))
.withNativeAdOptions(adOptions)
.build();
Java
NativeAdOptions adOptions = new NativeAdOptions
.Builder()
.enableCustomClickGestureDirection(
/* swipeDirection */ NativeAdOptions.SWIPE_GESTURE_DIRECTION_RIGHT,
/* tapsAllowed= */ true)
.build();
// The following sample ad unit ID has been enabled for custom click gestures
// and can be used for testing.
NativeAdRequest adRequest = new NativeAdRequest.Builder(
"ca-app-pub-3940256099942544/2247696110",
List.of(NativeAd.NativeAdType.NATIVE))
.withNativeAdOptions(adOptions)
.build();
האזנה לאירועים של מחוות החלקה
כדי להאזין לאירועים של תנועות החלקה, קוראים ל-NativeAd.setAdEventCallback()
עם NativeAdEventCallback
ומטמיעים את השיטה onAdSwipeGestureClicked()
.
Kotlin
val adCallback: NativeAdLoaderCallback =
object : NativeAdLoaderCallback {
override fun onNativeAdLoaded(nativeAd: NativeAd) {
// Implement the onAdSwipeGestureClicked() method.
val nativeAdCallback: NativeAdEventCallback = object : NativeAdEventCallback {
override fun onAdSwipeGestureClicked() {
// A swipe gesture click has occurred.
}
}
}
}
// Load the native ad with the ad request and callback.
NativeAdLoader.load(adRequest, adCallback)
Java
NativeAdLoaderCallback adCallback =
new NativeAdLoaderCallback() {
@Override
public void onNativeAdLoaded(@NonNull NativeAd nativeAd) {
// Implement the onAdSwipeGestureClicked() method.
NativeAdEventCallback nativeAdCallback = new NativeAdEventCallback() {
@Override
public void onAdSwipeGestureClicked() {
// A swipe gesture click has occurred.
}
};
}
};
// Load the native ad with the ad request and callback.
NativeAdLoader.load(adRequest, adCallback);
גישור
מחוות מותאמות אישית של קליקים פועלות רק במודעות מותאמות שמעובדות על ידי Google Mobile Ads SDK. מקורות למודעות שנדרש בהם SDK של צד שלישי לצורך הצגה, לא מגיבים להגדרה של כיווני לחיצה בהתאמה אישית.