מודעות באנר תופסות מקום בפריסה של האפליקציה, בחלק העליון או התחתון של מסך המכשיר. הן מוצגות במסך גם בזמן אינטראקציות של המשתמשים באפליקציה, ויכול להיות שיתבצע רענון אוטומטי של המודעות אחרי פרק זמן מסוים. אם אתם חדשים בתחום הפרסום בנייד, כדאי להתחיל עם מודעות באנר. כאן תוכלו לראות מקרה לדוגמה.
דרישות מוקדמות
- לוחצים על שנתחיל?.
- (Android בלבד) היכרות עם הפניות
jobjectשל JNI (ראו טיפים ל-Android JNI).
תמיד צריך לבדוק באמצעות מודעות בדיקה
כשאתם מפתחים ובודקים את האפליקציות, חשוב להשתמש במודעות בדיקה ולא במודעות פעילות. אחרת, אנחנו עלולים להשעות את החשבון.
הדרך הכי קלה לטעון מודעות לבדיקה היא להשתמש במזהה יחידת המודעות הייעודית לבדיקה של מודעות באנר, שמשתנה בהתאם לפלטפורמת המכשיר:
- Android:
ca-app-pub-3940256099942544/6300978111 - iOS:
ca-app-pub-3940256099942544/2934735716
המזהים האלה של יחידות המודעות הוגדרו במיוחד כדי להחזיר מודעות בדיקה לכל בקשה, ואתם יכולים להשתמש בהם באפליקציות שלכם בזמן כתיבת הקוד, הבדיקה וניפוי הבאגים. רק אל תשכחו להחליף אותו במזהה יחידת מודעות משלכם לפני שתפרסמו את האפליקציה.
מידע נוסף על אופן הפעולה של מודעות בדיקה ב-SDK להצגת מודעות זמין במאמר מודעות בדיקה.
הטמעה
הגדרת AdView
מודעות באנר מוצגות באובייקטים מסוג AdView, ולכן השלב הראשון בהטמעה של מודעות באנר הוא ליצור אובייקט AdView ולמקם אותו.
מוסיפים את הכותרת הבאה לקוד ה-C++ של האפליקציה:
#include "firebase/gma/ad_view.h"
מצהירים על אובייקט
AdViewויוצרים מופע שלו:firebase::gma::AdView* ad_view; ad_view = new firebase::gma::AdView();
יוצרים
AdSizeומפעילים את תצוגת המודעה באמצעות התצוגה הראשית (parent view) שלAdParent. התצוגה ברמה העליונה היא הפניה של 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); במקום לשמור את ה-future כמשתנה, אתם יכולים לבדוק מדי פעם את הסטטוס של פעולת האיניציאליזציה על ידי הפעלת
InitializeLastResult()באובייקטAdView. האפשרות הזו יכולה לעזור לכם לעקוב אחרי תהליך האיניציאליזציה ב-game loop הגלובלי.// 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 כדי לעקוב אחרי סטטוס ההשלמה של הפעלות 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() כדי לקבל התראות על שינויים במצב של תצוגת המודעה.
הרחבת ה-methods ב-AdListener היא אופציונלית, אז צריך להטמיע רק את ה-methods שרוצים. הדוגמה הבאה היא הטמעה של מחלקה שמרחיבה את כל ה-methods של המחלקה 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.