Google is committed to advancing racial equity for Black communities. See how.
Cette page a été traduite par l'API Cloud Translation.
Switch to English

Créer des expériences de configuration à distance Firebase avec des tests A / B

Lorsque vous mettez à jour votre application et que vous utilisez Firebase Remote Config pour la pousser vers une application avec une base d'utilisateurs active, vous voulez vous assurer de bien faire les choses. Vous n'êtes peut-être pas sûr de ce qui suit:

  • Le meilleur moyen d'implémenter une fonctionnalité pour optimiser l'expérience utilisateur. Trop souvent, les développeurs d'applications n'apprennent pas que leurs utilisateurs n'aiment pas une nouvelle fonctionnalité ou une expérience utilisateur mise à jour jusqu'à ce que la note de leur application dans l'App Store diminue. Les tests A / B peuvent aider à déterminer si vos utilisateurs aiment les nouvelles variantes de fonctionnalités ou s'ils préfèrent l'application telle qu'elle existe actuellement. De plus, le fait de garder la plupart de vos utilisateurs dans un groupe de contrôle garantit que la plupart de votre base d'utilisateurs peut continuer à utiliser votre application sans subir de changement de comportement ou d'apparence jusqu'à la fin de l'expérience.
  • La meilleure façon d'optimiser l'expérience utilisateur pour un objectif commercial. Parfois, vous implémentez des modifications de produit pour maximiser une métrique comme les revenus ou la rétention. Avec les tests A / B, vous définissez votre objectif commercial et Firebase effectue l'analyse statistique pour déterminer si une variante surpasse le groupe de contrôle pour votre objectif sélectionné.

Pour tester A / B des variantes de fonctionnalités avec un groupe de contrôle, procédez comme suit:

  1. Créez votre expérience.
  2. Validez votre expérience sur un appareil de test.
  3. Gérez votre expérience.

Créer une expérience

Une expérience de configuration à distance vous permet d'évaluer plusieurs variantes sur un ou plusieurs paramètres de configuration à distance .

  1. Connectez-vous à Firebase, mettez à jour les paramètres de partage de données et assurez-vous que le partage de données est activé. Sans partage de données, votre test n'aura pas accès aux données analytiques.
  2. Dans la barre de navigation de la console Firebase , développez Grow , puis cliquez sur A / B Testing .
  3. Cliquez sur Créer une expérience , puis sélectionnez Configuration à distance lorsque vous êtes invité à indiquer le service que vous souhaitez expérimenter.
  4. Saisissez un nom et une description facultative pour votre test, puis cliquez sur Suivant .
  5. Remplissez les champs de ciblage , en choisissant d'abord l'application qui utilise votre test. Vous pouvez également cibler un sous-ensemble de vos utilisateurs pour participer à votre test en choisissant une ou plusieurs des options suivantes:

    • Version: une ou plusieurs versions de votre application
    • Audience des utilisateurs: audiences Analytics utilisées pour cibler les utilisateurs susceptibles d'être inclus dans le test
    • Propriété utilisateur: une ou plusieurs propriétés utilisateur Analytics pour sélectionner les utilisateurs susceptibles d'être inclus dans l'expérience
    • Prédiction: groupes d'utilisateurs prédits par l'apprentissage automatique pour s'engager dans un comportement particulier
    • Pays / Région: un ou plusieurs pays ou régions pour sélectionner les utilisateurs susceptibles d'être inclus dans l'expérience
    • Langue de l'appareil: une ou plusieurs langues et paramètres régionaux utilisés pour sélectionner les utilisateurs susceptibles d'être inclus dans l'expérience
  6. Définir le pourcentage d'utilisateurs cibles: saisissez le pourcentage de la base d'utilisateurs de votre application correspondant aux critères définis sous Utilisateurs cibles que vous souhaitez répartir uniformément entre le groupe de contrôle et une ou plusieurs variantes de votre test. Cela peut être n'importe quel pourcentage entre 0,01% et 100%. Les utilisateurs sont affectés au hasard à chaque expérience, y compris les expériences en double.

  7. Si vous le souhaitez, définissez un événement d'activation pour vous assurer que seuls les utilisateurs qui ont d'abord déclenché un événement Analytics sont comptabilisés dans votre test, puis cliquez sur Suivant .

  8. Pour les objectifs du test , sélectionnez la métrique principale à suivre et ajoutez les métriques supplémentaires souhaitées dans la liste déroulante. Ceux-ci incluent des objectifs intégrés (engagement, achats, revenus, rétention, etc.), des événements de conversion Analytics et d'autres événements Analytics. Une fois terminé, cliquez sur Suivant .

  9. Dans la section Variantes , vous choisirez un groupe de contrôle et au moins une variante pour l'expérience. Utilisez la liste Choisir ou créer une nouvelle pour ajouter un ou plusieurs paramètres à tester. Vous pouvez créer un paramètre qui n'a pas été précédemment utilisé dans la console Firebase, mais il doit exister dans votre application pour qu'il ait un effet. Vous pouvez répéter cette étape pour ajouter plusieurs paramètres à votre expérience.

  10. (facultatif) Pour ajouter plusieurs variantes à votre test, cliquez sur Ajouter une autre variante .

  11. Modifiez un ou plusieurs paramètres pour des variantes spécifiques. Tous les paramètres inchangés sont les mêmes pour les utilisateurs non inclus dans l'expérience.

  12. Cliquez sur Examiner pour enregistrer votre test.

