מודעות באנר תופסות מקום בפריסה של האפליקציה, בחלק העליון או התחתון של מסך המכשיר. הן מוצגות במסך גם בזמן אינטראקציות של המשתמשים באפליקציה, ויכול להיות שיתבצע רענון אוטומטי שלהן אחרי פרק זמן מסוים. אם אתם חדשים בתחום הפרסום בנייד, מודעות לאפליקציות הן דרך מצוינת להתחיל. מקרה לדוגמה.
דרישות מוקדמות
- משלימים את השלבים במאמר תחילת העבודה.
- (Android בלבד) ניסיון בעבודה עם הפניות של JNI
jobject
(ראו טיפים ל-Android JNI).
תמיד כדאי לבצע בדיקות באמצעות מודעות בדיקה
כשמפתחים ובודקים אפליקציות, חשוב להשתמש במודעות בדיקה ולא במודעות פעילות שמוצגות למשתמשים. אם לא תעשו את זה, אנחנו עשויים להשעות את החשבון שלכם.
הדרך הקלה ביותר לטעון מודעות בדיקה היא להשתמש במזהה הייעודי של יחידת מודעות הבדיקה למודעות באנר, שמשתנה בהתאם לפלטפורמת המכשיר:
- Android:
ca-app-pub-3940256099942544/6300978111
- iOS:
ca-app-pub-3940256099942544/2934735716
מזהי יחידות המודעות האלה הוגדרו במיוחד כדי להחזיר מודעות בדיקה לכל בקשה, ואתם יכולים להשתמש בהם באפליקציות שלכם בזמן כתיבת קוד, בדיקה וניפוי באגים. חשוב להקפיד להחליף אותו במזהה יחידת המודעות שלכם לפני שמפרסמים את האפליקציה.
מידע נוסף על אופן הפעולה של מודעות בדיקה ב-Mobile Ads SDK זמין במאמר בנושא מודעות בדיקה.
הטמעה
הגדרת AdView
מודעות באנר מוצגות באובייקטים מסוג AdView
, ולכן השלב הראשון בשילוב מודעות באנר הוא ליצור אובייקט AdView
ולמקם אותו.
מוסיפים את הכותרת הבאה לקוד C++ של האפליקציה:
#include "firebase/gma/ad_view.h"
מצהירים על אובייקט
AdView
ויוצרים מופע שלו:firebase::gma::AdView* ad_view; ad_view = new firebase::gma::AdView();
יוצרים
AdSize
ומפעילים את תצוגת המודעה באמצעותAdParent
parent view. התצוגה ברמת ההורה היא הפניה ל-JNIjobject
ל-AndroidActivity
או מצביע ל-iOSUIView
שמומר לסוגAdParent
:// 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
result = ad_view->Initialize(ad_parent, kBannerAdUnit, firebase::gma::AdSize::kBanner); במקום לשמור את העתיד כמשתנה, אפשר לבדוק מעת לעת את הסטטוס של פעולת האתחול על ידי הפעלת
InitializeLastResult()
באובייקטAdView
. האפשרות הזו יכולה לעזור לכם לעקוב אחרי תהליך האתחול בלולאת המשחק הגלובלית.// Monitor the status of the future in your game loop: firebase::Future<void> result = ad_view->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
זמין במאמר שימוש ב-Futures כדי לעקוב אחרי סטטוס השלמת הקריאות לשיטות.
הגדרת מיקום המודעה
אפשר להגדיר את המיקום של AdView
בכל שלב אחרי שהוא מאותחל:
firebase::Future<void> result = ad_view->SetPosition(firebase::gma::AdView::kPositionTop);
טעינת מודעה
אפשר לטעון מודעה אחרי שהרכיב AdView
עובר אתחול:
firebase::gma::AdRequest ad_request;
firebase::Future<firebase::gma::AdResult> load_ad_result = ad_view->LoadAd(my_ad_request);
אובייקטים מסוג AdRequest
מייצגים בקשה יחידה להצגת מודעה ומכילים מאפיינים של מידע כמו טירגוט.
הצגת המודעה
לבסוף, מציגים את המודעה במסך על ידי קריאה ל-Show()
. אפשר להפעיל את השיטה הזו בכל שלב אחרי שהמודעה אותחלה:
firebase::Future<void> result = ad_view->Show();
אירועים שקשורים למודעות
Google Mobile Ads C++ SDK מספק מחלקה AdListener
שאפשר להרחיב ולהעביר אל AdView::SetListener()
כדי לקבל הודעה על שינויים במצב של תצוגת המודעה.
ההרחבה של שיטות ב-AdListener
היא אופציונלית, לכן צריך להטמיע רק את השיטות שרוצים. בהמשך מופיעה דוגמה להטמעה של מחלקה שמרחיבה את כל המחלקה של שיטות AdListener
:
class ExampleAdListener : public firebase::gma::AdListener { public: ExampleAdListener() {} void OnAdClicked() override { // This method is invoked when the user clicks the ad. } void OnAdClosed() override { // This method is invoked when the user closes the ad. } void OnAdImpression() override { // This method is invoked when an impression is recorded for an ad. } void OnAdOpened() override { // This method is invoked when an ad opens an overlay that covers the screen. } }; ExampleAdListener* ad_listener = new ExampleAdListener(); ad_view->SetAdListener(ad_listener);
גדלים של מודעות באנר
בטבלה הבאה מפורטים הגדלים הסטנדרטיים של באנרים.
גודל בנקודות (רוחב x גובה) | תיאור | זמינות | הקבוע firebase::gma::AdSize |
---|---|---|---|
320x50 | מודעת באנר | טלפונים וטאבלטים | kBanner |
320x100 | מודעת באנר גדולה | טלפונים וטאבלטים | kLargeBanner |
300x250 | מלבן בינוני של IAB | טלפונים וטאבלטים | kMediumRectangle |
468x60 | באנר בגודל מלא של IAB | טאבלטים | kFullBanner |
728x90 | IAB Leaderboard | טאבלטים | kLeaderboard |
הרוחב שצוין x הגובה המותאם | מודעת באנר מותאמת | טלפונים וטאבלטים | לא רלוונטי |
גדלים של מודעות בהתאמה אישית
כדי להגדיר גודל מותאם אישית של מודעת באנר, צריך להגדיר את המידות הרצויות באמצעות ה-constructor firebase::gma::AdSize
עם פרמטרים של רוחב וגובה, כמו שמוצג כאן:
firebase::gma::AdSize ad_size(/*width=*/320, /*height=*/50);
מקורות מידע נוספים
דוגמה ב-GitHub
- אפשר לראות את קוד המקור של אפליקציית ההפעלה המהירה לדוגמה שלנו ב-GitHub.