מדריך: מטב מונטיזציה היברידית באמצעות AdMob, Google Analytics ו-Firebases

שלב 3: הגדר את Firebase Remote Config כדי להציג חוויות ספציפיות של מודעות


הקדמה: מטב מונטיזציה היברידית באמצעות AdMob, Google Analytics ו-Firebase
שלב 1: השתמש ב-AdMob כדי ליצור יחידות מודעות חדשות לתצוגה
שלב 2: הגדר את גוגל אנליטיקס

שלב 3: הגדר את Firebase Remote Config כדי להציג חוויות ספציפיות של מודעות


בסוף השלב האחרון, למדת על קהלי Google Analytics. בשלב זה, תיצור פרמטר בשליטה בוליאני של Remote Config (נקרא ad_control_switch ) הממנף את קהל "הרוכשים". לאחר מכן תוסיף את ההיגיון לקוד האפליקציה שלך עבור מה שהאפליקציה שלך צריכה להציג בהתבסס על הערך של פרמטר זה.

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

  1. במסוף Firebase , פתח את פרויקט Firebase שלך.

  2. בחלונית השמאלית, הרחב את הקטע Engage , ולאחר מכן בחר Remote Config .

  3. לחץ על צור תצורה (או הוסף פרמטר אם השתמשת בעבר בתצורה מרחוק).

  4. בחלונית צור פרמטר , בצע את השלבים הבאים:

    1. בשדה שם פרמטר, הזן ad_control_switch .

    2. מהתפריט הנפתח Data type , בחר בוליאני .

    3. לחץ על צור חדש ולאחר מכן בחר צור תנאי חדש .

  5. בתיבת הדו-שיח הגדרת תנאי חדש , השלם את השלבים הבאים:

    1. בשדה שם , הזן Purchasers Group (או כל שם אחר שניתן לזהות בקלות עבור התנאי).

    2. מהתפריט הנפתח חל אם... , בחר קהל(ים) של משתמשים .

    3. מהתפריט הנפתח בחר קהלים , בחר רוכשים .

    4. לחץ על שמור תנאי .

  6. בחזרה בחלונית צור פרמטרים , בצע את השלבים הבאים:

    1. עבור קבוצת הערך של רוכשים , בחר false .

    2. עבור ערך ברירת המחדל , בחר true .

  7. לחץ על שמור ולאחר מכן על פרסם שינויים .

תצורה זו תבדוק אם המשתמש נמצא בקהל "רוכשים" (כלומר, הם משתמשים משלמים):

  • אם המשתמש נמצא בקהל "רוכשים", התצורה מרחוק תחזיר את הערך של false עבור הפרמטר ad_control_switch .

  • אם המשתמש אינו בקהל "רוכשים", אז Config מרחוק יחזיר את הערך של true עבור הפרמטר ad_control_switch .

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

הוסף את ה-Remote Config SDK לאפליקציה שלך

לפני השימוש ב-Remote Config בקוד היישום שלך, הוסף את Remote Config SDK לבסיס הקוד של האפליקציה שלך. שים לב שהאפליקציה שלך צריכה כבר לכלול את ה-SDK של Google Mobile Ads (AdMob) ו-Google Analytics for Firebase SDK מהשלבים הקודמים של מדריך זה.

מָהִיר

הוסף והתקן את הפוד Config Remote ב-podfile שלך:

pod 'Firebase/RemoteConfig'

דְמוּי אָדָם

הוסף את התלות בספריית Config Remote לקובץ build.gradle שלך:

implementation 'com.google.firebase:firebase-config:21.6.3'

רִפרוּף

מהשורש של פרויקט Flutter שלך, הפעל את הפקודה הבאה כדי להתקין את התוסף Remote Config:

flutter pub add firebase_remote_config

אַחְדוּת

הורד והתקן את Firebase Unity SDK העדכני ביותר ולאחר מכן הוסף את חבילת התצורה הרחוקה לפרויקט שלך:
FirebaseRemoteConfig.unitypackage

הגדר את מופע Config Remote

כדי שהאפליקציה תוכל להשתמש בערכי פרמטר Config Remote, הגדר את מופע Config Remote כך שהוא יוכל להביא ערכים חדשים עבור מופע אפליקציית הלקוח.

בדוגמה זו, Config Remote מוגדר לבדוק ערכי פרמטרים חדשים אחת לשעה.

מָהִיר

remoteConfig = RemoteConfig.remoteConfig()
let settings = RemoteConfigSettings()
settings.minimumFetchInterval = 3600
remoteConfig.configSettings = settings

Kotlin+KTX

remoteConfig = Firebase.remoteConfig
val configSettings = remoteConfigSettings {
    minimumFetchIntervalInSeconds = 3600
}
remoteConfig.setConfigSettingsAsync(configSettings)

Java

mFirebaseRemoteConfig = FirebaseRemoteConfig.getInstance();
FirebaseRemoteConfigSettings configSettings = new FirebaseRemoteConfigSettings.Builder()
        .setMinimumFetchIntervalInSeconds(3600)
        .build();
mFirebaseRemoteConfig.setConfigSettingsAsync(configSettings);

רִפרוּף

remoteConfig = FirebaseRemoteConfig.instance;
  final configSettings = FirebaseRemoteConfigSettings(
    minimumFetchInterval: Duration(hours: 1),
  );
  await remoteConfig.setConfigSettings(configSettings);

  // Use the `onConfigUpdated` callback to listen for changes to the config settings.
  remoteConfig.onConfigUpdated.listen((_) {
    print('Config settings confirmed');
  });

