مرحله ۳: راهاندازی Firebase Remote Config برای نمایش تجربههای آگهی ویژه
| مقدمه: بهینهسازی درآمدزایی ترکیبی بااستفاده از AdMob، Google Analytics، و Firebase |
| مرحله ۱: استفاده از AdMob برای ایجاد واحدهای آگهی جدید برای نمایش |
| مرحله ۲: راهاندازی Google Analytics |
|
مرحله ۳: راهاندازی Firebase Remote Config برای نمایش تجربههای آگهی ویژه |
در پایان مرحله آخر، با مخاطبان Google Analytics آشنا شدید. در این مرحله، یک Remote Config پارامتر کنترلشده با مقدار بولی
(بهنام ad_control_switch) ایجاد خواهید کرد که از مخاطب «خریداران» بهره میبرد. سپس منطق را به کد برنامه خود اضافه میکنید تا برنامه شما براساس مقدار آن پارامتر چه چیزی را نمایش دهد.
راهاندازی Remote Config پارامتر و شرط در کنسول Firebase
در Firebase کنسول، پروژه Firebase خود را باز کنید.
در قاب سمت راست، بخش تعامل را ازهم باز کنید، و سپس پیکربندی از دور را انتخاب کنید.
روی ایجاد پیکربندی (یا افزودن پارامتر اگر قبلاً از Remote Config استفاده کردهاید) کلیک کنید.
در پانل ایجاد پارامتر، مراحل زیر را تکمیل کنید:
در فیلد نام پارامتر،
ad_control_switchرا وارد کنید.از منو کرکرهای
Data type، بولی را انتخاب کنید.روی ایجاد جدید کلیک کنید، و سپس ایجاد شرط جدید را انتخاب کنید.
در کادر گفتگوی تعریف شرط جدید، مراحل زیر را تکمیل کنید:
در فیلد نام،
Purchasers Group(یا هر نام قابلشناسایی دیگری برای وضعیت) را وارد کنید.از منو کرکرهای درصورتیکه اعمال شود…، مخاطب(های) کاربر را انتخاب کنید.
از منو کرکرهای انتخاب مخاطب(ها)، خریداران را انتخاب کنید.
روی ذخیره کردن شرط کلیک کنید.
در پانل ایجاد پارامتر، مراحل زیر را تکمیل کنید:
برای مقدار گروه خریداران، نادرست را انتخاب کنید.
برای مقدار پیشفرض، درست را انتخاب کنید.
روی ذخیره و سپس انتشار تغییرات کلیک کنید.
این پیکربندی بررسی میکند که آیا کاربر در مخاطب «خریداران» است یا نه (یعنی کاربر پرداختکننده است):
اگر کاربر در مخاطب «خریداران» باشد، Remote Config مقدار
falseرا برای پارامترad_control_switchبرمیگرداند.اگر کاربر در مخاطب «خریداران» نباشد، آنگاه Remote Config مقدار
trueرا برای پارامترad_control_switchبرمیگرداند.
در مراحل زیر، Remote Config را در برنامهتان پیادهسازی خواهید کرد تا مقادیر این پارامتر را مدیریت کنید.
افزودن کیت توسعه نرمافزار Remote Config به برنامه
قبلاز استفاده از Remote Config در کد برنامهتان، کیت توسعه نرمافزار Remote Config را به پایگاه کد برنامهتان اضافه کنید. توجه داشته باشید که برنامه شما باید ازقبل کیت توسعه نرمافزار Google Mobile Ads (AdMob) و کیت توسعه نرمافزار Google Analytics برای Firebase را از مراحل قبلی این آموزش داشته باشد.
Swift
پاد Remote Config را در فایل پاد خود اضافه و نصب کنید:
pod 'Firebase/RemoteConfig'
Android
وابستگی کتابخانه Remote Config را به فایل build.gradle خود اضافه کنید:
implementation 'com.google.firebase:firebase-config:24.0.1'
فلوتزنی
از ریشه پروژه Flutter خود، فرمان زیر را برای نصب افزایه Remote Config اجرا کنید:
flutter pub add firebase_remote_config
Unity
آخرین نسخه
کیت توسعه نرمافزار Firebase Unity را بارگیری و نصب کنید، و سپس
بسته 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
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');
});
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
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();
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
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.
}
}
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.
}
}
انتشار برنامه
ازآنجاییکه منطق نمایش یا عدم نمایش آگهی در پایگاه کد شما است، باید نسخه جدیدی از برنامهتان که حاوی این منطق است منتشر کنید.
اگر مراحل این آموزش گامبهگام را دنبال کرده باشید، برنامه شما باید بلافاصله شروع به ارائه تجربه آگهیهای درونبرنامه سفارشیسازیشده به کاربران کند. میتوانید درآمد آگهیهایتان را هم در حساب AdMob و هم در داشبوردهای Google Analytics (چه در کنسول Firebase و چه در واسط کاربر Google Analytics) پایش کنید.
و تمام! آموزش گامبهگام بهینهسازی درآمدزایی ترکیبی بااستفاده از AdMob، Google Analytics، و Firebase را تکمیل کردید.
منابع مربوط
راهنمای راهحلهای دیگر را بررسی کنید:
تماشای مجموعه ویدیو: بهینهسازی درآمد برنامه با Firebase و AdMob
مرحله ۲: راهاندازی Google Analytics