מודעות מעברון הן מודעות במסך מלא שמכסות את הממשק של האפליקציה עד נסגר על ידי המשתמש. הם מוצגים בדרך כלל בנקודות מעבר טבעיות את הזרימה של האפליקציה, למשל בין פעילויות או בזמן ההשהיה בין שלבים במשחק. כשאפליקציה מציגה מודעת מעברון, המשתמש יכול לבחור להקיש על המודעה ולהמשיך ליעד שלה, או לסגור אותה ולחזור לאפליקציה. מקרה לדוגמה.
במדריך הזה מוסבר איך לשלב מודעות מעברון באפליקציות ל-Android ול-iOS באמצעות C++ SDK של מודעות Google לנייד.
דרישות מוקדמות
- משלימים את התהליך שנתחיל?.
- (Android בלבד) היכרות עם הפניות JNI
jobject
(מידע נוסף זמין כאן: טיפים ל-Android JNI).
ביצוע בדיקות באמצעות מודעות בדיקה תמיד
כשאתם מפתחים ובודקים את האפליקציות, חשוב להשתמש במודעות בדיקה במקום במודעות פעילות בסביבת הייצור. אם לא תעשו זאת, ייתכן שהחשבון שלכם יושעה.
הדרך הקלה ביותר לטעון מודעות לבדיקה היא להשתמש במזהה הייעודי של יחידת המודעות לבדיקה של מודעות מעברון, שמשתנה בהתאם לפלטפורמת המכשיר:
- Android:
ca-app-pub-3940256099942544/1033173712
- iOS:
ca-app-pub-3940256099942544/4411468910
הם הוגדרו במיוחד כך שיחזירו מודעות בדיקה לכל בקשה, ניתן להשתמש בו באפליקציות משלכם תוך כדי תכנות, בדיקות וניפוי באגים. רק חשוב להחליף אותו במזהה יחידת המודעות שלכם לפני פרסום האפליקציה.
למידע נוסף על אופן הפעולה של מודעות בדיקה ב-Mobile Ads SDK, אפשר לעיין במאמר מודעות בדיקה.
הטמעה
השלבים העיקריים לשילוב מודעות מעברון הם:
- טוענים מודעה.
- הרשמה להתקשרות חזרה.
- מציגים את המודעה ומטפלים באירועי מחזור החיים שלה.
הגדרה של InterstitialAd
מודעות מעברון מוצגות באובייקטים מסוג InterstitialAd
, ולכן השלב הראשון בשילוב מודעות מעברון באפליקציה הוא ליצור אובייקט InterstitialAd
ולאתחל אותו.
צריך להוסיף את הכותרת הבאה לקוד C++ של האפליקציה:
#include "firebase/gma/interstial_ad.h"
הצהרה ויצירה של אובייקט
InterstitialAd
:firebase::gma::InterstitialAd* interstitial_ad; interstitial_ad = new firebase::gma::InterstitialAd();
לאתחל את המכונה של
InterstitialAd
באמצעות הפעלת Cast של תצוגת ההורה אל סוגAdParent
. תצוגת ההורה היא הפניה שלjobject
JNI למכשיר AndroidActivity
או מצביע אל iOSUIView
.// my_ad_parent is a jobject reference to an Android Activity or // a pointer to an iOS UIView. firebase::gma::AdParent ad_parent = static_cast<firebase::gma::AdParent>(my_ad_parent); firebase::Future<void> result = interstitial_ad->Initialize(ad_parent);
כחלופה לשמירת העתיד כמשתנה, אתם יכולים לבצע מדי פעם לבדוק את הסטטוס של פעולת האתחול על ידי הפעלה
InitializeLastResult()
באובייקטInterstitialAd
. אולי הסרטון הזה יעזור לך למעקב אחרי תהליך האתחול בלולאת המשחק הגלובליות.// Monitor the status of the future in your game loop: firebase::Future<void> result = interstitial_ad->InitializeLastResult(); if (result.status() == firebase::kFutureStatusComplete) { // Initialization completed. if(future.error() == firebase::gma::kAdErrorCodeNone) { // Initialization successful. } else { // An error has occurred. } } else { // Initialization on-going. }
למידע נוסף על עבודה עם firebase::Future
:
השתמש בחוזים עתידיים כדי לעקוב אחר סטטוס ההשלמה של השיטה
שיחות.
טעינת מודעה
הטעינה של מודעה מתבצעת באמצעות השיטה LoadAd()
אובייקט InterstitialAd
. בשיטת הטעינה נדרשת אתחול
InterstitialAd
, ושיש לכם את המזהה של יחידת המודעות וגם את המזהה AdRequest
לאובייקט. מוחזר firebase::Future
שבאמצעותו ניתן לעקוב אחר המדינה
והתוצאה של פעולת הטעינה.
הקוד הבא מראה איך לטעון מודעה אחרי שהInterstitialAd
אותחל בהצלחה:
firebase::gma::AdRequest ad_request;
firebase::Future<firebase::gma::AdResult> load_ad_result;
load_ad_result = interstitial_ad->LoadAd(interstitial_ad_unit_id, ad_request);
הרשמה להתקשרות חזרה
עליך להאריך את הכיתה FullScreenContentListener
כדי לקבל
התראות לגבי הצגת מודעות מעברון ואירועים במחזור החיים. ההתאמה האישית שלך
אפשר לרשום מחלקה אחת (FullScreenContentListener
) דרך
InterstitialAd::SetFullScreenContentListener()
, והיא תקבל
קריאה חוזרת (callback) כשהמודעה מוצגת בהצלחה או נכשלת, וכן כאשר
הסרטון נסגר.
הקוד הבא מראה איך להרחיב את הכיתה ולהקצות אותה למודעה:
class ExampleFullScreenContentListener : public firebase::gma::FullScreenContentListener { public: ExampleFullScreenContentListener() {} void OnAdClicked() override { // This method is invoked when the user clicks the ad. } void OnAdDismissedFullScreenContent() override { // This method is invoked when the ad dismisses full screen content. } void OnAdFailedToShowFullScreenContent(const AdError& error) override { // This method is invoked when the ad failed to show full screen content. // Details about the error are contained within the AdError parameter. } void OnAdImpression() override { // This method is invoked when an impression is recorded for an ad. } void OnAdShowedFullScreenContent() override { // This method is invoked when the ad showed its full screen content. } }; ExampleFullScreenContentListener* full_screen_content_listener = new ExampleFullScreenContentListener(); interstitial_ad->SetFullScreenContentListener(full_screen_content_listener);
InterstitialAd
הוא אובייקט חד-פעמי. כלומר, ברגע שמודעת מעברון
מוצגת, אי אפשר להציג אותה שוב. שיטה מומלצת היא לטעון עוד
מודעת מעברון בשיטה OnAdDismissedFullScreenContent()
של
FullScreenContentListener
כדי שמודעת המעברון הבאה תתחיל להיטען בתור
ברגע הסגירה הקודמת.
מציגים את המודעה
מודעות מעברון צריכות להיות מוצגות בזמן השהיות טבעיות בזרימה של האפליקציה.
דוגמה טובה לכך היא בין שלבים במשחק, או אחרי שהמשתמש משלים משימה.
אפשר להשתמש בFullScreenContentListener
כדי לקבוע מתי מודעה
הציג את התוכן במסך מלא, העתיד שיוחזר על ידי Show()
גם יציין
כאשר המודעה הוצגה בהצלחה.
firebase::Future<void> result = interstitial_ad->Show();
שיטות מומלצות
- כדאי לבדוק אם מודעות מעברון הן סוג המודעה המתאים לאפליקציה שלכם.
- מודעות מעברון פועלות בצורה הטובה ביותר באפליקציות עם נקודות מעבר טבעיות. סיום משימה בתוך אפליקציה, כמו שיתוף תמונה או השלמת משחק יוצר נקודה כזו. מכיוון שהמשתמש מצפה להפסקה פעולה, קל להציג מודעת מעברון בלי להפריע חוויה אישית. חשוב לשקול את הנקודות בתהליך העבודה של האפליקציה להציג מודעות מעברון ואת האופן שבו המשתמשים צפויים להגיב.
- זכרו להשהות את הפעולה בזמן ההצגה של מודעת מעברון.
- יש כמה סוגים שונים של מודעות מעברון: טקסט, תמונה,
וידאו ועוד. חשוב לוודא שכאשר האפליקציה מציגה
כמודעת מעברון, היא גם משעה את השימוש במשאבים מסוימים כדי לאפשר למודעה
לנצל אותן. לדוגמה, כשמתקשרים כדי להציג
מודעת מעברון, הקפידו להשהות את כל פלט האודיו שהאפליקציה שלכם יוצרת.
אפשר להמשיך את השמעת הצלילים בשיטה
OnAdDismissedFullScreenContent
שלFullScreenContentListener
שהתקנת, שיופעל כשהמשתמש סיימה לנהל אינטראקציה עם המודעה. בנוסף, מומלץ להפסיק זמנית משימות חישוב אינטנסיביות (כגון לולאת משחק) בזמן שהמודעה מוצגת מוצגת. פעולה זו תבטיח שהמשתמשים לא יחוו איטיות או גרפיקה לא מגיבה או סרטון מקוטע. - צריך לאפשר זמן טעינה מתאים.
- בדיוק כמו שחשוב לוודא שמודעות המעברון מוצגות בזמן המתאים, חשוב גם לוודא שהמשתמש לא יצטרך לחכות כדי שהם ייטענו. טעינה של המודעה מראש לפני שאנחנו מתכוונים להציג את המודעה שבאפליקציה יש מודעת מעברון שנטענה במלואה, והיא מוכנה בזמן יכול להציג אחת מהן.
- אסור להציף את המשתמש במודעות.
- למרות שהגברת התדירות של מודעות מעברון באפליקציה שלך, זה עשוי להיראות כמו דרך נהדרת להגדיל את ההכנסות, היא גם יכולה לפגוע בחוויית המשתמש ושיעורי קליקים נמוכים יותר. ודאו שהמשתמשים לא בתדירות גבוהה במקרה שהם לא יוכלו יותר ליהנות מהשימוש באפליקציה שלך.
- אין להשתמש בסיום הטעינה בעתיד כדי להציג את מודעת המעברון.
- הדבר עלול לגרום לחוויית משתמש גרועה. במקום זאת, כדאי לטעון מראש את המודעה לפני שצריך להציג אותה.
מקורות מידע נוספים
דוגמה ב-GitHub
- הצגת קוד המקור של הדוגמה אפליקציית המדריך למתחילים ב-GitHub.
מדריכי וידאו של Mobile Ads Garage
סיפורי הצלחה
השלבים הבאים
- אם עדיין לא עשיתם זאת, צרו יחידת מודעות מעברון משלכם ממשק המשתמש של AdMob.
- מידע נוסף על טירגוט מודעות והנחיות בנושא מודעות מעברון