Vous êtes autorisé à jusqu'à 300 expériences par projet, qui peuvent consister en jusqu'à 24 expériences en cours, le reste étant brouillon ou terminé.

Validez votre expérience sur un appareil de test

Chaque installation d'application Firebase est associée à un jeton d'ID d'instance (ou un jeton d'enregistrement). Vous pouvez utiliser ce jeton pour tester des variantes d'expérimentation spécifiques sur un appareil de test avec votre application installée. Pour valider votre expérience sur un appareil de test, procédez comme suit:

  1. Obtenez le jeton d'ID d'instance comme suit:

    Rapide

    InstanceID.instanceID().instanceID { (result, error) in
      if let error = error {
        print("Error fetching remote instance ID: \(error)")
      } else if let result = result {
        print("Remote instance ID token: \(result.token)")
        self.instanceIDTokenMessage.text  = "Remote InstanceID token: \(result.token)"
      }
    }
    

    Objectif c

    [[FIRInstanceID instanceID] instanceIDWithHandler:^(FIRInstanceIDResult * _Nullable result,
                                                        NSError * _Nullable error) {
      if (error != nil) {
        NSLog(@"Error fetching remote instance ID: %@", error);
      } else {
        NSLog(@"Remote instance ID token: %@", result.token);
        NSString* message =
          [NSString stringWithFormat:@"Remote InstanceID token: %@", result.token];
        self.instanceIDTokenMessage.text = message;
      }
    }];
    

    Java

    FirebaseInstanceId.getInstance().getInstanceId()
            .addOnCompleteListener(new OnCompleteListener<InstanceIdResult>() {
                @Override
                public void onComplete(@NonNull Task<InstanceIdResult> task) {
                    Log.d("IID_TOKEN", task.getResult().getToken());
                }
            });

    Kotlin + KTX

    FirebaseInstanceId.getInstance().instanceId
            .addOnSuccessListener { result ->
                Log.d("IID_TOKEN", result.token)
            }

    C ++

    firebase::InitResult init_result;
    auto* instance_id_object = firebase::instance_id::InstanceId::GetInstanceId(
        firebase::App::GetInstance(), &init_result);
    instance_id_object->GetToken().OnCompletion(
        [](const firebase::Future<std::string>& future) {
          if (future.status() == kFutureStatusComplete &&
              future.error() == firebase::instance_id::kErrorNone) {
            printf("Instance ID Token %s\n", future.result()->c_str());
          }
        });
    

    Unité

    Firebase.InstanceId.FirebaseInstanceId.DefaultInstance.GetTokenAsync().ContinueWith(
      task => {
        if (!(task.IsCanceled || task.IsFaulted) && task.IsCompleted) {
          UnityEngine.Debug.Log(System.String.Format("Instance ID Token {0}", task.Result));
        }
      });
    
  2. Dans la barre de navigation de la console Firebase , cliquez sur Test A / B.
  3. Cliquez sur Brouillon , puis sur le titre de votre test.
  4. Sous l'en-tête Présentation de l' expérience , cliquez sur Détails .
  5. Cliquez sur Gérer les appareils de test , puis entrez le jeton d'ID d'instance pour un appareil de test et choisissez la variante de test à envoyer à cet appareil de test.
  6. Exécutez l'application et confirmez que la variante sélectionnée est en cours de réception sur l'appareil de test.

