התחל עם AdMob בפרויקט C++ שלך

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

אם עדיין לא עשית זאת, למד על כל היתרונות של השימוש ב-AdMob, Firebase ו-Google Analytics ביחד.

אם זו הפעם הראשונה שאתה עובר על המדריך הזה, אנו ממליצים להוריד ולעקוב באמצעות אפליקציית הבדיקה של Google Mobile Ads C++ SDK .

לפני שאתה מתחיל

  • אם עדיין אין לך פרויקט Firebase ואפליקציית Firebase, עקוב אחר המדריך לתחילת העבודה של Firebase: הוסף את Firebase לפרויקט C++ שלך .

  • ודא ש-Google Analytics מופעל בפרויקט Firebase שלך:

    • אם אתה יוצר פרויקט Firebase חדש, הפעל את Google Analytics במהלך תהליך העבודה של יצירת הפרויקט.

    • אם יש לך פרויקט Firebase קיים שבו Google Analytics לא מופעל, תוכל להפעיל את Google Analytics מהכרטיסייה אינטגרציות של > הגדרות פרויקט .

שלב 1: הגדר את האפליקציה בחשבון AdMob שלך

  1. רשום כל גרסת פלטפורמה של האפליקציה שלך כאפליקציה של AdMob.

    1. היכנס או הירשם לחשבון AdMob.

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

    תתבקש להוסיף את ה-SDK של מודעות לנייד לאפליקציה שלך. מצא הוראות מפורטות למשימה זו בהמשך מדריך זה.

  2. קשר את כל אחת מאפליקציות AdMob שלך לאפליקציית Firebase המתאימה.

    שלב זה הוא אופציונלי אך מומלץ בחום. למידע נוסף על היתרונות של הפעלת מדדי משתמשים וקישור אפליקציות AdMob שלך ל-Firebase.

    עבור כל גרסה של פלטפורמה, השלם את שני השלבים הבאים במרכז השליטה של ​​Apps של חשבון AdMob שלך:

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

    2. קשר את אפליקציית AdMob לפרויקט Firebase הקיים שלך ולאפליקציית Firebase המתאימה.

      ודא שאתה מזין את אותו שם חבילה (Android) או מזהה חבילה (iOS) כפי שהזנת עבור אפליקציית Firebase שלך. מצא את שם החבילה או מזהה החבילה של אפליקציית Firebase שלך ​​בכרטיס האפליקציות שלך > הגדרות פרויקט .

שלב 2: הוסף את מזהה האפליקציה שלך ב-AdMob לאפליקציה שלך

דְמוּי אָדָם

הוסף את מזהה האפליקציה שלך ב-AdMob לקובץ AndroidManifest.xml של האפליקציה שלך על ידי הוספת תג <meta-data> כפי שמוצג למטה.

<manifest>
    <application>
        <!-- Sample AdMob App ID: ca-app-pub-3940256099942544~3347511713 -->
        <meta-data
            android:name="com.google.android.gms.ads.APPLICATION_ID"
            android:value="ADMOB_APP_ID"/>
    </application>
</manifest>

iOS

בקובץ Info.plist של האפליקציה שלך, הוסף מפתח GADApplicationIdentifier עם ערך מחרוזת של מזהה האפליקציה שלך ב-AdMob .

אתה יכול לבצע את השינוי הזה באופן פרוגרמטי:

<!-- Sample AdMob App ID: ca-app-pub-3940256099942544~1458002511 -->
<key>GADApplicationIdentifier</key>
<string>ADMOB_APP_ID</string>

לחלופין, ערוך אותו בעורך רשימת הנכסים:

עורך רשימת נכסים

שלב 3: הוסף את Google Mobile Ads SDK

מכיוון ש-Google Mobile Ads C++ SDK נמצא במרחב השמות firebase::gma , הורד את Firebase C++ SDK ולאחר מכן פתח אותו לספרייה לבחירתך.

Firebase C++ SDK אינו ספציפי לפלטפורמה, אך הוא דורש תצורות ספרייה ספציפיות לפלטפורמה.

