תצוגות של מודעות באנר הן מודעות תמונה או מודעות טקסט מלבניות שתופסות מקום במסך. הן מוצגות במסך גם בזמן אינטראקציות של המשתמשים באפליקציה, ויכול להיות שיתבצע רענון אוטומטי שלהן אחרי פרק זמן מסוים. אם אתם חדשים בתחום הפרסום בנייד, כדאי להתחיל עם מודעות באנר.
במדריך הזה מוסבר איך לשלב תצוגות של מודעות באנר באפליקציה ל-Unity. בנוסף לקטעי קוד ולהוראות, הוא כולל גם מידע על שינוי הגודל של מודעות באנר בצורה נכונה וקישורים למקורות מידע נוספים.
דרישות מוקדמות
לפני שממשיכים, מגדירים את Google Mobile Ads Unity Plugin.
תמיד צריך לבדוק באמצעות מודעות בדיקה
דוגמת הקוד הבאה מכילה מזהה של יחידת מודעות שבו אפשר להשתמש כדי לבקש מודעות לבדיקה. הוא הוגדר במיוחד כדי להחזיר לכל בקשה מודעות בדיקה שאינן פעילות, ולכן בטוח להשתמש בו.
עם זאת, אחרי שרושמים אפליקציה בממשק האינטרנט של Ad Manager ויוצרים מזהים של יחידות מודעות לשימוש באפליקציה, צריך להגדיר את המכשיר כמכשיר בדיקה במהלך הפיתוח.
/21775744923/example/interstitial
מפעילים את Google Mobile Ads Unity Plugin
לפני טעינת המודעות, צריך להפעיל את Google Mobile Ads Unity Plugin באפליקציה באמצעות קריאה ל-MobileAds.Initialize(). צריך לעשות את זה רק פעם אחת, רצוי בזמן הפעלת האפליקציה.
using GoogleMobileAds;
using GoogleMobileAds.Api;
public class GoogleMobileAdsDemoScript : MonoBehaviour
{
public void Start()
{
// Initialize Google Mobile Ads Unity Plugin.
MobileAds.Initialize((InitializationStatus initStatus) =>
{
// This callback is called once the MobileAds SDK is initialized.
});
}
}
אם אתם משתמשים בתהליך בחירת רשת, צריך להמתין עד שהקריאה החוזרת (callback) מתרחשת לפני שטוענים את המודעות. זה יאפשר לוודא שכל המתאמים של תהליך בחירת הרשת פועלים.
דוגמה ל-BannerView
הקוד לדוגמה הבא מפרט איך להשתמש בתצוגת הבאנר. בדוגמה, יוצרים מופע של תצוגת באנר, משתמשים ב-AdManagerAdRequest כדי לטעון מודעה לתצוגת הבאנר, ואז מרחיבים את היכולות שלה על ידי טיפול באירועים במחזור החיים.
יצירת תצוגת באנר
השלב הראשון בשימוש בתצוגת באנר הוא ליצור מופע של תצוגת באנר.
מחליפים את AD_UNIT_ID במזהה יחידת המודעות.
ל-constructor של AdManagerBannerView יש את הפרמטרים הבאים:
-
adUnitId: מזהה יחידת המודעות של מודעת הבאנר שרוצים לטעון. -
AdSize: גודל הבאנר שבו רוצים להשתמש. -
AdPosition: המיקום שבו רוצים להציב את תצוגות הבאנר.
(אופציונלי) יצירת תצוגת מודעת באנר במיקום מותאם אישית
כדי לקבל שליטה רבה יותר על המיקום של תצוגת הבאנר במסך, מעבר למה שמוצע בערכים של AdPosition, משתמשים ב-constructor שכולל קואורדינטות X ו-Y כפרמטרים:
הפינה השמאלית העליונה של תצוגת הבאנר ממוקמת בערכי x ו-y שמועברים ל-constructor, כאשר המקור הוא הפינה השמאלית העליונה של המסך.
(אופציונלי) יצירת תצוגת מודעת באנר בגודל מותאם אישית
בנוסף לשימוש בקבוע AdSize, אפשר גם לציין גודל מותאם אישית למודעה:
(אופציונלי) כמה גדלים של מודעות
ב-Ad Manager אפשר לציין כמה גדלים של מודעות שיכולים להתאים להצגה בAdManagerBannerView. לפני שמטמיעים את התכונה הזו ב-SDK, יוצרים פריט שמטרגט את אותן יחידות של מודעות שמשויכות לקריאייטיבים בגדלים שונים.
באפליקציה, מעבירים כמה פרמטרים של AdSize אל ValidAdSizes:
אם הגודל של AdManagerAdView משתנה בזמן הרענון, הפריסה צריכה להיות מסוגלת להתאים את עצמה באופן אוטומטי לגודל החדש. הערך של AdManagerAdView מוגדר כברירת מחדל לגודל שהועבר בפרמטר הראשון עד שהמודעה הבאה מוחזרת.
טעינה של מודעת באנר
אחרי שמגדירים את AdManagerBannerView, טוענים מודעה באמצעות השיטה LoadAd() במחלקה AdManagerBannerView. הוא מקבל פרמטר שמכיל מידע על זמן הריצה, כמו פרטי טירגוט, תוויות החרגה ומזהה שסופק על ידי בעל האפליקציה.
כדי לטעון מודעה, יוצרים AdManagerAdRequest ומעבירים אותו ל-method LoadAd().
// Send a request to load an ad into the banner view.
adManagerBannerView.LoadAd(new AdManagerAdRequest());
האזנה לאירועים של תצוגת מודעות באנר
כדי להתאים אישית את התנהגות המודעה, אפשר להשתמש במספר אירועים במחזור החיים של המודעה, כמו טעינה, פתיחה או סגירה. כדי להמתין ולתעד את האירועים האלה, צריך לרשום נציג:
adManagerBannerView.OnBannerAdLoaded += () =>
{
// Raised when an ad is loaded into the banner view.
};
adManagerBannerView.OnBannerAdLoadFailed += (LoadAdError error) =>
{
// Raised when an ad fails to load into the banner view.
};
adManagerBannerView.OnAdPaid += (AdValue adValue) =>
{
// Raised when the ad is estimated to have earned money.
};
adManagerBannerView.OnAdImpressionRecorded += () =>
{
// Raised when an impression is recorded for an ad.
};
adManagerBannerView.OnAdClicked += () =>
{
// Raised when a click is recorded for an ad.
};
adManagerBannerView.OnAdFullScreenContentOpened += () =>
{
// Raised when an ad opened full screen content.
};
adManagerBannerView.OnAdFullScreenContentClosed += () =>
{
// Raised when the ad closed full screen content.
};
השמדת התצוגה של מודעת הבאנר
כדי להשמיד את המודעה, צריך להפעיל את השיטה Destroy() כדי לשחרר משאבים:
if (adManagerBannerView != null)
{
// Always destroy the banner view when no longer needed.
adManagerBannerView.Destroy();
adManagerBannerView = null;
}
אם מודעת באנר לא נטענת, מומלץ לרענן אותה במקום להשמיד אותה וליצור מודעה חדשה. פרטים נוספים זמינים במאמר רענון מודעה.
רענון מודעה
אם הגדרתם את יחידת המודעות לרענון, אתם לא צריכים לבקש מודעה אחרת כשהמודעה לא נטענת. Google Mobile Ads Unity Plugin מכבד את קצב הרענון שציינתם בממשק המשתמש של Ad Manager. אם לא הפעלתם את הרענון, שלחו בקשה חדשה. במאמר קצב הרענון של מודעות באפליקציות לנייד מוסבר איך להגדיר את קצב הרענון של יחידות המודעות.
גדלים של מודעות באנר
מודעות באנר מותאמות גדולות הן פורמט גדול יותר שמיועד לפריסות ללא גלילה. בהשוואה למודעות באנר מותאמות ומעוגנות רגילות, במודעות האלה הגובה המקסימלי יכול להיות גדול יותר (עד 20% מגובה המסך, בין 50 ל-150dp). השטח המוגדל הזה מותאם לקטע וידאו.
בטבלה הבאה מפורטים הגדלים הסטנדרטיים של מודעות באנר:
| גודל ב-dp (רוחב x גובה) | תיאור | זמינות | ערך קבוע של AdSize |
|---|---|---|---|
| 320x50 | כרזות רגילות | טלפונים וטאבלטים | BANNER |
| 320x100 | מודעת באנר גדולה | טלפונים וטאבלטים | LARGE_BANNER |
| 300x250 | מלבן בינוני של IAB | טלפונים וטאבלטים | MEDIUM_RECTANGLE |
| 468x60 | מודעת באנר בגודל מלא של IAB | טאבלטים | FULL_BANNER |
| 728x90 | IAB Leaderboard | טאבלטים | LEADERBOARD |
| רוחב שצוין x גובה דינמי | מודעת באנר מותאמת | טלפונים וטאבלטים | לא רלוונטי |
| רוחב המסך x 32|50|90 | מודעת באנר חכמה | טלפונים וטאבלטים | SMART_BANNER |
| מידע נוסף על מודעות באנר מותאמות, שנועדו להחליף את מודעות הבאנר החכמות. | |||
אירועים באפליקציה
אירועים באפליקציה מאפשרים ליצור מודעות שיכולות לשלוח הודעות לקוד של האפליקציה. לאחר מכן, האפליקציה יכולה לבצע פעולות על סמך ההודעות האלה.
אפשר להאזין לאירועים ספציפיים של אפליקציות ב-Ad Manager באמצעות AppEvent. האירועים האלה יכולים להתרחש בכל שלב במחזור החיים של המודעה, אפילו לפני שמתבצעת קריאה לטעינה.
האירוע OnAppEventReceived מופעל כשמתרחש אירוע באפליקציה במודעה. הנה דוגמה לטיפול באירוע הזה בקוד:
adManagerBannerView.OnAppEventReceived += (AppEvent args) =>
{
Debug.Log($"Received app event from the ad: {args.Name}, {args.Data}.");
};
בדוגמה הבאה אפשר לראות איך משנים את צבע הרקע של האפליקציה בהתאם לאירוע באפליקציה עם שם של צבע:
adManagerBannerView.OnAppEventReceived += (AppEvent args) =>
{
if (args.Name == "color")
{
Color color;
if (ColorUtility.TryParseHtmlString(args.Data, out color))
{
renderer.material.color = color;
}
}
};
והנה הקריאייטיב התואם ששולח את אירוע האפליקציה color:
<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: 0;
left: 0;
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>
מקורות מידע נוספים
- דוגמה ל-HelloWorld: הטמעה מינימלית של כל פורמטי המודעות.