web-dev-qa-db-fra.com

Comment ajouter des événements personnalisés Firebase pour l'analyse?

J'ai vu quelques questions et réponses sur les événements personnalisés pour l'analyse Firebase, mais je voulais juste vous poser une question directe afin que vous puissiez me donner une réponse directe :)

Voici donc ma méthode de journalisation:

@Override
public void logFeatureSelectedEvent(String categoryName, String actionName, String labelName) {
    Bundle bundle = new Bundle();
    bundle.putString(EventTrackingKeys.EventTypes.CATEGORY, categoryName);
    bundle.putString(EventTrackingKeys.EventTypes.ACTION, actionName);
    bundle.putString(EventTrackingKeys.EventTypes.LABEL, labelName);
    mFirebaseAnalytics.logEvent(EventTrackingKeys.EventAnalyticTypes.FEATURE_SELECTED_EVENT, bundle);
}

avec des noms d'événement/clé personnalisés:

String CATEGORY = "category";
String ACTION = "action";
String LABEL = "label";
String FEATURE_SELECTED_EVENT = "feature_selected_event";

Donc, dans ma console Firebase, je ne reçois que le nom d'événement "feature_selected_event", sans nom de paramètre personnalisé. J'ai vu des réponses que je devrais appeler la méthode setUserProperty () et enregistrer cette propriété utilisateur dans l'onglet Propriétés utilisateur de Firebase Analytics. Est-ce la bonne façon de mettre en œuvre cette méthode? :

   @Override
public void logFeatureSelectedEvent(String categoryName, String actionName, long value) {
    Bundle bundle = new Bundle();
    bundle.putString(EventTrackingKeys.EventTypes.CATEGORY, categoryName);
    bundle.putString(EventTrackingKeys.EventTypes.ACTION, actionName);
    bundle.putLong(EventTrackingKeys.EventTypes.VALUE, value);
    mFirebaseAnalytics.setUserProperty(EventTrackingKeys.EventTypes.CATEGORY, categoryName);
    mFirebaseAnalytics.setUserProperty(EventTrackingKeys.EventTypes.ACTION, actionName);
    mFirebaseAnalytics.setUserProperty(EventTrackingKeys.EventTypes.VALUE, value);
    mFirebaseAnalytics.logEvent(EventTrackingKeys.EventAnalyticTypes.FEATURE_SELECTED_EVENT, bundle);
}
18
joe

Vous pouvez le voir dans la console sans aucun piratage, mais il est assez caché là-bas.

Accédez à Firebase Analytics -> Stream View -> Select Events -> Top events -> select_content -> you go

Mon code:

Bundle params = new Bundle();
params.putString("invalid_url", urlPart);
mFirebaseAnalytics.logEvent("eventInvalidUrl", params);

Firebase Analytics Stream View

17
Josef Vancura

Les paramètres personnalisés ne seront pas affichés. Seuls les événements suggérés avec des paramètres suggérés sont présentés dans le tableau de bord.

Pour voir les paramètres personnalisés, vous devez lier votre projet à Big Query (ce n'est pas gratuit).

Firebase n'affichera pas non plus d'informations si le nombre d'utilisateurs est inférieur à 10.

15
TOP

Dans Firebase, comme je le sais, nous devons enregistrer les événements dans la paire <Clé, valeur>, puis nous devons nous connecter.

Comme ceci:

bundle.putString("yourKey","yourValue");

Par exemple, J'ai mis l'événement personnalisé dans MyApp pour obtenir l'heure AppOpen comme ci-dessous.

    Bundle params = new Bundle();
    params.putString("open_time", TimeStampUtil.getTimeStamp(System.currentTimeMillis()));
    mFirebaseAnalytics.logEvent("app_open_time", params);

donc, dans l'exemple ci-dessus, j'ai créé un événement personnalisé avec le nom app_open_time et mettez la valeur avec la clé comme open_time.

Essayez de cette façon et pour plus d'informations, référez-vous à ceci: https://firebase.google.com/docs/analytics/Android/events

9
Uttam Panchasara

Non seulement vous devez faire ce que Muhammad Riyaz dit, mais vous devez également faire en sorte que votre nombre d'utilisateurs dépasse le "seuil". Dans mon cas, l'installation de mon application sur une douzaine de versions de simulateur a poussé mon nombre d'utilisateurs à 12, et voilà, tout à coup, j'ai des données de paramètres d'événement personnalisés dans mon tableau de bord Firebase.

4
saswanb

Similaire à la réponse de @Josef Vancura, mais dans Kotlin:

val params = Bundle()
params.putString("invalid_url", urlPart)
mFirebaseAnalytics.logEvent("eventInvalidUrl", params)
0
Jerry Chong