Pour en savoir plus sur le jeton d'ID d'instance, consultez FIRInstanceID (iOS) ou FirebaseInstanceId (Android).

Gérez votre expérience

Que vous créiez une expérience avec Remote Config, l'éditeur de notifications ou la messagerie Firebase In-App Messaging, vous pouvez ensuite valider et démarrer votre expérience, surveiller votre expérience pendant son exécution et augmenter le nombre d'utilisateurs inclus dans votre expérience en cours.

Lorsque votre test est terminé, vous pouvez prendre note des paramètres utilisés par la variante gagnante, puis déployer ces paramètres à tous les utilisateurs. Ou, vous pouvez exécuter une autre expérience.

Commencer une expérience

  1. Dans la barre de navigation de la console Firebase , développez Grow , puis cliquez sur A / B Testing .
  2. Cliquez sur Brouillon , puis sur le titre de votre test.
  3. Pour vérifier que votre application compte des utilisateurs qui seraient inclus dans votre test, recherchez un nombre supérieur à 0% dans la section Ciblage et distribution (par exemple, 1% d'utilisateurs correspondant aux critères ).
  4. Pour modifier votre test, cliquez sur Modifier .
  5. Pour démarrer votre test, cliquez sur Démarrer le test . Vous pouvez exécuter jusqu'à 24 expériences par projet à la fois.

Surveiller une expérience

Une fois qu'un test est en cours d'exécution depuis un certain temps, vous pouvez vérifier sa progression et voir à quoi ressemblent vos résultats pour les utilisateurs qui ont participé à votre test jusqu'à présent.

  1. Dans la barre de navigation de la console Firebase , cliquez sur Agrandir , puis sur Test A / B.
  2. Cliquez sur En cours d'exécution , puis sur le titre de votre test. Sur cette page, vous pouvez afficher diverses statistiques sur votre test en cours, y compris la métrique de votre objectif et d'autres métriques. Pour chaque métrique, les informations suivantes sont disponibles:

    • Amélioration : mesure de l'amélioration d'une métrique pour une variante donnée par rapport à la ligne de base (ou au groupe témoin). Calculé en comparant la plage de valeurs de la variante à la plage de valeurs de la ligne de base.
    • Probabilité de battre la ligne de base : la probabilité estimée qu'une variante donnée bat la ligne de base pour la métrique sélectionnée.
    • Probabilité d'être la meilleure variante : probabilité estimée qu'une variante donnée bat les autres variantes pour la métrique sélectionnée.
    • Valeur par utilisateur : en fonction des résultats du test, il s'agit de la plage prévue dans laquelle la valeur de la métrique tombera au fil du temps.
    • Valeur totale : valeur cumulée observée pour le groupe témoin ou la variante. La valeur est utilisée pour mesurer les performances de chaque variante d'expérience, et est utilisée pour calculer l' amélioration , la plage de valeurs , la probabilité de dépasser la ligne de base et la probabilité d'être la meilleure variante . En fonction de la statistique mesurée, cette colonne peut être intitulée "Durée par utilisateur", "Taux de rétention" ou "Taux de conversion".
  3. Pour augmenter le nombre d'utilisateurs inclus dans votre test, cliquez sur Augmenter la distribution , puis sélectionnez un pourcentage accru pour ajouter davantage d'utilisateurs éligibles à votre test.

  4. Une fois votre test exécuté pendant un certain temps (au moins 7 jours pour FCM et la messagerie intégrée à l'application ou 14 jours pour la configuration à distance), les données de cette page indiquent quelle variante, le cas échéant, est la "leader". Certaines mesures sont accompagnées d'un diagramme à barres qui présente les données sous un format visuel.

Déployez une expérience auprès de tous les utilisateurs

Une fois qu'un test a duré suffisamment longtemps pour que vous ayez une variante "leader" ou gagnante, pour votre métrique d'objectif, vous pouvez déployer le test auprès de 100% des utilisateurs. Cela vous permet de sélectionner une variante à publier pour tous les utilisateurs à l'avenir. Même si votre test n'a pas créé de gagnant clair, vous pouvez toujours choisir de déployer une variante à tous vos utilisateurs.

  1. Dans la barre de navigation de la console Firebase , cliquez sur Agrandir , puis sur Test A / B.
  2. Cliquez sur Terminé ou En cours , cliquez sur une expérience que vous souhaitez déployer à tous les utilisateurs, cliquez sur le menu contextuel ( ), puis sur une variante .
  3. Déployez votre test auprès de tous les utilisateurs en effectuant l'une des opérations suivantes:

    • Pour une expérience qui utilise le compositeur Notifications, utilisez le déploiement de dialogue de message pour envoyer le message aux autres utilisateurs ciblés qui ne faisaient pas partie de l'expérience.
    • Pour une expérience de configuration à distance, utilisez la boîte de dialogue pour déterminer les valeurs de paramètre de configuration à distance à modifier pour tous les utilisateurs.
    • Pour une expérience de messagerie intégrée à l'application, utilisez la boîte de dialogue pour déterminer quelle variante doit être déployée en tant que campagne de messagerie intégrée autonome. Une fois sélectionné, vous serez redirigé vers l'écran de composition FIAM pour apporter des modifications (si nécessaire) avant la publication.

Développer une expérience

Si vous constatez qu'une expérience n'attire pas suffisamment d'utilisateurs pour que les tests A / B déclarent un leader, vous pouvez augmenter la distribution de votre test pour atteindre un plus grand pourcentage de la base d'utilisateurs de l'application.

  1. Dans la barre de navigation de la console Firebase , cliquez sur Agrandir , puis sur Test A / B.
  2. Cliquez sur En cours d'exécution , la souris sur votre , cliquez sur le menu contextuel ( ), puis sur Augmenter la distribution .
  3. La console affiche une boîte de dialogue avec une option pour augmenter le pourcentage d'utilisateurs qui participent à l'expérience en cours. Saisissez un nombre supérieur au pourcentage actuel et cliquez sur Envoyer . L'expérience sera étendue au pourcentage d'utilisateurs que vous avez spécifié.

Dupliquer ou arrêter une expérience

  1. Dans la barre de navigation de la console Firebase , cliquez sur Agrandir , puis sur Test A / B.
  2. Cliquez sur Terminé ou En cours , la souris sur votre expérience, cliquez sur le menu contextuel ( ), puis sur Dupliquer ou Arrêter .

Ciblage des utilisateurs

Vous pouvez cibler les utilisateurs à inclure dans votre test à l'aide des critères de ciblage d'utilisateurs suivants.

Critère de ciblage Les opérateurs) Valeurs) Remarque
Version contient,
ne contient pas,
correspond exactement,
contient une expression régulière
Saisissez une valeur pour une ou plusieurs versions d'application que vous souhaitez inclure dans le test.

