Google стремится продвигать расовую справедливость для черных сообществ. Смотри как.
Эта страница была переведа с помощью Cloud Translation API.
Switch to English

Экспериментируйте со стратегиями монетизации, используя предсказания Firebase

Предсказания Firebase упрощают предоставление пользователям вашего приложения различного опыта в зависимости от прогнозируемого поведения ваших пользователей. Например, вы можете предоставить пользователям возможность без рекламы работать с покупками в приложении и показывать рекламу всем остальным. Однако, прежде чем развернуть эту стратегию монетизации по всем направлениям, важно убедиться, что такая стратегия действительно улучшает общий доход вашего приложения.

В этом руководстве показано, как можно достичь обеих целей с помощью прогнозов Firebase и A / B-тестирования Firebase: вы включите стратегию монетизации на основе рекламы для пользователей, которые, как ожидается, не будут делать покупки в приложении, и вы проверите эффективность этого новая стратегия.

Прежде чем вы начнете

Прежде чем вы сможете начать использовать прогнозы для определения политики в отношении рекламы своего приложения, вы должны использовать Google Analytics в своем приложении. В частности, вы должны:

  • Включите обмен данными Analytics в консоли Firebase .
  • Необязательно : явно регистрируйте любые события Google Analytics, относящиеся к вашему приложению, которые не регистрируются автоматически. Регистрируя эти события, вы можете улучшить качество будущих классификаций.
  • Иметь достаточное количество пользователей. Несмотря на то, что Predictions делает все возможное для прогнозирования поведения приложений с любым размером базы пользователей, обычно требуется не менее 500 ежедневно активных пользователей, чтобы иметь значимые прогнозы.
  • Убедитесь, что ваши пользователи регистрируют некоторые положительные примеры события, которое вы хотите предсказать, например, при прогнозировании spend ваши пользователи уже должны регистрировать некоторые события in_app_purchase .

1. Сделайте ваши объявления дистанционно настраиваемыми

Сначала настройте свое приложение на показ или скрытие рекламы в зависимости от значения параметра Remote Config. В следующих шагах вы настроите Predictions и A / B Testing для удаленной установки параметра на основе различных критериев, но на данный момент ваше приложение всегда будет отображать рекламу.

Например, используя AdMob для рекламы:

  1. Импортируйте Google Analytics, Remote Config и AdMob SDK:

    iOS (Swift)

    Добавьте SDK в ваш Podfile:

    pod 'Firebase/Analytics'
    pod 'Firebase/RemoteConfig'
    pod 'Firebase/AdMob'
    

    Затем импортируйте их:

    import Firebase
    

    Android

    implementation 'com.google.firebase:firebase-analytics:17.4.4'
    implementation 'com.google.firebase:firebase-config:19.2.0'
    implementation 'com.google.firebase:firebase-ads:19.3.0'
    
  2. Инициализируйте Remote Config и установите значение по умолчанию для переменной ads_enabled в значение true. Позже вы настроите Predictions и A / B Testing для удаленной установки этой переменной, но, установив значение по умолчанию в своем приложении, вы убедитесь, что ваше приложение функционирует правильно, прежде чем будут получены удаленно настроенные переменные.

    iOS (Swift)

    self.remoteConfig = RemoteConfig.remoteConfig()
    self.remoteConfig.setDefaults(["ads_enabled": true])
    

    Ява

    mFirebaseRemoteConfig = FirebaseRemoteConfig.getInstance();
    
    Map<String, Object> remoteConfigDefaults = new HashMap<>();
    remoteConfigDefaults.put("ads_enabled", true);
    mFirebaseRemoteConfig.setDefaultsAsync(remoteConfigDefaults)
            .addOnCompleteListener(new OnCompleteListener<Void>() {
                @Override
                public void onComplete(@NonNull Task<Void> task) {
                    if (task.isSuccessful()) {
                        // Default value successfully set
                    } else {
                        // Failed to set default value
                    }
                }
            });

    Котлин + KTX

    firebaseRemoteConfig = Firebase.remoteConfig
    
    val remoteConfigDefaults = hashMapOf<String, Any>(
            "ads_enabled" to true
    )
    firebaseRemoteConfig.setDefaultsAsync(remoteConfigDefaults)
            .addOnCompleteListener { task ->
                if (task.isSuccessful) {
                    // Default value successfully set
                } else {
                    // Failed to set default value
                }
            }
  3. Показать или скрыть рекламу в зависимости от значения ads_enabled . Пока вы не настроите прогнозирование, это значение всегда будет истинным, и реклама всегда будет отображаться.

    iOS (Swift)

    self.remoteConfig.fetch() { (status, error) -> Void in
        if status == .success {
          self.remoteConfig.activateFetched()
        }
    
        // Act on the retrieved parameters
    
        // Show ads based on the ad policy retrieved with Remote Config
        self.executeAdsPolicy()
    
        // ...
    }
    
    // ...
    
    func executeAdsPolicy() {
        let showAds = self.remoteConfig["ads_enabled"].booleanValue
        if showAds {
            bannerView.load(GADRequest())
            self.bannerView.isHidden = false
        } else {
            self.bannerView.isHidden = true
        }
    }
    

    Ява

    mFirebaseRemoteConfig.fetchAndActivate()
            .addOnCompleteListener(new OnCompleteListener<Boolean>() {
                @Override
                public void onComplete(@NonNull Task<Boolean> task) {
                    if (task.isSuccessful()) {
                        // Act on the retrieved parameters
    
                        // Show ads based on the ad policy retrieved with Remote Config
                        executeAdsPolicy();
    
                        // ...
                    } else {
                        // Handle errors
                    }
                }
            });
    // ...
    private void executeAdsPolicy() {
        boolean showAds = mFirebaseRemoteConfig.getBoolean("ads_enabled");
        AdView mAdView = findViewById(R.id.adView);
    
        if (showAds) {
            AdRequest adRequest = new AdRequest.Builder().build();
            mAdView.loadAd(adRequest);
            mAdView.setVisibility(View.VISIBLE);
        } else {
            mAdView.setVisibility(View.GONE);
        }
    }

    Котлин + KTX

    firebaseRemoteConfig.fetchAndActivate()
            .addOnCompleteListener(this) { task ->
                if (task.isSuccessful) {
                    // Act on the retrieved parameters
    
                    // Show ads based on the ad policy retrieved with Remote Config
                    executeAdsPolicy()
    
                    // ...
                } else {
                    // Handle errors
                }
            }
    // ...
    private fun executeAdsPolicy() {
        val showAds = firebaseRemoteConfig["ads_enabled"].asBoolean()
        val adView = findViewById<AdView>(R.id.adView)
    
        if (showAds) {
            val adRequest = AdRequest.Builder().build()
            adView.loadAd(adRequest)
            adView.visibility = View.VISIBLE
        } else {
            adView.visibility = View.GONE
        }
    }

