מודעות מעברונים

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

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

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

מסיימים את העבודה עם תחילת העבודה. האפליקציה Unity כבר צריכה לייבא את הפלאגין של Google Mobile Ads Unity.

יצירת מודעת מעברון

השלב הראשון בהצגת מודעת מעברון הוא InterstitialAd אובייקט בסקריפט שצורף לקובץ GameObject.

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

using GoogleMobileAds.Api;
...

private InterstitialAd interstitial;

private void RequestInterstitial()
{
    #if UNITY_ANDROID
        string adUnitId = "ca-app-pub-3940256099942544/1033173712";
    #elif UNITY_IPHONE
        string adUnitId = "ca-app-pub-3940256099942544/4411468910";
    #else
        string adUnitId = "unexpected_platform";
    #endif

    // Initialize an InterstitialAd.
    this.interstitial = new InterstitialAd(adUnitId);
}

המבנה של InterstitialAd כולל את הפרמטר הבא:

  • adUnitId - מזהה יחידת המודעות ב-AdMob שממנוInterstitialAd צריך לטעון מודעות.

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

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

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

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

טעינת מודעה

אחרי יצירת הInterstitialAd, אפשר לטעון מודעה בשלב הבא. הפעולה הזו מתבצעת בשיטה loadAd() בכיתה InterstitialAd. נדרש ארגומנט AdRequest, שמכיל מידע על זמן ריצה (כגון מידע על טירגוט) על בקשה אחת להצגת מודעה.

הנה דוגמה שממחישה איך לטעון מודעה:

using GoogleMobileAds.Api;
...
private InterstitialAd interstitial;

private void RequestInterstitial()
{
    #if UNITY_ANDROID
        string adUnitId = "ca-app-pub-3940256099942544/1033173712";
    #elif UNITY_IPHONE
        string adUnitId = "ca-app-pub-3940256099942544/4411468910";
    #else
        string adUnitId = "unexpected_platform";
    #endif

    // Initialize an InterstitialAd.
    this.interstitial = new InterstitialAd(adUnitId);
    // Create an empty ad request.
    AdRequest request = new AdRequest.Builder().Build();
    // Load the interstitial with the request.
    this.interstitial.LoadAd(request);
}

הצגת המודעה

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

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

private void GameOver()
{
  if (this.interstitial.IsLoaded()) {
    this.interstitial.Show();
  }
}

אירועי מודעות

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

using GoogleMobileAds.Api;
...
private InterstitialAd interstitial;

private void RequestInterstitial()
{
    #if UNITY_ANDROID
        string adUnitId = "ca-app-pub-3940256099942544/1033173712";
    #elif UNITY_IPHONE
        string adUnitId = "ca-app-pub-3940256099942544/4411468910";
    #else
        string adUnitId = "unexpected_platform";
    #endif

     // Initialize an InterstitialAd.
    this.interstitial = new InterstitialAd(adUnitId);

    // Called when an ad request has successfully loaded.
    this.interstitial.OnAdLoaded += HandleOnAdLoaded;
    // Called when an ad request failed to load.
    this.interstitial.OnAdFailedToLoad += HandleOnAdFailedToLoad;
    // Called when an ad is shown.
    this.interstitial.OnAdOpening += HandleOnAdOpening;
    // Called when the ad is closed.
    this.interstitial.OnAdClosed += HandleOnAdClosed;

    // Create an empty ad request.
    AdRequest request = new AdRequest.Builder().Build();
    // Load the interstitial with the request.
    this.interstitial.LoadAd(request);
}

public void HandleOnAdLoaded(object sender, EventArgs args)
{
    MonoBehaviour.print("HandleAdLoaded event received");
}

public void HandleOnAdFailedToLoad(object sender, AdFailedToLoadEventArgs args)
{
    MonoBehaviour.print("HandleFailedToReceiveAd event received with message: "
                        + args.Message);
}

public void HandleOnAdOpening(object sender, EventArgs args)
{
    MonoBehaviour.print("HandleAdOpening event received");
}

public void HandleOnAdClosed(object sender, EventArgs args)
{
    MonoBehaviour.print("HandleAdClosed event received");
}

