Bước 3: Thiết lập Cấu hình từ xa Firebase để hiển thị trải nghiệm quảng cáo cụ thể
Giới thiệu: Tối ưu hóa khả năng kiếm tiền kết hợp bằng AdMob, Google Analytics và Firebase |
Bước 1: Sử dụng AdMob để tạo đơn vị quảng cáo mới để hiển thị |
Bước 2: Thiết lập Google Analytics |
Bước 3: Thiết lập Cấu hình từ xa Firebase để hiển thị trải nghiệm quảng cáo cụ thể |
Khi kết thúc bước cuối cùng, bạn đã tìm hiểu về đối tượng Google Analytics. Trong bước này, bạn sẽ tạo một thông số được kiểm soát bằng boolean Cấu hình từ xa (được gọi là ad_control_switch
) để tận dụng đối tượng "Người mua". Sau đó, bạn sẽ thêm logic vào mã ứng dụng để biết ứng dụng sẽ hiển thị gì dựa trên giá trị của thông số đó.
Thiết lập các tham số và điều kiện Cấu hình từ xa trong bảng điều khiển Firebase
Trong bảng điều khiển Firebase , hãy mở dự án Firebase của bạn.
Trong khung bên trái, mở rộng phần Engage , sau đó chọn Remote Config .
Nhấp vào Tạo cấu hình (hoặc Thêm tham số nếu bạn đã sử dụng Cấu hình từ xa trước đó).
Trong bảng Tạo tham số , hãy hoàn thành các bước sau:
Trong trường Tên thông số , nhập
ad_control_switch
.Từ trình đơn thả xuống
Data type
, chọn Boolean .Nhấp vào Tạo mới rồi chọn Tạo điều kiện mới .
Trong hộp thoại Xác định điều kiện mới , hãy hoàn tất các bước sau:
Trong trường Tên , nhập
Purchasers Group
(hoặc bất kỳ tên nào khác dễ nhận biết cho điều kiện).Từ menu thả xuống Áp dụng nếu... , chọn Đối tượng người dùng .
Từ menu thả xuống Chọn đối tượng , hãy chọn Người mua .
Bấm vào Lưu điều kiện .
Quay lại bảng Tạo tham số , hoàn thành các bước sau:
Đối với Giá trị của Nhóm người mua , chọn sai .
Đối với giá trị Mặc định , hãy chọn true .
Nhấp vào Lưu và sau đó Xuất bản các thay đổi .
Cấu hình này sẽ kiểm tra xem người dùng có thuộc đối tượng "Người mua" hay không (nghĩa là họ là người dùng trả tiền):
Nếu người dùng thuộc đối tượng "Người mua" thì Cấu hình từ xa sẽ trả về giá trị
false
cho thông sốad_control_switch
.Nếu người dùng không thuộc đối tượng "Người mua" thì Cấu hình từ xa sẽ trả về giá trị
true
cho thông sốad_control_switch
.
Trong các bước sau, bạn sẽ triển khai Cấu hình từ xa trong ứng dụng của mình để xử lý các giá trị tham số này.
Thêm SDK cấu hình từ xa vào ứng dụng của bạn
Trước khi sử dụng Cấu hình từ xa trong mã ứng dụng của bạn, hãy thêm SDK cấu hình từ xa vào cơ sở mã của ứng dụng. Xin lưu ý rằng ứng dụng của bạn phải có SDK quảng cáo trên thiết bị di động của Google (AdMob) và SDK Google Analytics cho Firebase từ các bước trước của hướng dẫn này.
Nhanh
Thêm và cài đặt nhóm Cấu hình từ xa trong podfile của bạn:
pod 'Firebase/RemoteConfig'
Android
Thêm phần phụ thuộc thư viện Cấu hình từ xa vào tệp build.gradle
của bạn:
implementation 'com.google.firebase:firebase-config:21.6.3'
Chớp cánh
Từ thư mục gốc của dự án Flutter của bạn, hãy chạy lệnh sau để cài đặt plugin Cấu hình từ xa:
flutter pub add firebase_remote_config
Đoàn kết
Tải xuống và cài đặt Firebase Unity SDK mới nhất, sau đó thêm gói Cấu hình từ xa vào dự án của bạn:
FirebaseRemoteConfig.unitypackage
Định cấu hình phiên bản Cấu hình từ xa
Để ứng dụng của bạn có thể sử dụng các giá trị tham số Cấu hình từ xa, hãy định cấu hình phiên bản Cấu hình từ xa để ứng dụng có thể tìm nạp các giá trị mới cho phiên bản ứng dụng khách.
Trong ví dụ này, Cấu hình từ xa được định cấu hình để kiểm tra các giá trị tham số mới mỗi giờ một lần.
Nhanh
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);
Chớp cánh
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');
});
Đoàn kết
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");
}
Tìm nạp và kích hoạt Cấu hình từ xa
Tìm nạp và kích hoạt tham số Cấu hình từ xa để nó có thể bắt đầu sử dụng các giá trị tham số mới.
Bạn muốn thực hiện lệnh gọi này sớm nhất có thể trong giai đoạn tải ứng dụng vì lệnh gọi này không đồng bộ và bạn cần tìm nạp trước giá trị Cấu hình từ xa để ứng dụng của bạn biết có hiển thị quảng cáo hay không.
Nhanh
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();
}
});
Chớp cánh
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();
Đoàn kết
remoteConfig.FetchAndActivateAsync().ContinueWithOnMainThread(task => {
if (task.IsFaulted) {
Debug.LogWarning("Config params failed to update");
} else {
Debug.Log("Config params updated: " + task.Result);
}
LoadAdUnit();
});
Ứng dụng của bạn hiện đã được định cấu hình để xử lý tham số Cấu hình từ xa mà bạn đã tạo trước đó trong bước này.
Sử dụng giá trị tham số Remote Config
Sử dụng giá trị Cấu hình từ xa được tìm nạp trước trong hàm loadAdUnit()
để xác định xem phiên bản ứng dụng có nên thực hiện một trong những thao tác sau hay không:
Giá trị thông số
ad_control_switch
phân giải thànhtrue
: hiển thị quảng cáo chuyển tiếp (vì người dùng là người dùng không trả tiền).Giá trị thông số
ad_control_switch
chuyển thànhfalse
: không hiển thị quảng cáo (vì người dùng là người dùng trả tiền).
Nhanh
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.
}
}
Chớp cánh
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.
}
}
Đoàn kết
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.
}
}
Phát hành ứng dụng của bạn
Vì logic để hiển thị quảng cáo hay không nằm trong cơ sở mã của bạn nên bạn cần phát hành phiên bản ứng dụng mới có chứa logic này.
Nếu bạn làm theo các bước của hướng dẫn này, ứng dụng của bạn sẽ ngay lập tức bắt đầu phân phối trải nghiệm quảng cáo trong ứng dụng được tùy chỉnh cho người dùng của bạn. Bạn có thể theo dõi doanh thu quảng cáo của mình trong cả tài khoản AdMob và trong trang tổng quan Google Analytics (trong bảng điều khiển Firebase hoặc giao diện người dùng Google Analytics).
Và thế là xong! Bạn đã hoàn thành hướng dẫn tối ưu hóa khả năng kiếm tiền kết hợp bằng AdMob, Google Analytics và Firebase.
Tài nguyên liên quan
Kiểm tra hướng dẫn giải pháp khác:
Xem loạt video: Tối ưu hóa doanh thu ứng dụng của bạn với Firebase và AdMob
Bước 2 : Thiết lập Google Analytics