שלב 3: מגדירים את Firebase Remote Config כך שיציג חוויות ספציפיות של הצגת מודעות
מבוא: אופטימיזציה משולבת מונטיזציה באמצעות AdMob, Google Analytics ו-Firebase |
שלב 1: משתמשים ב-AdMob כדי ליצור יחידות של מודעות חדשות להצגה |
שלב 2: הגדרה ב-Google Analytics |
שלב 3: הגדרה Firebase Remote Config כדי להציג חוויות ספציפיות של מודעות |
בסוף השלב האחרון למדתם על הקהלים ב-Google Analytics. לחשבון
בשלב הזה יוצרים פרמטר Remote Config בשליטה בוליאנית
(שנקראת ad_control_switch
) שמשתמשת ב'רוכשים' הקהל. אפשר
לאחר מכן צריך להוסיף את הלוגיקה לקוד האפליקציה כדי לקבוע מה יוצג באפליקציה בהתאם
בערך של הפרמטר הזה.
הגדרת תנאים ופרמטרים של Remote Config במסוף Firebase
במסוף Firebase, פותחים את פרויקט Firebase.
בחלונית הימנית, מרחיבים את הקטע Engage ובוחרים באפשרות Remote Config.
לוחצים על Create configuration (או על Add parameter אם כבר השתמשתם ב-Remote Config).
בחלונית Create parameter, מבצעים את הפעולות הבאות:
בשדה שם הפרמטר, מזינים
ad_control_switch
.בתפריט הנפתח
Data type
בוחרים באפשרות Boolean (בוליאני).לוחצים על יצירת תנאי חדש ואז בוחרים באפשרות יצירת תנאי חדש.
בתיבת הדו-שיח Configure a new condition, מבצעים את השלבים הבאים:
בשדה Name, מזינים
Purchasers Group
(או כל סוג אחר של שם בקלות) שם מזהה של התנאי).בתפריט הנפתח Applies if..., בוחרים באפשרות קהלי משתמשים.
בתפריט הנפתח בחירת קהלים, בוחרים באפשרות רוכשים.
לוחצים על שמירת התנאי.
חוזרים לחלונית יצירת פרמטר ומבצעים את השלבים הבאים:
בשדה Value של קבוצת הרוכשים, בוחרים באפשרות false.
בשדה ערך ברירת מחדל, בוחרים באפשרות true.
לוחצים על שמירה ואז על פרסום השינויים.
ההגדרה הזו תבדוק אם המשתמש נכלל ב'רוכשים' קהל (כלומר, המשתמשים משלמים):
אם המשתמש נכלל ב'רוכשים' הקהל, ואז Remote Config מחזירה את הערך של
false
עבור הפרמטרad_control_switch
.אם המשתמש לא נכלל בכרטיסייה 'רוכשים' קהל, ולאחר מכן Remote Config הפונקציה תחזיר את הערך
true
עבור הפרמטרad_control_switch
.
בשלבים הבאים תבצעו הטמעה של Remote Config באפליקציה כדי לטפל בערכי הפרמטרים האלה.
מוסיפים את ה-SDK של Remote Config לאפליקציה
לפני שמשתמשים ב-Remote Config בקוד האפליקציה, צריך להוסיף את הפקודה SDK אחד (Remote Config) ל-codebase של האפליקציה. לתשומת ליבכם: האפליקציה כבר אמורה לפעול את Google Mobile Ads (AdMob) SDK ואת ה-SDK של Google Analytics for Firebase מהשלבים הקודמים במדריך הזה.
Swift
מוסיפים ומתקינים את רצף המודעות Remote Config בקובץ ה-pod:
pod 'Firebase/RemoteConfig'
Android
מוסיפים את התלות של הספרייה Remote Config לקובץ build.gradle
:
implementation 'com.google.firebase:firebase-config:22.0.0'
Flutter
מהשורש של פרויקט Flutter, מריצים את הפקודה הבאה כדי להתקין את הפלאגין Remote Config:
flutter pub add firebase_remote_config
Unity
מורידים ומתקינים את הגרסה העדכנית ביותר
Firebase Unity SDK, ואז מוסיפים
חבילת Remote Config לפרויקט שלך:
FirebaseRemoteConfig.unitypackage
מגדירים את המכונה Remote Config
כדי שהאפליקציה תוכל להשתמש בערכי הפרמטר Remote Config, צריך להגדיר את מכונה Remote Config כדי לאחזר ערכים חדשים עבור אפליקציית הלקוח מכונה.
בדוגמה הזו, Remote Config מוגדר לבדוק ערכים חדשים של פרמטרים פעם בשעה.
Swift
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);
Flutter
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');
});
Unity
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
מאחזרים את הפרמטר Remote Config ומפעילים אותו כדי להתחיל להשתמש בו את ערכי הפרמטרים החדשים.
אתה רוצה לבצע את השיחה הזו בהקדם האפשרי בשלב הטעינה של האפליקציה כי השיחה הזו אסינכרונית וצריך להשתמש בערך Remote Config מאוחזרות מראש כדי לאפשר לאפליקציה לדעת אם להציג מודעה.
Swift
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();
}
});
Flutter
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();
Unity
remoteConfig.FetchAndActivateAsync().ContinueWithOnMainThread(task => {
if (task.IsFaulted) {
Debug.LogWarning("Config params failed to update");
} else {
Debug.Log("Config params updated: " + task.Result);
}
LoadAdUnit();
});
האפליקציה שלך מוגדרת עכשיו לטפל בפרמטר Remote Config שנוצר מוקדם יותר בשלב הזה.
שימוש בערך הפרמטר Remote Config
משתמשים בערך Remote Config שאוחזר מראש בפונקציה loadAdUnit()
כדי לקבוע אם מופע האפליקציה צריך לבצע אחת מהפעולות הבאות:
ערך הפרמטר
ad_control_switch
מומר לערךtrue
: הצגת המודעה המעברון (כי המשתמש הוא משתמש שלא משלם).ערך הפרמטר
ad_control_switch
פונה ל-false
: אין להציג את המודעה (מכיוון שהמשתמש הוא משתמש משלם).
Swift
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.
}
}
Flutter
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.
}
}
Unity
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.
}
}
פרסום האפליקציה
הלוגיקה להצגת המודעה או לא הצגת המודעה נופלת ב-codebase שלכם, לכן עליכם לפרסם גרסה חדשה של האפליקציה עם הלוגיקה הזו.
אם פעלת לפי השלבים של המדריך הזה, האפליקציה אמורה להתחיל לפעול מיד כדי להציג למשתמשים חוויה מותאמת אישית של מודעות בתוך האפליקציה. אפשר לעקוב אחר הכנסות מפרסום גם בחשבון AdMob וגם ב-Google Analytics מרכזי שליטה (במסוף Firebase או בממשק המשתמש של Google Analytics).
וזהו! סיימתם את המדריך לאופטימיזציה של מונטיזציה היברידית באמצעות AdMob, Google Analytics ו-Firebase.
מקורות מידע שקשורים לנושא
כדאי לעיין במדריכים נוספים לפתרון בעיות:
צופים בסדרת סרטונים: משפרים את ההכנסות מהאפליקציה בעזרת Firebase AdMob