Lorsque vous utilisez l'un des opérateurs contient , ne contient pas ou correspond exactement à , vous pouvez fournir une liste de valeurs séparées par des virgules.

Lorsque vous utilisez l'opérateur contains regex , vous pouvez créer des expressions régulières au format RE2 . Votre expression régulière peut correspondre à tout ou partie de la chaîne de la version cible. Vous pouvez également utiliser les ancres ^ et $ pour faire correspondre le début, la fin ou l'intégralité d'une chaîne cible.

Audience (s) des utilisateurs comprend tous,
comprend au moins un parmi,
n'inclut pas tous,
n'inclut pas au moins un des
Sélectionnez une ou plusieurs audiences Analytics pour cibler les utilisateurs susceptibles d'être inclus dans votre test.
Propriété de l'utilisateur Pour le texte:
contient,
ne contient pas,
correspond exactement,
contient une expression régulière

Pour les nombres:
<, ≤, =, ≥,>
Une propriété utilisateur Analytics est utilisée pour sélectionner les utilisateurs susceptibles d'être inclus dans un test, avec une gamme d'options pour sélectionner les valeurs de propriété utilisateur.

Sur le client, vous ne pouvez définir que des valeurs de chaîne pour les propriétés utilisateur. Pour les conditions qui utilisent des opérateurs numériques, le service Remote Config convertit la valeur de la propriété utilisateur correspondante en un entier / flottant.
Lorsque vous utilisez l'opérateur contains regex , vous pouvez créer des expressions régulières au format RE2 . Votre expression régulière peut correspondre à tout ou partie de la chaîne de la version cible. Vous pouvez également utiliser les ancres ^ et $ pour faire correspondre le début, la fin ou l'intégralité d'une chaîne cible.
Prédiction N / A Groupes cibles d'utilisateurs définis par Firebase Predictions, par exemple, ceux qui sont susceptibles d'arrêter d'utiliser votre application ou les utilisateurs susceptibles de faire un achat via l'application. Sélectionnez l'une des valeurs définies par l'outil Firebase Predictions. Si une option n'est pas disponible, vous devrez peut-être vous inscrire à Firebase Predictions en visitant la section Predictions de la console Firebase.
Pays de l'appareil N / A Un ou plusieurs pays ou régions utilisés pour sélectionner les utilisateurs susceptibles d'être inclus dans l'expérience.
Langue de l'appareil N / A Une ou plusieurs langues et paramètres régionaux utilisés pour sélectionner les utilisateurs susceptibles d'être inclus dans l'expérience. Ce critère de ciblage n'est disponible que pour Remote Config.
Première ouverture plus que
moins que
entre
Ciblez les utilisateurs en fonction de la première fois qu'ils ont ouvert votre application, exprimée en jours. Ce critère de ciblage n'est disponible que pour la messagerie Firebase In-App.
Dernier engagement d'application plus que
moins que
entre
Ciblez les utilisateurs en fonction de la dernière fois qu'ils ont interagi avec votre application, en jours. Ce critère de ciblage n'est disponible que pour la messagerie Firebase In-App.

