¿Cómo utilizar correctamente Firebase-Analytcs para las pruebas A / B?
Fondo
Google ha publicado una nueva API y servicios para pruebas A / B, utilizando Firebase Analytics y Firebase Remote Config .
El problema
Mientras pruebo el servicio para otros fines ( aquí y aquí ), también necesito usarlo para las pruebas A / B.
- Habilitar el análisis de depuración de firebase analytics
- Eventos personalizados en la consola de análisis de Firebase
- ¿Es necesario inicializar Firebase Analytics en cada actividad?
- Adición de Analytics de Firebase y Google Analytics en la aplicación para Android
- Llamar a getInstance () de Firebase Analytic cada vez contra la instancia de almacenamiento como una variable estática en la clase Application
La cosa es, no puedo averiguar cómo hacer que muestre la información necesaria para analizar los resultados de las variantes de los experimentos.
Simplemente no se muestra (en este sitio web ), o no veo el lugar correcto:
Lo que he intentado
Con el fin de probar un solo experimento, hice como el tutorial decir que debo hacer, incluyendo:
-
La inicialización en código es aproximadamente la misma que en las muestras :
boolean isDebug = AppComponentsHelper.isInDebugFlavour(context); mFirebaseRemoteConfig = FirebaseRemoteConfig.getInstance(); FirebaseRemoteConfigSettings configSettings = new FirebaseRemoteConfigSettings.Builder().setDeveloperModeEnabled(isDebug).build(); mFirebaseRemoteConfig.setConfigSettings(configSettings); final HashMap<String, Object> defaults = new HashMap<>(); for (ExperimentType experimentType : ExperimentType.values()) defaults.put(experimentType.experimentId, experimentType.defaultValues); mFirebaseRemoteConfig.setDefaults(defaults); long cacheExpiration = isDebug ? 0 : TimeUnit.HOURS.toSeconds(1); mFirebaseRemoteConfig.fetch(cacheExpiration) .addOnCompleteListener(new OnCompleteListener<Void>() { @Override public void onComplete(@NonNull Task<Void> task) { if (task.isSuccessful()) { mFirebaseRemoteConfig.activateFetched(); final FirebaseAnalytics firebaseAnalytics = FirebaseAnalytics.getInstance(context); for (ExperimentType experimentType : ExperimentType.values()) { String experimentVariant = FirebaseRemoteConfig.getInstance().getString(experimentType.experimentId); firebaseAnalytics.setUserProperty(experimentType.userProperty, experimentVariant); } } } });
Este es el enum de ExperimentType:
public enum ExperimentType { PURCHASES_OFFERED_PRODUCTS("purchases_offered_products_1", "Experiment1", new Gson().toJson(new String[]{"something", "something2"})); public final String experimentId,defaultValues,userProperty; ExperimentType(final String experimentId, final String userProperty, final String defaultValues) { this.experimentId = experimentId; this.defaultValues = defaultValues; this.userProperty = userProperty; }
}
-
Creación de una nueva propiedad de usuario para cada experimento (sólo una por ahora).
-
En la pantalla de configuración remota, agregue 2 variantes (predeterminadas y condicionales).
-
Al cargar la configuración remota, llamando a setUserProperty (ver # 0), como se muestra en el tutorial , para señalar el valor del parámetro de la variante actual.
-
Para seguir un evento, llamé:
firebaseAnalytics.logEvent(eventName, new Bundle())
Una de las llamadas (sólo una por ahora), como podría haber adivinado es cuando eventName es "subscription_premium_purchase".
-
Al ejecutar la aplicación, he hecho que el uso de ambas variantes (una por cada instalación limpia, por supuesto).
Pero como he mostrado, no puedo encontrar una manera de determinar qué variante causó que el evento sea llamado más que el otro, por ejemplo.
Las preguntas
-
¿Qué podría faltar aquí? ¿Qué he hecho mal? ¿Por qué no puedo ver ninguna variante que he usado?
-
¿Cuál es la propiedad del usuario para, de todos modos? ¿Se utiliza como "pegamento" entre Remote-Config y Analytics? ¿Qué se supone que debo entrar en el cuadro de texto allí (dice "Presionar" entrar "para aplicar")? ¿No supone mostrar las diversas variantes? Otros elementos de los filtros tienen "tipos", pero éste no. No hay nada que elegir de la propiedad del usuario. Incluso al crear una propiedad de usuario, no puedo ver ninguna configuración para ella (excepto para la descripción). Ni siquiera puedo borrarlo. No hay manera de ver las condiciones que he creado en el gráfico.
-
¿Necesito usar BigQuery, tal vez?
-
He notado que la función "fetch" a veces no consigue que el oyente se llame en absoluto. ¿Como puede ser? ¿Puedo añadir un tiempo de espera para esto?
- ¿Puedo deshabilitar el complemento de Firebase para un sabor específico?
- Análisis de Firebase AppMeasurement no habilitado
- Parámetros de eventos personalizados de Firebase Analytics
- Inactividad, desconectarse de AppMeasurementService
- Los eventos de análisis de Firebase no muestran valor
- FirebaseAnalytics.getInstance muestra advertencias pero se compila correctamente
- Firebase con BigQuery
- Los eventos de Android Firebase Analytics no se muestran en la consola
Creo que la confusión clave aquí se relaciona con el hecho de que no vea sus valores como sugerencias de autocompletar cuando seleccionó la propiedad Experiment user. Esta es una característica que se está considerando. Pero si acaba de escribir sus valores de Experimento, se aplicará como un filtro en su informe para que pueda ver cuántos eventos "subscription_premium_purchase" fueron registrados por los usuarios en una variante frente a la otra.
- Conexión de TextWatcher con un adaptador personalizado para filtrar texto a través de EditText
- PACKAGE_USAGE_STATS problema de permiso al empujar apk como aplicación de sistema