I am working on updating an app that was previously using Google’s Universal Analytics to track mobile app usage over to their Firebase Analytics.
Our main area to track is the screen views, and I have been having some trouble using both @capacitor-community/firebase-analytics
and @capacitor-firebase/analytics
plugins to manually track screen views.
I create a service to manage the various functions for the plugin:
export class AnalyticsService {
analyticsEnabled:boolean = true;
constructor() {
this.init();
}
init() {
/*
if (Capacitor.getPlatform() === 'web') {
FirebaseAnalytics.initializeFirebase(environment.firebase);
}
*/
FirebaseAnalytics.setEnabled({
enabled: environment.production
});
}
setUser(userId:string) {
FirebaseAnalytics.setUserId({
userId: userId,
});
}
setProperty(name:string,value:string) {
FirebaseAnalytics.setUserProperty({
key: name,
value: value,
});
}
logEvent(name:string,params:object) {
FirebaseAnalytics.logEvent({
name: name,
params: params
});
}
setScreenName(screenName:string) {
FirebaseAnalytics.setCurrentScreen({
screenName: screenName,
screenClassOverride: screenName
//nameOverride: screenName
});
}
toggleAnalytics() {
this.analyticsEnabled = !this.analyticsEnabled;
FirebaseAnalytics.setEnabled({
enabled: this.analyticsEnabled,
});
}
}
In my various templates, I will manually set a screen like this:
ionViewDidEnter() {
this.analytics.setScreenName('Home');
}
I see this information appearing in my XCode console:
⚡️ To Native -> FirebaseAnalytics setUserId 36273285
⚡️ To Native -> FirebaseAnalytics setScreenName 36273286
⚡️ To Native -> FirebaseAnalytics setScreenName 36273288
⚡️ To Native -> FirebaseAnalytics setScreenName 36273289
However, when I go over to Firebase to view my Analytics, I am not seeing any data in there, everything for Screen Names is being set as:
CAPBridgeViewController
UIViewController
MainActivity
No data is appearing for UserId anywhere.
Any thoughts as to what I may doing incorrectly?