Métriques de test A / B

Lorsque vous créez votre test, vous choisissez une métrique qui est utilisée pour comparer les variantes de test, et vous pouvez également choisir d'autres métriques à suivre pour vous aider à mieux comprendre chaque variante de test et à détecter les effets secondaires importants (tels que les plantages d'applications). Les tableaux suivants fournissent des détails sur la façon dont les mesures d'objectif et d'autres mesures sont calculées.

Mesures de l'objectif

Métrique La description
Rétention (1 jour) Le nombre d'utilisateurs qui reviennent sur votre application quotidiennement.
Rétention (2-3 jours) Le nombre d'utilisateurs qui reviennent sur votre application dans un délai de 2 à 3 jours.
Rétention (4-7 jours) Le nombre d'utilisateurs qui reviennent sur votre application dans un délai de 4 à 7 jours.
Rétention (8-14 jours) Le nombre d'utilisateurs qui reviennent sur votre application dans un délai de 8 à 14 jours.
Rétention (15+ jours) Le nombre d'utilisateurs qui reviennent sur votre application 15 jours ou plus après leur dernière utilisation.
Notification ouverte Vérifie si un utilisateur ouvre la notification envoyée par l'éditeur de notifications.
Achat de revenus Valeur combinée pour tous les événements ecommerce_purchase et in_app_purchase .
Revenus AdMob estimés Revenus estimés d'AdMob.
Revenu total estimé Valeur d'achat combinée et revenus AdMob estimés.
first_open Un événement Analytics qui se déclenche lorsqu'un utilisateur ouvre une application pour la première fois après l'avoir installée ou réinstallée. Utilisé dans le cadre d'un entonnoir de conversion.
notification_open Un événement Analytics qui se déclenche lorsqu'un utilisateur ouvre une notification envoyée par l'éditeur de notifications. Utilisé dans le cadre d'un entonnoir de conversion.

