Simplified send firebase event for Android.
SimpleFirebaseAnalytics releases are available via JitPack.
//Projectlevelbuild.gradle// ...
repositories{maven{url'https://jitpack.io'}}// ...
//Modulelevelbuild.gradledependencies{//Replaceversionwithreleaseversion,e.g.1.0.0-alpha, -SNAPSHOTimplementation"com.github.kshdreams:SimpleFirebaseAnalytics:[VERSION]"}call SimpleFirebaseAnalytics.init() method on your Application.onCreate() method
publicclassYourApplicationextendsApplication {
@OverridepublicvoidonCreate() {
super.onCreate();
SimpleFirebaseAnalytics.init(this, newAnalytics() {
@OverridepublicbooleanisUserAgreed() {
// TODO : better to show dialog to agree to send event logreturntrue;
}
@OverridepublicvoidsetCurrentScreen(Activityactivity, Stringvar1, Stringvar2) {
FirebaseAnalytics.getInstance(activity).setCurrentScreen(activity, var1, var2);
}
@OverridepublicvoidlogEvent(Stringevent, Bundleparam) {
FirebaseAnalytics.getInstance(FirebaseApplication.this).logEvent(event, param);
}
});just define @FirebaseScreen annotation to Activity, Fragment class instead of call FirebaseAnalytics.setCurrentScreen() then automatically call screen event when Activity, Fragment is created or resume.
@FirebaseScreen("main_screen")
publicclassMainActivityextendsAppCompatActivity {
}
@FirebaseScreen("main_fragment")
publicclassMainFragmentextendsFragmet {
}just define @FirebaseEvent, @FirebaseParam on your data(pojo) class,
@FirebaseEvent("click_event")
publicclassClickEvent {
@FirebaseParam("view")
publicStringview;
@FirebaseParam("extra")
publicStringextra;and send firebase event using object.
SimpleFirebaseAnalytics.sendEvent(ClickEvent.create("snackbar", "some extra here"));publicstaticclassUser {
@FirebaseParam("userId")
Stringid;
@FirebaseParam("userName")
Stringname;
}
SimpleFirebaseAnalytics.sendEvent("create", user);- use AppCompatActivity to use Fragment screen logging (FragmentLifeCycle observing supported since API level 26)