Samouczek: optymalizacja zarabiania hybrydowego za pomocą AdMob, Google Analytics i Firebase

Krok 3. Skonfiguruj Firebase Remote Config, aby wyświetlać określone reklamy


Wprowadzenie: Optymalizacja modelu hybrydowego zarabianie za pomocą AdMob, Google Analytics i Firebase
Krok 1. Użyj konta AdMob, aby utworzyć nowe jednostki reklamowe do wyświetlania w sieci reklamowej
Krok 2. Konfiguracja Google Analytics,

Krok 3. Konfiguracja Firebase Remote Config, aby wyświetlać określone reklamy


W ostatnim kroku omówiliśmy listy odbiorców w Google Analytics. W w tym kroku utworzysz Remote Config parametr kontrolowanego wartością logiczną (o nazwie ad_control_switch), który wykorzystuje kolumnę „Kupujący”, z całego świata. Za a następnie dodaj do kodu aplikacji logikę określającą, co ma się wyświetlać wartość tego parametru.

Skonfiguruj parametry i warunki Remote Config w konsoli Firebase

  1. W konsoli Firebase, otwórz swój projekt Firebase.

  2. W panelu po lewej stronie rozwiń sekcję Engage (Zaangażowanie) i wybierz Zdalna konfiguracja.

  3. Kliknij Utwórz konfigurację (lub Dodaj parametr, jeśli używasz Remote Config wcześniej).

  4. W panelu Utwórz parametr wykonaj te czynności:

    1. W polu Nazwa parametru wpisz ad_control_switch.

    2. W menu Data type wybierz Wartość logiczna.

    3. Kliknij kolejno Utwórz nowy i Utwórz nowy warunek.

  5. W oknie Zdefiniuj nowy warunek wykonaj te czynności:

    1. W polu Name (Nazwa) wpisz Purchasers Group (lub inny dowolny tekst) rozpoznawalna nazwa warunku).

    2. W menu Dotyczy, jeśli... wybierz Odbiorcy użytkowników.

    3. W menu Wybierz odbiorców kliknij Kupujący.

    4. Kliknij Zapisz warunek.

  6. W panelu Utwórz parametr wykonaj te czynności:

    1. W polu Wartość w sekcji Grupa kupujących wybierz false.

    2. W polu Wartość domyślna wybierz prawda.

  7. Kliknij kolejno Zapisz i Opublikuj zmiany.

Ta konfiguracja sprawdza, czy użytkownik jest na liście „Kupujący”. odbiorcy (czyli jest użytkownikiem wersji płatnej):

  • Jeśli użytkownik jest na liście „Kupujący” wśród odbiorców, Remote Config zwraca wartość false dla parametru ad_control_switch.

  • Jeśli użytkownik nie znajduje się na liście „Kupujący”, odbiorcy, a potem Remote Config zwróci wartość true dla parametru ad_control_switch.

W kolejnych krokach wdrożysz Remote Config w swojej aplikacji, aby: obsługuje te wartości parametrów.

Dodaj do aplikacji pakiet SDK Remote Config

Zanim użyjesz w kodzie aplikacji Remote Config, dodaj do pakietu SDK Remote Config do bazy kodu aplikacji. Pamiętaj, że aplikacja powinna już mieć pakiet SDK Google Mobile Ads (AdMob) oraz Pakiet SDK Google Analytics dla Firebase z poprzednich kroków tego samouczka.

Swift

Dodaj i zainstaluj poda Remote Config w pliku podfile:

pod 'Firebase/RemoteConfig'

Android

Dodaj zależność biblioteki Remote Config do pliku build.gradle:

implementation 'com.google.firebase:firebase-config:22.0.0'

Flutter

W katalogu głównym projektu Flutter uruchom poniższe polecenie, aby zainstalować wtyczka Remote Config:

flutter pub add firebase_remote_config

Unity

Pobierz i zainstaluj najnowszą wersję pakiet SDK Firebase Unity, a potem dodaj pakiet Remote Config do Twojego projektu:
FirebaseRemoteConfig.unitypackage

Skonfiguruj instancję Remote Config

Aby aplikacja mogła używać wartości parametrów Remote Config, skonfiguruj parametr Remote Config, aby mogła pobierać nowe wartości dla aplikacji klienckiej instancji.

W tym przykładzie Remote Config jest skonfigurowany do sprawdzania nowego parametru raz na godzinę.

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");
}

Pobierz i aktywuj usługę Remote Config

Pobierz i aktywuj parametr Remote Config, aby mógł zacząć używać nowe wartości parametrów.

To wywołanie powinno zostać wykonane jak najwcześniej na etapie wczytywania aplikacji. ponieważ to wywołanie jest asynchroniczne i potrzebujesz wartości Remote Config są pobierane z wyprzedzeniem, by aplikacja wiedziała, czy wyświetlić reklamę.

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();
});

Aplikacja jest teraz skonfigurowana tak, aby obsługiwać parametr Remote Config, który utworzonych wcześniej w tym kroku.

Używaj wartości parametru Remote Config

Użyj pobranej z wyprzedzeniem wartości Remote Config w funkcji loadAdUnit(), aby: określić, czy instancja aplikacji powinna wykonać jedną z tych czynności:

  • Wartość parametru ad_control_switch przyjmuje wartość true: pokaż parametr reklama pełnoekranowa (ponieważ użytkownik korzysta z wersji bezpłatnej).

  • Wartość parametru ad_control_switch przyjmuje wartość false: nie pokazuj parametru reklamę (ponieważ użytkownik jest użytkownikiem wersji płatnej).

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.
  }
}

Publikowanie aplikacji

Ponieważ logika wyświetlania reklamy lub nie jest uzależniona od bazy kodu, musisz: opublikować nową wersję aplikacji, która zawiera tę logikę.

Po wykonaniu czynności opisanych w tym samouczku aplikacja powinna się natychmiast uruchomić wyświetlanie użytkownikom spersonalizowanych reklam w aplikacji. Możesz monitorować przychody z reklam na koncie AdMob i w Google Analytics paneli (w konsoli Firebase lub w interfejsie Google Analytics).


To wszystko. Udało Ci się ukończyć samouczek optymalizacji monetyzacji hybrydowej za pomocą AdMob, Google Analytics i Firebase.




Krok 2. Skonfiguruj Google Analytics