דְמוּי אָדָם

  1. בקובץ gradle.properties של הפרויקט שלך, ציין את המיקום של ה-SDK שנפרם:

    systemProp.firebase_cpp_sdk.dir=FULL/PATH/TO/SDK
  2. לקובץ settings.gradle של הפרויקט שלך, הוסף את התוכן הבא:

    def firebase_cpp_sdk_dir = System.getProperty('firebase_cpp_sdk.dir')
    
    gradle.ext.firebase_cpp_sdk_dir = "$firebase_cpp_sdk_dir"
    includeBuild "$firebase_cpp_sdk_dir"
  3. לקובץ Gradle של המודול (ברמת האפליקציה) (בדרך כלל app/build.gradle ), הוסף את התוכן הבא, הכולל את התלות בספרייה עבור Google Mobile Ads C++ SDK.

    android.defaultConfig.externalNativeBuild.cmake {
      arguments "-DFIREBASE_CPP_SDK_DIR=$gradle.firebase_cpp_sdk_dir"
    }
    
    # Add the dependency for the Google Mobile Ads C++ SDK
    apply from: "$gradle.firebase_cpp_sdk_dir/Android/firebase_dependencies.gradle"
    firebaseCpp.dependencies {
      gma
    }
  4. לקובץ CMakeLists.txt של הפרויקט שלך, הוסף את התוכן הבא.

    # Add Firebase libraries to the target using the function from the SDK.
    add_subdirectory(${FIREBASE_CPP_SDK_DIR} bin/ EXCLUDE_FROM_ALL)
    
    # Add the Google Mobile Ads C++ SDK.
    
    # The Firebase C++ library `firebase_app` is required,
    # and it must always be listed last.
    
    set(firebase_libs
      firebase_gma
      firebase_app
    )
    
    target_link_libraries(${target_name} "${firebase_libs}")
  5. סנכרן את האפליקציה שלך כדי להבטיח שלכל התלות יש את הגרסאות הדרושות.

אתה מוכן! אפליקציית C++ שלך מוגדרת לשימוש ב-Google Mobile Ads C++ SDK.

iOS

השלבים בסעיף זה הם דוגמה להוספת ה-Google Mobile Ads C++ SDK לפרויקט iOS שלך.

  1. קבל את CocoaPods גרסה 1 ואילך על ידי הפעלת:

    sudo gem install cocoapods --pre
  2. הוסף פוד של מודעות Google לנייד מה-SDK הפתוח.

    1. צור Podfile אם עדיין אין לך אחד:

      cd YOUR_APP_DIRECTORY
      pod init
    2. ל-Podfile שלך, הוסף את הפוד עבור Google Mobile Ads C++ SDK:

      pod 'Google-Mobile-Ads-SDK'
    3. התקן את הפוד ולאחר מכן פתח את קובץ .xcworkspace ב-Xcode.

      pod install
      open YOUR_APP.xcworkspace
    4. הוסף את המסגרות הבאות מה-SDK של Firebase C++ לפרויקט:

      • xcframeworks/firebase.xcframework
      • xcframeworks/firebase_gma.xcframework

אתה מוכן! אפליקציית C++ שלך מוגדרת לשימוש ב-Google Mobile Ads C++ SDK.

שלב 4: אתחול ה-SDK של Google Mobile Ads

לפני טעינת מודעות, אתחל את ה-SDK של מודעות לנייד על ידי קריאה ל- firebase::gma::Initialize() .

קריאה זו מחזירה firebase::Future שמסתיים לאחר סיום האתחול (או לאחר פסק זמן של 30 שניות). התקשר לשיטה זו רק פעם אחת וכמה שיותר מוקדם, באופן אידיאלי בעת השקת האפליקציה.

הנה דוגמה כיצד לקרוא את Initialize() :

דְמוּי אָדָם

// Initialize the Google Mobile Ads library
firebase::InitResult result;
Future<AdapterInitializationStatus> future =
  firebase::gma::Initialize(jni_env, j_activity, &result);

if (result != kInitResultSuccess) {
  // Initialization immediately failed, most likely due to a missing dependency.
  // Check the device logs for more information.
  return;
}

// Monitor the status of the future.
// See "Use a Future to monitor the completion status of a method call" below.
if (future.status() == firebase::kFutureStatusComplete &&
    future.error() == firebase::gma::kAdErrorCodeNone) {
  // Initialization completed.
} else {
  // Initialization on-going, or an error has occurred.
}

iOS

// Initialize the Google Mobile Ads library.
firebase::InitResult result;
Future<AdapterInitializationStatus> future =
  firebase::gma::Initialize(&result);

if (result != kInitResultSuccess) {
  // Initialization immediately failed, most likely due to a missing dependency.
  // Check the device logs for more information.
  return;
}

