מודעות באנר הן מודעות מלבניות שתופסות חלק מהפריסה של האפליקציה. הם להישאר במסך בזמן שהמשתמשים יוצרים אינטראקציה עם האפליקציה, בחלק העליון או התחתון של המסך או בשורה עם תוכן בזמן שהמשתמש גולל. מודעות באנר יכול להיות שיתבצע רענון אוטומטי של המודעות אחרי פרק זמן מסוים. לעיון בסקירה כללית בנושא מודעות באנר אפשר לקבל מידע נוסף.
במדריך הזה מוסבר איך להתחיל לעבוד עם מודעות מעוגנות מודעות באנר מותאמות, שממקסמת את הביצועים באמצעות אופטימיזציה של גודל המודעה בכל מכשיר רוחב מודעה שציינתם.
מודעות באנר מותאמות ומעוגנות הן מודעות עם יחס גובה-רוחב קבוע ולא מודעות רגילות מודעות בגודל קבוע. יחס הגובה-רוחב דומה לפורמט המקובל בתחום של 320x50. פעם אחת מציין את הרוחב המלא הזמין, תוצג לכם מודעה עם בגובה הזה. הגובה האופטימלי לא משתנה בין הבקשות באותו מכשיר, והתצוגות שמסביב לא צריכות לזוז כשהמודעה מתבצע רענון.
דרישות מוקדמות
- מבצעים את ההוראות במדריך לתחילת העבודה.
ביצוע בדיקות באמצעות מודעות בדיקה תמיד
כשיוצרים ובודקים אפליקציות, חשוב להשתמש במודעות בדיקה במקום במודעות בדיקה של מודעות בשידור חי. אם לא תעשו זאת, ייתכן שהחשבון שלכם יושעה.
הדרך הקלה ביותר לטעון מודעות בדיקה היא להשתמש במזהה הייעודי של יחידת מודעות לבדיקה עבור מודעות באנר ל-Android:
/21775744923/example/adaptive-banner
הוא הוגדר במיוחד להחזרת מודעות בדיקה עבור כל בקשה, ואפשר להשתמש בו באפליקציות שלכם תוך כדי תכנות, בדיקות וניפוי באגים. רק צריך לוודא צריך להחליף אותו במזהה יחידת המודעות שלך לפני פרסום האפליקציה.
מידע נוסף על אופן הפעולה של מודעות הבדיקה של Mobile Ads SDK זמין במאמר בדיקה מודעות.
הוספת AdManagerAdView לפריסה
השלב הראשון להצגת באנר הוא להציב AdManagerAdView
בפריסה של האפליקציה:
Java
// Create a new ad view.
adView = new AdManagerAdView(this);
adView.setAdUnitId(AD_UNIT);
adView.setAdSize(getAdSize());
// Replace ad container with new ad view.
adContainerView.removeAllViews();
adContainerView.addView(adView);
Kotlin
// Create a new ad view.
val adView = AdManagerAdView(this)
adView.adUnitId = AD_UNIT_ID
adView.setAdSize(adSize)
this.adView = adView
// Replace ad container with new ad view.
binding.adViewContainer.removeAllViews()
binding.adViewContainer.addView(adView)
טעינת מודעה
לאחר יצירת AdManagerAdView, השלב הבא הוא
לטעון מודעה. הפעולה הזו הסתיימה עם loadAd()
ל-method במחלקה AdManagerAdView
. נדרש AdManagerAdRequest
שמכיל מידע על סביבת זמן הריצה, כמו פרטי טירגוט, על
בקשה אחת להצגת מודעה.
הדוגמה הבאה מראה איך לטעון מודעה:
Java
// Start loading the ad in the background.
AdManagerAdRequest adRequest = new AdManagerAdRequest.Builder().build();
adView.loadAd(adRequest);
Kotlin
// Start loading the ad in the background.
val adRequest = AdManagerAdRequest.Builder().build()
adView.loadAd(adRequest)
אם טעינת המודעה נכשלת, אין צורך לבקש מודעה נוספת באופן מפורש, למשל כל עוד הגדרתם את יחידת המודעות לרענון, Google Mobile Ads SDK המערכת מתייחסת לכל קצב רענון שציינתם ב-Ad Manager ממשק אינטרנט. אם לא הפעלתם רענון, יהיה עליכם להנפיק בקשה.
זהו! האפליקציה מוכנה עכשיו להצגת מודעות באנר.
אירועי מודעות
אפשר להאזין לכמה אירועים במחזור החיים של המודעה, כולל טעינה, חשיפות וקליקים של מודעות, וגם אירועי פתיחה וסגירה של מודעה. מומלץ: כדי להגדיר את הקריאה החוזרת לפני טעינת הבאנר.Java
adView.setAdListener(new AdListener() {
@Override
public void onAdClicked() {
// Code to be executed when the user clicks on an ad.
}
@Override
public void onAdClosed() {
// Code to be executed when the user is about to return
// to the app after tapping on an ad.
}
@Override
public void onAdFailedToLoad(LoadAdError adError) {
// Code to be executed when an ad request fails.
}
@Override
public void onAdImpression() {
// Code to be executed when an impression is recorded
// for an ad.
}
@Override
public void onAdLoaded() {
// Code to be executed when an ad finishes loading.
}
@Override
public void onAdOpened() {
// Code to be executed when an ad opens an overlay that
// covers the screen.
}
});
Kotlin
adView.adListener = object: AdListener() {
override fun onAdClicked() {
// Code to be executed when the user clicks on an ad.
}
override fun onAdClosed() {
// Code to be executed when the user is about to return
// to the app after tapping on an ad.
}
override fun onAdFailedToLoad(adError : LoadAdError) {
// Code to be executed when an ad request fails.
}
override fun onAdImpression() {
// Code to be executed when an impression is recorded
// for an ad.
}
override fun onAdLoaded() {
// Code to be executed when an ad finishes loading.
}
override fun onAdOpened() {
// Code to be executed when an ad opens an overlay that
// covers the screen.
}
}
כל אחת מהשיטות שניתן לשנות
AdListener
תואם לאירוע במחזור החיים של מודעה.
שיטות שניתנות לשינוי | |
---|---|
onAdClicked() |
onAdClicked()
מופעלת כאשר מתועד קליק על מודעה.
|
onAdClosed() |
onAdClosed()
מופעלת כשמשתמש חוזר לאפליקציה לאחר שצפה במודעה
כתובת היעד. האפליקציה יכולה להשתמש בה כדי להמשיך פעילויות שהושעו, או
לבצע כל עבודה אחרת שנדרשת כדי להתכונן לאינטראקציה.
|
onAdFailedToLoad() |
onAdFailedToLoad()
השיטה היחידה שכוללת פרמטר. פרמטר השגיאה של סוג
LoadAdError מתארת את השגיאה שאירעה. לקבלת מידע נוסף,
אפשר לעיין במאמר ניפוי באגים בשגיאות טעינת מודעות
תיעוד.
|
onAdImpression() |
onAdImpression()
שיטה מופעלת כאשר מתועדת חשיפה של מודעה.
|
onAdLoaded() |
onAdLoaded()
מופעלת לאחר סיום הטעינה של מודעה. אם רוצים להשהות
הוספה של AdManagerAdView
לפעילות או למקטע שלך, עד שתהיה בטוח שמודעה מסוימת תיטען, למשך
תוכלו לעשות את זה כאן.
|
onAdOpened() |
onAdOpened()
כאשר מודעה פותחת שכבת-על שמכסה את המסך.
|
שיפור המהירות באמצעות חומרה במודעות וידאו
כדי שמודעות וידאו יוצגו בהצלחה בצפיות במודעות באנר, רכיבי חומרה האצה להיות מופעלת.
שיפור המהירות באמצעות חומרה מופעל כברירת מחדל, אבל אפליקציות מסוימות עשויות להשבית אותו
את זה. אם זה רלוונטי לאפליקציה שלך, מומלץ להפעיל את שיפור המהירות באמצעות חומרה
Activity
כיתות שמשתמשות במודעות.
איך מפעילים את שיפור המהירות באמצעות חומרה
אם האפליקציה לא פועלת כמו שצריך כשההגדרה 'שיפור מהירות באמצעות חומרה' מופעלת
בכל העולם, אפשר לשלוט בו גם בפעילויות נפרדות. כדי להפעיל או
אפשר להשבית את שיפור המהירות באמצעות חומרה באמצעות android:hardwareAccelerated
של
<application>
וגם
<activity>
רכיבים ב-AndroidManifest.xml
. הדוגמה הבאה מפעילה חומרה
האצה של האפליקציה כולה אבל משביתה אותה בפעילות אחת:
<application android:hardwareAccelerated="true">
<!-- For activities that use ads, hardwareAcceleration should be true. -->
<activity android:hardwareAccelerated="true" />
<!-- For activities that don't use ads, hardwareAcceleration can be false. -->
<activity android:hardwareAccelerated="false" />
</application>
שיפור המהירות באמצעות חומרה מדריך מידע על אפשרויות לשליטה בהאצת החומרה. שימו לב לא ניתן להפעיל צפיות במודעה בודדת לשיפור המהירות באמצעות חומרה אם הפעילות מושבת, כך ששיפור המהירות באמצעות חומרה חייב להיות מופעל בפעילות עצמה.
ספירת חשיפות ידנית
ספירת חשיפות ידנית תואמת רק למודעות במכירה ישירה ולמכירה ישירה קמפיינים עם נכסי קריאייטיב שמועברים ישירות ב-Ad Manager. זה לא צריך להיות המשמש למילוי חוסרים (backfill) או למודעות ברשתות של צד שלישי. לפרטים נוספים אפשר לעיין בספירה חשיפות וקליקים.
אפשר לשלוח פינגים של חשיפות באופן ידני אל Ad Manager אם יש
לתנאים שקובעים מתי יש לתעד חשיפה. כדי לעשות את זה,
AdManagerAdRequest
לחשיפות ידניות לפני טעינת מודעה:
Java
AdManagerAdRequest adRequest = new AdManagerAdRequest.Builder()
.setManualImpressionsEnabled(true)
.build();
Kotlin
val adRequest = AdManagerAdRequest.Builder()
.setManualImpressionsEnabled(true)
.build()
אם אתם בודקים שמודעה הוחזרה בהצלחה ומופיעה במסך, אפשר לתעד חשיפה באופן ידני:
Java
{ ad_view }.recordManualImpression();
Kotlin
AdManagerAdView.recordManualImpression()
אירועים באפליקציה
אירועי אפליקציה מאפשרים לכם ליצור מודעות שיכולות לשלוח הודעות לקוד האפליקציה שלהן. האפליקציה יכול לבצע פעולות על סמך ההודעות האלה.
אפשר להאזין לאירועים ספציפיים באפליקציה ב-Ad Manager באמצעות AppEventListener
.
האירועים האלה יכולים להתרחש בכל שלב במחזור החיים של המודעה, אפילו לפני
מתבצעת שיחה אל onAdLoaded()
.
Java
public interface AppEventListener {
void onAppEvent(String name, String info);
}
Kotlin
interface AppEventListener {
fun onAppEvent(name: String, info: String)
}
מתבצעת קריאה אל void onAppEvent(String name, String info)
כשמתרחש אירוע באפליקציה
במודעה. אפשר להטמיע את הממשק הזה בפעילות שלכם או בכל כלי אחר
object:
Java
import com.google.android.gms.ads.admanager.*;
public class BannerExample extends Activity implements AppEventListener {
}
Kotlin
import com.google.android.gms.ads.admanager.*
class BannerExample : Activity(), AppEventListener {
}
ואז מועבר אל AdManagerAdView
:
Java
AdManagerAdView.setAppEventListener(this);
Kotlin
AdManagerAdView.appEventListener = this
הדוגמה הבאה מראה איך לשנות את צבע הרקע של האפליקציה בהתאם לאירוע באפליקציה בעל שם בצבע:
Java
@Override
public void onAppEvent(String name, String info) {
if ("color".equals(name)) {
if ("green".equals(info)) {
// Set background color to green.
} else if ("blue".equals(info)) {
// Set background color to blue.
} else {
// Set background color to black.
}
}
}
Kotlin
override fun onAppEvent(name: String?, info: String?) {
if (name == "color") {
when (info) {
"green" -> {
// Set background color to green.
}
"blue" -> {
// Set background color to blue.
}
else -> {
// Set background color to black.
}
}
}
}
והנה הקריאייטיב התואם ששולח הודעות אירועים של אפליקציות צבעוניות ה-Listener:
<html>
<head>
<script src="//www.gstatic.com/afma/api/v1/google_mobile_app_ads.js"></script>
<script>
document.addEventListener("DOMContentLoaded", function() {
// Send a color=green event when ad loads.
admob.events.dispatchAppEvent("color", "green");
document.getElementById("ad").addEventListener("click", function() {
// Send a color=blue event when ad is clicked.
admob.events.dispatchAppEvent("color", "blue");
});
});
</script>
<style>
#ad {
width: 320px;
height: 50px;
top: 0px;
left: 0px;
font-size: 24pt;
font-weight: bold;
position: absolute;
background: black;
color: white;
text-align: center;
}
</style>
</head>
<body>
<div id="ad">Carpe diem!</div>
</body>
</html>
אפשר לעיין בדוגמה 'אירועים באפליקציה ב-Ad Manager' להטמעה של אירועי אפליקציה בקטע אפליקציית הדגמה ל-API.
מקורות מידע נוספים
דוגמאות ב-GitHub
השלבים הבאים
מודעות באנר שאפשר לכווץ
מודעות באנר שאפשר לכווץ הן מודעות באנר שמוצגות בהתחלה בתור שכבת-על, עם לחצן שמכווץ את המודעה לגודל קטן יותר. כדאי להשתמש בה כדי לבצע אופטימיזציה נוספת של הביצועים. פרטים נוספים זמינים במאמר בנושא מודעות באנר שאפשר לכווץ.
מודעות באנר מותאמות שמוצגות בתוך הטקסט
מודעות באנר מותאמות שמוצגות בתוך הטקסט הן מודעות באנר גדולות וגבוהות יותר בהשוואה למודעות באנר מותאמות ומעוגנות באנרים. הגובה שלהם משתנה, והם יכולים להגיע לגובה של מסך המכשיר. מומלץ להשתמש במודעות באנר מותאמות שמוצגות בתוך הטקסט על פני מודעות באנר מותאמות ומעוגנות אפליקציות שמציבות מודעות באנר בתוכן שאפשר לגלול. למידע נוסף, ראו מודעות מוטבעות מודעות באנר פרטים.