Autres métriques

Métrique La description
Utilisateurs sans crash Le pourcentage d'utilisateurs qui n'ont pas rencontré d'erreurs dans votre application qui ont été détectées par le SDK Firebase Crashlytics pendant le test.
notification_dismiss Un événement Analytics qui se déclenche lorsqu'une notification envoyée par l'éditeur de notifications est rejetée (Android uniquement).
notification_receive Un événement Analytics qui se déclenche lorsqu'une notification envoyée par l'éditeur de notifications est reçue alors que l'application est en arrière-plan (Android uniquement).
os_update Un événement Analytics qui suit lorsque le système d'exploitation de l'appareil est mis à jour vers une nouvelle version. Pour en savoir plus, voir Événements collectés automatiquement .
screen_view Un événement Analytics qui suit les écrans affichés dans votre application. Pour en savoir plus, consultez Suivi des vues d'écran .
session_start Un événement Analytics qui compte les sessions utilisateur dans votre application. Pour en savoir plus, consultez Événements collectés automatiquement .
engagement_utilisateur Un événement Analytics qui se déclenche périodiquement lorsque votre application est au premier plan. Pour en savoir plus, consultez Événements collectés automatiquement .

Exportation de données BigQuery

Vous pouvez accéder à toutes les données analytiques liées à vos tests A / B dans BigQuery . BigQuery vous permet d'analyser les données à l'aide de BigQuery SQL, de les exporter vers un autre fournisseur cloud ou d'utiliser les données pour vos modèles ML personnalisés. Consultez Lier BigQuery à Firebase pour plus d'informations.

Pour tirer pleinement parti de l'exportation de données BigQuery, les projets Firebase doivent adopter le plan tarifaire «Blaze» à l'utilisation. BigQuery facture le stockage des données, la diffusion en continu d'insertions et l'interrogation des données. Le chargement et l'exportation des données sont gratuits. Consultez la tarification de BigQuery ou le bac à sable BigQuery pour plus d'informations.

Pour commencer, assurez-vous que votre projet Firebase est associé à BigQuery. Sélectionnez Paramètres> Paramètres du projet dans la barre de navigation de gauche, puis sélectionnez Intégrations> BigQuery> Lien . Cette page affiche les options permettant d'exporter les données d'analyse BiqQuery pour toutes les applications du projet.

Pour interroger les données analytiques d'une expérience:

  1. Dans votre liste de tests actifs , sélectionnez le test souhaité pour ouvrir la page des résultats du test.
  2. A partir du menu contextuel dans le volet aperçu de l' expérience, sélectionnez Afficher dans BigQuery (cette option est disponible pour les projets sur le niveau gratuit).

    Cela ouvre l'éditeur de requêtes de la console BigQuery avec un exemple de requête généré automatiquement de données de test préchargées pour votre examen. Dans cette requête, votre test est codé en tant que propriété utilisateur avec le nom du test dans la clé et la variante du test dans la valeur.

  3. Dans l'éditeur de requête, sélectionnez Exécuter la requête. Les résultats sont affichés dans le volet inférieur.

Notez que, étant donné que les données Firebase dans BigQuery ne sont mises à jour qu'une fois par jour, les données disponibles sur la page de test peuvent être plus à jour que les données disponibles dans la console BigQuery.