// Monitor the status of the future.
// See "Use a Future to monitor the completion status of a method call" below.
if (future.status() == firebase::kFutureStatusComplete &&
    future.error() == firebase::gma::kAdErrorCodeNone) {
  // Initialization completed.
} else {
  // Initialization on-going, or an error has occurred.
}

השתמש Future כדי לעקוב אחר מצב ההשלמה של קריאת שיטה

A Future מספק לך דרך לקבוע את מצב ההשלמה של קריאות השיטה הא-סינכרונית שלך.

לדוגמה, כאשר האפליקציה שלך קוראת firebase::gma::Initialize() , firebase::Future חדש נוצר ומוחזר. לאחר מכן, האפליקציה שלך יכולה לסקור את status() של Future כדי לקבוע מתי האתחול הושלם. לאחר השלמתו, האפליקציה שלך יכולה להפעיל result() כדי להשיג את AdapterInitializationStatus שנוצר.

לשיטות המחזירות Future יש שיטת "תוצאה אחרונה" מתאימה שבה אפליקציות יכולות להשתמש כדי לאחזר את Future האחרון עבור פעולה נתונה. לדוגמה, firebase::gma::Initialize() יש שיטה מתאימה בשם firebase::gma::InitializeLastResult() , אשר מחזירה Future שהאפליקציה שלך יכולה להשתמש בו כדי לבדוק את מצב הקריאה האחרונה ל- firebase::gma::Initialize() .

אם הסטטוס של Future הושלם וקוד השגיאה שלו הוא firebase::gma::kAdErrorCodeNone , אז הפעולה הושלמה בהצלחה.

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

// Registers the OnCompletion callback. user_data is a pointer that is passed verbatim
// to the callback as a void*. This allows you to pass any custom data to the callback
// handler. In this case, the app has no data, so you must pass nullptr.
firebase::gma::InitializeLastResult().OnCompletion(OnCompletionCallback,
  /*user_data=*/nullptr);

// The OnCompletion callback function.
static void OnCompletionCallback(
  const firebase::Future<AdapterInitializationStatus>& future, void* user_data) {
  // Called when the Future is completed for the last call to firebase::gma::Initialize().
  // If the error code is firebase::gma::kAdErrorCodeNone,
  // then the SDK has been successfully initialized.
  if (future.error() == firebase::gma::kAdErrorCodeNone) {
    // success!
  } else {
    // failure.
  }
}

שלב 5: בחר פורמט מודעה ליישום באפליקציה שלך

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

מודעות מלבניות המופיעות בחלק העליון או התחתון של מסך המכשיר

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

הטמעת מודעות באנר

מודעת ביניים

מודעות במסך מלא המכסות את הממשק של אפליקציה עד לסגירה על ידי המשתמש

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

הטמעת מודעות ביניים

מתוגמל

מודעות שמתגמלות משתמשים על צפייה בסרטונים קצרים ואינטראקציה עם מודעות וסקרים שניתנים להפעלה

מודעות מתגמלות (או "מבוססות תגמול") יכולות לעזור לייצר רווחים ממשתמשים בחינם להפעלה.

הטמע מודעות מתגמלות

נושאים אחרים מעניינים

הצג מדדי משתמשים ונתוני ניתוח

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

שים לב שכדי לייצג טוב יותר את מדדי ARPU ו- ARPPU , ייתכן שתרצה לכלול נתונים מאירוע ניתוח מותאם אישית בשם ecommerce_purchase בחישוב ההכנסה עבור מדדים אלה ( למד כיצד ).

(אופציונלי) השתמש בתכונות נוספות של Google Analytics ו-Firebase

נצל עוד הזדמנויות ותכונות כדי לשפר את המונטיזציה של האפליקציה ומעורבות המשתמשים:

  • הוסף והשתמש ב-Firebase SDK עבור Google Analytics

    למידע נוסף, בקר במדריך לשימוש ב-Google Analytics ו-Firebase עם אפליקציות AdMob .

  • השתמש במוצרים אחרים של Firebase באפליקציה שלך

    לאחר הוספת Firebase SDK עבור Google Analytics, השתמש במוצרים אחרים של Firebase כדי לבצע אופטימיזציה של מודעות באפליקציה שלך.

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

    • בדיקת A/B נותנת לך את הכוח לבדוק שינויים בממשק המשתמש, בתכונות או בקמפיינים של מעורבות של האפליקציה שלך כדי לדעת אם הם משפיעים על מדדי המפתח שלך (כמו הכנסה ושימור) לפני פרסום השינויים באופן נרחב.