На этом этапе вы можете развернуть свое приложение в App Store или Play Store. Пользователи будут получать рекламу по умолчанию (реклама всегда отображается), но поскольку показ рекламы контролируется с помощью дистанционно настраиваемой переменной, вы можете изменять и экспериментировать с поведением ваших объявлений, используя только консоль Firebase, не отправляя обновления приложений своим пользователям. ,

2. Начните прогнозировать пользовательские расходы

Затем настройте проект Firebase, чтобы начать прогнозировать поведение своих пользователей.

В консоли Firebase откройте раздел « Предсказания ». Если вы еще не согласились с условиями обслуживания Predictions, сделайте это.

После того, как вы согласитесь с условиями обслуживания, для вашего проекта будут включены прогнозы. Раздел «Предсказания» консоли Firebase позволяет определять пользовательские прогнозы. Однако для прогнозирования расходов можно использовать встроенный прогноз spend , который использует совокупность событий Analytics, чтобы предсказать, совершит ли пользователь покупку в приложении. Эти прогнозы станут доступны после того, как вы включите прогнозы и зарегистрируете события, потраченные за несколько недель.

3. Создать эксперимент по стратегии монетизации

Теперь создайте эксперимент A / B-тестирования, который проверяет влияние стратегии монетизации на основе прогноза на доход по сравнению с постоянным показом рекламы.

Для эксперимента полезно иметь три варианта: контрольную группу, группу, которая безоговорочно устанавливает параметр, и группу, основанную на предсказаниях, - чтобы эксперимент мог определить, имеет ли основанный на предсказании подход большую выгоду, чем простое применение обращение ко всем.

Чтобы создать эксперимент:

  1. В консоли Firebase откройте раздел A / B Testing .

  2. Создайте новый эксперимент:

    1. Нажмите Создать эксперимент> Удаленная настройка .

    2. Выберите ваше приложение из списка и укажите, сколько ваших пользователей вы хотите включить в эксперимент. Вы также можете исключить определенные категории пользователей, такие как большие затраты, из эксперимента.

    3. Выберите « Предполагаемый общий доход» в списке показателей цели и выберите любые дополнительные показатели, которые вы хотите отслеживать, такие как вовлеченность пользователей, удержание, удаление приложений и клики по объявлениям.

    4. Определите три варианта:

      • Контрольная группа (создается автоматически)
      • Никогда не показывать рекламу
      • Нет рекламы для вероятных тратит

      Для группы Control создайте параметр ads_enabled и установите для него значение (no change) . Пользователи, назначенные в контрольную группу, получат поведение по умолчанию, которое всегда будет видеть рекламу.

      Для варианта Никогда не показывать объявления установите для параметра ads_enabled значение false . Пользователи, назначенные этому варианту, никогда не видят рекламу.

      Для варианта « Нет рекламы для вероятных тратителей»

      1. Установите для параметра ads_enabled значение false .
      2. Нажмите « Ограничить подмножество пользователей» и выберите « Прогнозы (бета)»> «Прогноз: расходы» .
      3. Установите диапазон процентилей, на который вы хотите нацелиться. Для целевого расходования средств, диапазон 95-100 процентилей - хорошее место для начала.

      Пользователи, назначенные этому варианту, не будут видеть рекламу, если они планируют потратить в течение следующих 7 дней.

Начните эксперимент и дайте ему поработать несколько дней или более, пока A / B Testing не объявит лидера. Если эксперимент не может определить лидера, возможно, вам придется расширить эксперимент на большее количество пользователей .

4. Разверните выигрышный вариант для всех пользователей.

После того, как A / B-тестирование собрало достаточно информации, чтобы объявить лидера (в данном случае вариант, который максимизировал доход от приложения), вы можете решить, следует ли развернуть выигрышный вариант (или другой вариант) всем своим пользователям.

В разделе A / B Testing консоли Firebase откройте подробное представление о завершенном эксперименте. Из этого представления вы можете увидеть, как каждый вариант выполнялся в соответствии с выбранной вами метрикой цели и любыми вторичными метриками. С помощью этой информации вы можете решить, следует ли развернуть ведущий вариант или другой вариант.

Чтобы развернуть вариант для всех пользователей, нажмите > вариант на странице сведений об эксперименте.