| Sélectionnez une plate-forme : | iOS+ Android Web Flutter Unity C++ |
Les événements vous renseignent sur ce qui se passe dans votre application (actions des utilisateurs, événements système ou erreurs, par exemple).
Google Analytics enregistre automatiquement certains événements pour vous. Il n'y a donc pas de code à ajouter pour les recevoir. Si votre application doit collecter des données supplémentaires, vous pouvez y enregistrer jusqu'à 500 types d'événements Analytics différents. Le volume total d'événements enregistrés par votre application n'est pas limité. Notez que les noms des événements sont sensibles à la casse. Si deux événements portent le même nom, mais avec une casse différente, deux événements distincts sont créés.
Avant de commencer
Assurez-vous d'avoir configuré votre projet et de pouvoir accéder à Analytics comme décrit dans Premiers pas avec Analytics pour C++.
Enregistrer des événements
Une fois que vous avez initialisé le firebase::analytics module, vous pouvez l'utiliser pour enregistrer
événements avec la LogEvent() méthode.
Pour vous aider à démarrer, le Analytics SDK définit un certain nombre d' événements recommandés qui sont courants dans différents types d'applications, y compris les applications de vente au détail et d'e-commerce, de voyage et de jeux. Pour en savoir plus sur ces événements et sur la façon de les utiliser, consultez les articles Événements et propriétés du centre d'aide Firebase.
Vous trouverez des informations sur l'implémentation des événements recommandés aux emplacements suivants :
- Événements suggérés : consultez la liste des
Eventconstantes. - Paramètres prescrits : consultez la liste des
Parametersconstantes.
L'exemple suivant montre comment enregistrer un événement suggéré
SELECT_CONTENT :
const analytics::Parameter kSelectContentParameters[] = { analytics::Parameter(analytics::kParameterItemID , id), analytics::Parameter(analytics::kParameterItemName, "name"), analytics::Parameter(analytics::kUserPropertySignUpMethod, "Google"), analytics::Parameter("favorite_food", mFavoriteFood), analytics::Parameter("user_id", mUserId), }; analytics::LogEvent( analytics::kEventSelectContent, kSelectContentParameters, sizeof(kSelectContentParameters) / sizeof(kSelectContentParameters[0]));
En plus des paramètres prescrits, vous pouvez ajouter les paramètres suivants à n'importe quel événement :
Paramètres personnalisés : les paramètres personnalisés ne sont pas représentés directement dans vos Analytics rapports, mais ils peuvent être utilisés comme filtres dans les définitions d'audience applicables à chaque rapport. Les paramètres personnalisés sont également inclus dans les données exportées vers BigQuery si votre application est associée à un projet BigQuery.
Paramètre
VALUE:VALUEest un paramètre à usage général qui est utile pour cumuler une métrique clé liée à un Analytics événement. Par exemple, il peut s'agir des revenus, de la distance, du temps et des points.
Si votre application a des besoins spécifiques qui ne sont pas couverts par un type d'événement suggéré Analytics, vous pouvez enregistrer vos propres événements personnalisés Analytics comme indiqué dans cet exemple :
// Copyright 2016 Google Inc. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. #include "firebase/analytics.h" #include "firebase/analytics/event_names.h" #include "firebase/analytics/parameter_names.h" #include "firebase/analytics/user_property_names.h" #include "firebase/app.h" // Thin OS abstraction layer. #include "main.h" // NOLINT // Execute all methods of the C++ Analytics API. extern "C" int common_main(int argc, const char* argv[]) { namespace analytics = ::firebase::analytics; ::firebase::App* app; LogMessage("Initialize the Analytics library"); #if defined(__ANDROID__) app = ::firebase::App::Create(GetJniEnv(), GetActivity()); #else app = ::firebase::App::Create(); #endif // defined(__ANDROID__) LogMessage("Created the firebase app %x", static_cast<int>(reinterpret_cast<intptr_t>(app))); analytics::Initialize(*app); LogMessage("Initialized the firebase analytics API"); LogMessage("Enabling data collection."); analytics::SetAnalyticsCollectionEnabled(true); // App session times out after 30 minutes. // If the app is placed in the background and returns to the foreground after // the timeout is expired analytics will log a new session. analytics::SetSessionTimeoutDuration(1000 * 60 * 30); LogMessage("Get App Instance ID..."); auto future_result = analytics::GetAnalyticsInstanceId(); while (future_result.status() == firebase::kFutureStatusPending) { if (ProcessEvents(1000)) break; } if (future_result.status() == firebase::kFutureStatusComplete) { LogMessage("Analytics Instance ID %s", future_result.result()->c_str()); } else { LogMessage("ERROR: Failed to fetch Analytics Instance ID %s (%d)", future_result.error_message(), future_result.error()); } LogMessage("Set user properties."); // Set the user's sign up method. analytics::SetUserProperty(analytics::kUserPropertySignUpMethod, "Google"); // Set the user ID. analytics::SetUserId("uber_user_510"); LogMessage("Log current screen."); // Log the user's current screen. analytics::LogEvent(analytics::kEventScreenView, "Firebase Analytics C++ testapp", "testapp" ); // Log an event with no parameters. LogMessage("Log login event."); analytics::LogEvent(analytics::kEventLogin); // Log an event with a floating point parameter. LogMessage("Log progress event."); analytics::LogEvent("progress", "percent", 0.4f); // Log an event with an integer parameter. LogMessage("Log post score event."); analytics::LogEvent(analytics::kEventPostScore, analytics::kParameterScore, 42); // Log an event with a string parameter. LogMessage("Log group join event."); analytics::LogEvent(analytics::kEventJoinGroup, analytics::kParameterGroupID, "spoon_welders"); // Log an event with multiple parameters. LogMessage("Log level up event."); { const analytics::Parameter kLevelUpParameters[] = { analytics::Parameter(analytics::kParameterLevel, 5), analytics::Parameter(analytics::kParameterCharacter, "mrspoon"), analytics::Parameter("hit_accuracy", 3.14f), }; analytics::LogEvent( analytics::kEventLevelUp, kLevelUpParameters, sizeof(kLevelUpParameters) / sizeof(kLevelUpParameters[0])); } LogMessage("Complete"); // Wait until the user wants to quit the app. while (!ProcessEvents(1000)) { } analytics::Terminate(); delete app; LogMessage("Shutdown"); return 0; }
Afficher les événements dans le journal de débogage d'Android Studio
Vous pouvez activer la journalisation détaillée pour surveiller l'enregistrement des événements par le SDK et vérifier ainsi que les événements sont correctement enregistrés. Cela inclut les événements enregistrés automatiquement et manuellement.
Vous pouvez activer la journalisation détaillée à l'aide d'une série de commandes adb :
adb shell setprop log.tag.FA VERBOSE
adb shell setprop log.tag.FA-SVC VERBOSE
adb logcat -v time -s FA FA-SVC
Cette commande affiche vos événements dans le logcat d'Android Studio, ce qui vous permet de vérifier immédiatement que les événements sont envoyés.
Afficher les événements Analytics dans le tableau de bord
Vous pouvez afficher des statistiques agrégées sur vos Analytics événements dans les Firebase tableaux de bord de la console. Ces tableaux de bord sont mis à jour régulièrement tout au long de la journée. Pour effectuer des tests immédiats, utilisez la sortie logcat comme décrit dans la section précédente.
Pour accéder à ces données dans la Firebase console :
- Dans la Firebase console, ouvrez votre projet.
- Sélectionnez Analytics dans le menu pour afficher le tableau de bord de création de rapports Analytics.
L'onglet Événements affiche les rapports d'événements créés automatiquement pour chaque type d'événement Analytics distinct enregistré par votre application. En savoir plus sur le tableau de bord.