Plugin.FirebaseAnalytics
A cross platform plugin for Firebase Analytics. A wrapper for Xamarin.Firebase.iOS.Analytics and Xamarin.Firebase.Analytics.
Setup
Install Nuget package to each projects.
iOS
- Add GoogleService-Info.plist to iOS project. Select BundleResource as build action.
- Initialize as follows in AppDelegate.
Firebase.Core.App.Configure();
Android
- Add google-services.json to Android project. Select GoogleServicesJson as build action. (If you can't select GoogleServicesJson, reload this android project.)
- Target framework version needs to be Android 10.0.
- This Plugin uses Plugin.CurrentActivity. Setup as follows in MainActivity.
Plugin.CurrentActivity.CrossCurrentActivity.Current.Init(this, bundle);
Usage
Log events
CrossFirebaseAnalytics.Current.LogEvent(EventName.SelectContent,
new Parameter(ParameterName.ItemId, itemId),
new Parameter(ParameterName.ItemName, itemName));
var parameters = new Dictionary<string, object>
{
[ParameterName.ItemId] = 1,
[ParameterName.ItemName] = "test"
};
CrossFirebaseAnalytics.Current.LogEvent(EventName.SelectContent, parameters);
Set user properties
CrossFirebaseAnalytics.Current.SetUserProperty("name", userName);
Set user id
CrossFirebaseAnalytics.Current.SetUserId(userId);
Set screen name
CrossFirebaseAnalytics.Current.SetCurrentScreen(screenName, screenClass));
Get app instance id
var id = await CrossFirebaseAnalytics.Current.GetAppInstanceIdAsync();
Reset analytics data
CrossFirebaseAnalytics.Current.ResetAnalyticsData();
Set parameters
CrossFirebaseAnalytics.Current.SetAnalyticsCollectionEnabled(enabled);
CrossFirebaseAnalytics.Current.SetSessionTimeoutDuration(sessionTimeoutDuration);