तीसरा चरण: खास विज्ञापन अनुभव दिखाने के लिए Firebase Remote Config सेट अप करना
जानकारी: AdMob, Google Analytics, और Firebase का इस्तेमाल करके, हाइब्रिड मॉनेटाइज़ेशन को ऑप्टिमाइज़ करना |
पहला चरण: डिसप्ले के लिए नई विज्ञापन यूनिट बनाने के लिए, AdMob का इस्तेमाल करना |
दूसरा चरण: Google Analytics सेट अप करना |
तीसरा चरण: विज्ञापनों के खास अनुभव दिखाने के लिए, Firebase Remote Config सेट अप करें |
पिछले चरण के आखिर में, आपको Google Analytics की ऑडियंस के बारे में जानकारी मिली थी. इस चरण में, आपको Remote Config बूलियन कंट्रोल वाला पैरामीटर (जिसे ad_control_switch
कहा जाता है) बनाना होगा. यह पैरामीटर, "खरीदारों" ऑडियंस का फ़ायदा उठाता है. इसके बाद, आपको अपने ऐप्लिकेशन के कोड में लॉजिक जोड़ना होगा, ताकि उस पैरामीटर की वैल्यू के आधार पर आपके ऐप्लिकेशन को पता चल सके कि उसे क्या दिखाना है.
Firebase console में Remote Config पैरामीटर और शर्तें सेट अप करना
Firebase कंसोल में, अपना Firebase प्रोजेक्ट खोलें.
बाईं ओर मौजूद पैनल में, यूज़र ऐक्टिविटी सेक्शन को बड़ा करें. इसके बाद, रिमोट कॉन्फ़िगर चुनें.
कॉन्फ़िगरेशन बनाएं पर क्लिक करें. अगर आपने पहले कभी Remote Config का इस्तेमाल किया है, तो पैरामीटर जोड़ें पर क्लिक करें.
पैरामीटर बनाएं पैनल में, यह तरीका अपनाएं:
पैरामीटर का नाम फ़ील्ड में,
ad_control_switch
डालें.Data type
ड्रॉपडाउन मेन्यू से, बूलियन चुनें.नया बनाएं पर क्लिक करें. इसके बाद, नई शर्त बनाएं को चुनें.
नई शर्त तय करें डायलॉग में, यह तरीका अपनाएं:
नाम फ़ील्ड में,
Purchasers Group
डालें (या शर्त के लिए कोई ऐसा नाम डालें जिसे आसानी से पहचाना जा सके).लागू तब होगा, जब... ड्रॉपडाउन मेन्यू से, उपयोगकर्ता ऑडियंस चुनें.
ऑडियंस चुनें ड्रॉपडाउन मेन्यू में जाकर, खरीदार चुनें.
शर्त सेव करें पर क्लिक करें.
पैरामीटर बनाएं पैनल पर वापस जाकर, यह तरीका अपनाएं:
खरीदारों के ग्रुप की वैल्यू के लिए, गलत चुनें.
डिफ़ॉल्ट वैल्यू के लिए, true चुनें.
सेव करें पर क्लिक करें. इसके बाद, बदलाव पब्लिश करें पर क्लिक करें.
यह कॉन्फ़िगरेशन यह जांच करेगा कि उपयोगकर्ता "खरीदारों" ऑडियंस में है या नहीं (यानी, वह पैसे चुकाने वाला उपयोगकर्ता है):
अगर उपयोगकर्ता "खरीदारों" ऑडियंस में है, तो Remote Config,
ad_control_switch
पैरामीटर के लिएfalse
की वैल्यू दिखाएगा.अगर उपयोगकर्ता "खरीदारों" ऑडियंस में शामिल नहीं है, तो Remote Config
ad_control_switch
पैरामीटर के लिएtrue
की वैल्यू दिखाएगा.
इन पैरामीटर वैल्यू को मैनेज करने के लिए, यहां दिए गए चरणों में अपने ऐप्लिकेशन में Remote Config लागू किया जाएगा.
अपने ऐप्लिकेशन में Remote Config SDK टूल जोड़ना
अपने ऐप्लिकेशन कोड में Remote Config का इस्तेमाल करने से पहले, अपने ऐप्लिकेशन के कोडबेस में Remote Config SDK टूल जोड़ें. ध्यान दें कि आपके ऐप्लिकेशन में, इस ट्यूटोरियल के पिछले चरणों से Google Mobile Ads (AdMob) SDK टूल और Firebase के लिए Google Analytics SDK टूल पहले से मौजूद होना चाहिए.
Swift
अपनी podfile में Remote Config पॉड जोड़ें और इंस्टॉल करें:
pod 'Firebase/RemoteConfig'
Android
अपनी build.gradle
फ़ाइल में Remote Config लाइब्रेरी डिपेंडेंसी जोड़ें:
implementation 'com.google.firebase:firebase-config:22.0.1'
Flutter
Remote Config प्लग इन इंस्टॉल करने के लिए, अपने Flutter प्रोजेक्ट के रूट से यह कमांड चलाएं:
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
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
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 पैरामीटर वैल्यू का इस्तेमाल करना
loadAdUnit()
फ़ंक्शन में, पहले से फ़ेच की गई Remote Config वैल्यू का इस्तेमाल करके, यह तय करें कि ऐप्लिकेशन इंस्टेंस को इनमें से कोई एक काम करना चाहिए या नहीं:
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.
}
}
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.
}
}
अपना ऐप्लिकेशन रिलीज़ करना
विज्ञापन दिखाने या न दिखाने का लॉजिक, आपके कोडबेस में होता है. इसलिए, आपको अपने ऐप्लिकेशन का नया वर्शन रिलीज़ करना होगा, जिसमें यह लॉजिक शामिल हो.
अगर आपने इस ट्यूटोरियल में दिए गए निर्देशों का पालन किया है, तो आपका ऐप्लिकेशन तुरंत उपयोगकर्ताओं को उनकी दिलचस्पी के मुताबिक विज्ञापन दिखाना शुरू कर देगा. विज्ञापनों से होने वाली आय को अपने AdMob खाते और Google Analytics डैशबोर्ड, दोनों में देखा जा सकता है. डैशबोर्ड को Firebase कंसोल या Google Analytics यूज़र इंटरफ़ेस (यूआई) में देखा जा सकता है.
बस इतना ही! आपने AdMob, Google Analytics, और Firebase का इस्तेमाल करके, हाइब्रिड मॉनेटाइज़ेशन को ऑप्टिमाइज़ करने के लिए ट्यूटोरियल पूरा कर लिया है.
इसी विषय से जुड़े लिंक
समस्या हल करने से जुड़ी अन्य गाइड देखें:
वीडियो सीरीज़ देखें: Firebase की मदद से, अपने ऐप्लिकेशन से होने वाली आय को ऑप्टिमाइज़ करें और AdMob
दूसरा चरण: Google Analytics सेट अप करना