الخطوة 3: قم بإعداد Firebase Remote Config لعرض تجارب إعلانات محددة
المقدمة: تحسين تحقيق الدخل المختلط باستخدام AdMob، وGoogle Analytics، وFirebase |
الخطوة 1: استخدم AdMob لإنشاء وحدات إعلانية جديدة للعرض |
الخطوة 2: إعداد Google Analytics |
الخطوة 3: قم بإعداد Firebase Remote Config لعرض تجارب إعلانات محددة |
في نهاية الخطوة الأخيرة، تعرفت على جماهير Google Analytics. في هذه الخطوة، ستقوم بإنشاء معلمة Remote Config يتم التحكم فيها منطقيًا (تسمى ad_control_switch
) والتي تعمل على زيادة جمهور "المشترين". ستضيف بعد ذلك المنطق إلى رمز تطبيقك لما يجب أن يعرضه تطبيقك بناءً على قيمة تلك المعلمة.
قم بإعداد معلمات وشروط التكوين عن بعد في وحدة تحكم Firebase
في وحدة تحكم Firebase ، افتح مشروع Firebase الخاص بك.
في الجزء الأيمن، قم بتوسيع قسم المشاركة ، ثم حدد التكوين عن بعد .
انقر فوق إنشاء التكوين (أو إضافة معلمة إذا كنت قد استخدمت التكوين عن بعد من قبل).
في لوحة إنشاء المعلمة ، أكمل الخطوات التالية:
في حقل اسم المعلمة ، أدخل
ad_control_switch
.من القائمة المنسدلة
Data type
، حدد منطقية .انقر فوق إنشاء جديد ، ثم حدد إنشاء شرط جديد .
في مربع الحوار تحديد شرط جديد ، أكمل الخطوات التالية:
في حقل الاسم ، أدخل
Purchasers Group
(أو أي اسم آخر للحالة يمكن التعرف عليه بسهولة).من القائمة المنسدلة "ينطبق إذا..." ، حدد جمهور (جمهور) المستخدمين .
من القائمة المنسدلة تحديد الجماهير (الجماهير) ، حدد المشترين .
انقر فوق حفظ الشرط .
مرة أخرى في لوحة إنشاء المعلمة ، أكمل الخطوات التالية:
بالنسبة لمجموعة قيمة المشترين ، حدد خطأ .
بالنسبة للقيمة الافتراضية ، حدد صحيح .
انقر فوق حفظ ، ثم انقر فوق نشر التغييرات .
سيتحقق هذا التكوين مما إذا كان المستخدم ضمن جمهور "المشترين" (أي أنهم مستخدمون يدفعون):
إذا كان المستخدم ضمن جمهور "المشترين"، فسيقوم Remote Config بإرجاع القيمة
false
للمعلمةad_control_switch
.إذا لم يكن المستخدم ضمن جمهور "المشترين"، فسيقوم Remote Config بإرجاع القيمة
true
للمعلمةad_control_switch
.
في الخطوات التالية، ستقوم بتنفيذ Remote Config في تطبيقك للتعامل مع قيم المعلمات هذه.
أضف Remote Config SDK إلى تطبيقك
قبل استخدام Remote Config في رمز التطبيق الخاص بك، أضف Remote Config SDK إلى قاعدة التعليمات البرمجية لتطبيقك. لاحظ أن تطبيقك يجب أن يشتمل بالفعل على Google Mobile Ads (AdMob) SDK وGoogle Analytics for Firebase SDK من الخطوات السابقة في هذا البرنامج التعليمي.
سويفت
قم بإضافة وتثبيت جراب Remote Config في ملف podfile الخاص بك:
pod 'Firebase/RemoteConfig'
ذكري المظهر
أضف تبعية مكتبة Remote Config إلى ملف build.gradle
الخاص بك:
implementation 'com.google.firebase:firebase-config:21.6.3'
رفرفة
من جذر مشروع Flutter، قم بتشغيل الأمر التالي لتثبيت المكون الإضافي Remote Config:
flutter pub add firebase_remote_config
وحدة
قم بتنزيل أحدث إصدار من Firebase Unity SDK وتثبيته، ثم قم بإضافة حزمة Remote Config إلى مشروعك:
FirebaseRemoteConfig.unitypackage
تكوين مثيل التكوين عن بعد
لكي يتمكن تطبيقك من استخدام قيم معلمات التكوين عن بعد، قم بتكوين مثيل التكوين عن بعد حتى يتمكن من جلب قيم جديدة لمثيل تطبيق العميل.
في هذا المثال، تم تكوين Remote Config للتحقق من قيم المعلمات الجديدة مرة واحدة كل ساعة.
سويفت
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");
}
جلب وتفعيل التكوين عن بعد
قم بإحضار وتنشيط معلمة التكوين عن بعد حتى تتمكن من البدء في استخدام قيم المعلمات الجديدة.
تريد إجراء هذا الاستدعاء في أقرب وقت ممكن في مرحلة تحميل تطبيقك لأن هذا الاستدعاء غير متزامن وتحتاج إلى جلب قيمة التكوين عن بعد مسبقًا حتى يعرف تطبيقك ما إذا كان سيعرض إعلانًا أم لا.
سويفت
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();
});
تم الآن تكوين تطبيقك للتعامل مع معلمة Remote Config التي قمت بإنشائها مسبقًا في هذه الخطوة.
استخدم قيمة معلمة التكوين عن بعد
استخدم قيمة 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.
موارد ذات الصلة
تحقق من أدلة الحلول الأخرى:
شاهد سلسلة مقاطع فيديو: حسِّن أرباح تطبيقك باستخدام Firebase وAdMob
الخطوة 2: إعداد Google Analytics