מודעות באנר תופסות מקום בתוך הפריסה של האפליקציה, בחלק העליון או התחתון של מסך המכשיר. הן נשארות במסך בזמן שהמשתמשים מבצעים פעולות באפליקציה, ויכולות להתעדכן באופן אוטומטי אחרי פרק זמן מסוים. אם זו הפעם הראשונה שאתם מפרסמים בנייד, כדאי להתחיל מהם. מקרה לדוגמה.
דרישות מוקדמות
- ממלאים את תחילת העבודה.
- (Android בלבד) היכרות עם הפניה
jobject
של JNI (ראו טיפים ל-JNI ב-Android).
תמיד כדאי לבדוק באמצעות מודעות בדיקה
כשאתם מפתחים ובודקים את האפליקציות, חשוב להשתמש במודעות בדיקה במקום במודעות פעילות בשלב ההפקה. אם לא תעשו זאת, החשבון שלכם עלול להיחסם.
הדרך הקלה ביותר לטעון מודעות לבדיקה היא להשתמש במזהה הייעודי של יחידת המודעות לבדיקה של מודעות באנר, שמשתנה בהתאם לפלטפורמת המכשיר:
- 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
. תצוגת ההורה היא הפניה של JNIjobject
ל-Activity
ב-Android או למצביע ל-UIView
ב-iOS שהומר לסוג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); לחלופין, במקום לשמור את ה-Future כמשתנה, אפשר לבדוק מדי פעם את הסטטוס של פעולת האיפוס על ידי קריאה ל-
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
, ראו שימוש בחוזים עתידיים למעקב אחרי סטטוס השלמת הקריאות ל-method.
הגדרת המיקום של המודעה
אפשר להגדיר את המיקום של 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 Medium Rectangle | טלפונים וטאבלטים | kMediumRectangle |
468x60 | באנר בגודל מלא של IAB | טאבלטים | kFullBanner |
728x90 | לידרבורד של IAB | טאבלטים | kLeaderboard |
הרוחב שצוין x גובה מותאם | מודעת באנר דינמית | טלפונים וטאבלטים | לא רלוונטי |
גודלי מודעות בהתאמה אישית
כדי להגדיר גודל באנר מותאם אישית, מגדירים את המאפיינים הרצויים באמצעות המאגר firebase::gma::AdSize
עם הפרמטרים 'רוחב' ו'גובה', כפי שמתואר כאן:
firebase::gma::AdSize ad_size(/*width=*/320, /*height=*/50);
מקורות מידע נוספים
דוגמה ב-GitHub
- קוד המקור של אפליקציית ה-quickstart לדוגמה זמין ב-GitHub.