האירוע OnAdFailedToLoad מכיל ארגומנטים מיוחדים לאירוע. היא מעבירה מופע של HandleAdFailedToLoadEventArgs עם Message שמתאר את השגיאה:

public void HandleOnAdFailedToLoad(object sender, AdFailedToLoadEventArgs args)
{
    print("Interstitial failed to load: " + args.Message);
    // Handle the ad failed to load event.
}
אירוע מודעהתיאור
OnAdLoaded האירוע OnAdLoaded מופעל כשהמודעה מסתיימת.
OnAdFailedToLoad האירוע OnAdFailedToLoad מופעל כשהמודעה לא נטענת. הפרמטר Message מתאר את סוג הכשל שאירע.
OnAdOpening השיטה הזו מופעלת כשהמודעה מוצגת, ומכסה את מסך המכשיר.
OnAdClosed השיטה הזו מופעלת כשמודעת המעברון נסגרת כשהמשתמש מקיש על סמל הסגירה או משתמש בלחצן 'הקודם'. אם האפליקציה השעתה את פלט האודיו או את לולאה של המשחק, זהו מקום מצוין להמשיך בו.

ניקוי של מודעות מעברון

בסיום השימוש ב-InterstitialAd, יש להקפיד לקרוא את השיטה Destroy() לפני שמשחררים את ההפניה:

interstitial.Destroy();

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

שיטות מומלצות

יש לשקול אם מודעות מעברון הן סוג המודעה המתאים לאפליקציה שלך.
מודעות מעברון עובדות בצורה הטובה ביותר באפליקציות עם נקודות מעבר טבעיות. המסקנות של משימה בתוך אפליקציה, כמו שיתוף תמונה או השלמת שלב של משחק, יוצרות נקודה כזו. מאחר שהמשתמש מצפה להפסקה בפעולה, קל להציג מודעת מעברון מבלי להפריע לחוויית המשתמש. חשוב להביא בחשבון את הנקודות בתהליך העבודה של האפליקציה שמציגות מודעות מעברון ואת הסבירות שהמשתמש יגיב.
חשוב לזכור להשהות את הפעולה כשמגדירים מודעת מעברון.
יש כמה סוגים שונים של מודעות מעברון: טקסט, תמונה, וידאו ועוד. חשוב לוודא שהאפליקציה שלך מציגה מודעת מעברון, וכך גם מחריגה את השימוש במשאבים מסוימים, כדי לאפשר למודעה להפיק את המרב ממנה. לדוגמה, כשמתקשרים לשיחה כדי להציג מודעת מעברון, צריך להשהות את פלט האודיו שנוצר על ידי האפליקציה. אפשר להמשיך להשמיע צלילים ב-handler של האירוע onAdClosed(), שיופעל כשהמשתמש יסיים ליצור אינטראקציה עם המודעה. בנוסף, מומלץ להפסיק באופן זמני את משימות החישוב האינטנסיביות (כגון לולאה של משחק) בזמן שהמודעה מוצגת. פעולה זו תוודא שהמשתמש לא יתמודד עם גרפיקה איטית או לא יציבה או שהוא לא יוצג.
זמן טעינה מספיק.
חשוב במיוחד לוודא שמוצגות מודעות מעברון בזמן המתאים, וחשוב גם לוודא שהמשתמש לא צריך לטעון אותן. טעינה מראש של המודעה על ידי התקשרות ל-loadAd() לפני שהחלטת להתקשר אל show() יכולה להבטיח שלאפליקציה שלך תהיה מודעת מעברון שנטענה במלואה כשיגיע הזמן להציג אותה.
אסור להציף את המשתמש במודעות.
אמנם חשוב להגביר את התדירות של מודעות מעברון באפליקציה, אבל זו יכולה להיות דרך מצוינת להגדיל את ההכנסות, אבל היא גם עשויה לפגוע בחוויית המשתמש ולהפחית את שיעורי הקליקים. חשוב לוודא שהמשתמשים לא מפריעים כל כך בתדירות גבוהה כך שהם לא יכולים יותר ליהנות מהשימוש באפליקציה שלך.

מקורות מידע נוספים

דוגמאות

סיפורי הצלחה