אַחְדוּת

var remoteConfig = FirebaseRemoteConfig.DefaultInstance;
var configSettings = new ConfigSettings {
  MinimumFetchInternalInMilliseconds =
        (ulong)(new TimeSpan(1, 0, 0).TotalMilliseconds)
};
remoteConfig.SetConfigSettingsAsync(configSettings)
        .ContinueWithOnMainThread(task => {
          Debug.Log("Config settings confirmed");
}

אחזר והפעל תצורה מרחוק

אחזר והפעל את הפרמטר Remote Config כך שהוא יוכל להתחיל להשתמש בערכי הפרמטר החדשים.

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

מָהִיר

remoteConfig.fetch() { (status, error) -> Void in
  if status == .success {
    print("Config fetched!")
    self.remoteConfig.activate() { (changed, error) in
      // ...
    }
  } else {
    print("Config not fetched")
    print("Error: \(error?.localizedDescription ?? "No error available.")")
  }
  self.loadAdUnit()
}

Kotlin+KTX

remoteConfig.fetchAndActivate()
        .addOnCompleteListener(this) { task ->
            if (task.isSuccessful) {
                val updated = task.result
                Log.d(TAG, "Config params updated: $updated")
            } else {
                Log.d(TAG, "Config params failed to update")
            }
            loadAdUnit()
        }

Java

mFirebaseRemoteConfig.fetchAndActivate()
        .addOnCompleteListener(this, new OnCompleteListener<Boolean>() {
            @Override
            public void onComplete(@NonNull Task<Boolean> task) {
                if (task.isSuccessful()) {
                    boolean updated = task.getResult();
                    Log.d(TAG, "Config params updated: " + updated);
                } else {
                    Log.d(TAG, "Config params failed to update");
                }
                loadAdUnit();
            }
        });

רִפרוּף

remoteConfig = FirebaseRemoteConfig.instance;

// Fetch and activate the latest Remote Config values.
final updated = await remoteConfig.fetchAndActivate();

// Check if the config params were updated successfully.
if (updated) {
  print('Config params updated');
} else {
  print('Config params failed to update');
}

// Load the ad unit.
_loadAdUnit();

אַחְדוּת

remoteConfig.FetchAndActivateAsync().ContinueWithOnMainThread(task => {
  if (task.IsFaulted) {
    Debug.LogWarning("Config params failed to update");
  } else {
    Debug.Log("Config params updated: " + task.Result);
  }
  LoadAdUnit();
});

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

השתמש בערך של פרמטר Config Remote

השתמש בערך ה-Remote Config שאוחזר מראש בפונקציה loadAdUnit() כדי לקבוע אם מופע האפליקציה צריך לבצע אחת מהפעולות הבאות:

  • ערך הפרמטר ad_control_switch הופך להיות true : הצג את מודעת הביניים (מכיוון שהמשתמש הוא משתמש שאינו משלם).

  • ערך הפרמטר ad_control_switch הופך ל- false : אל תציג את המודעה (מכיוון שהמשתמש הוא משתמש משלם).

מָהִיר

private func loadAdUnit() {
  let showAds = remoteConfig["ad_control_switch"].boolValue

  if showAds {
    // Load interstitial ad (implemented ad unit)
    // per AdMob instructions (the first step of this tutorial).
  } else {
    // Don't show ads.
  }
}

Kotlin+KTX

private fun loadAdUnit() {
  var showAds = remoteConfig.getBoolean(ad_control_switch)

  if (showAds) {
      // Load interstitial ad (implemented ad unit)
      // per AdMob instructions (the first step of this tutorial).
    } else {
      // Don't show ads.
    }
}

Java

private void loadAdUnit() {
    boolean showAds =
      mFirebaseRemoteConfig.getBoolean(ad_control_switch);

    if (showAds) {
      // Load interstitial ad (implemented ad unit)
      // per AdMob instructions (the first step of this tutorial).
    } else {
      // Don't show ads.
    }
}

רִפרוּף

void _loadAdUnit() {
  bool showAds = remoteConfig.getBool(ad_control_switch);

  if (showAds) {
    // Load interstitial ad (implemented ad unit)
    // per AdMob instructions (the first step of this tutorial).
  } else {
    // Don't show ads.
  }
}

אַחְדוּת

void LoadAdUnit() {
  bool showAds =
      remoteConfig.GetValue("ad_control_switch").BooleanValue;

  if (showAds) {
    // Load interstitial ad (implemented ad unit)
    // per AdMob instructions (the first step of this tutorial).
  } else {
    // Don't show ads.
  }
}

שחרר את האפליקציה שלך

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

אם ביצעת את השלבים של מדריך זה, האפליקציה שלך אמורה להתחיל מיד להגיש למשתמשים שלך חוויית מודעות מותאמת אישית בתוך האפליקציה. אתה יכול לעקוב אחר ההכנסות מהמודעות שלך הן בחשבון AdMob והן במרכזי המחוונים של Google Analytics (במסוף Firebase או בממשק המשתמש של Google Analytics).


וזה הכל! השלמת את המדריך לאופטימיזציה של מונטיזציה היברידית באמצעות AdMob, Google Analytics ו-Firebase.




שלב 2: הגדר את Google Analytics