Quantcast
Channel: Recent Threads — Xamarin Community Forums
Viewing all articles
Browse latest Browse all 204402

Help with Firebase for Xamarin Forms

$
0
0

Hi,

I am trying to get the Firebase Analytics works for my Xamarin Forms.

Here what I did:

**In Droid Project:
—————————————————

MainActivity.cs:
**

using System;
using Android.App;
using Android.Content;
using Android.Content.PM;
using Android.Runtime;
using Android.Views;
using Android.Widget;
using Android.OS;
using Com.OneSignal;
using Syncfusion.SfBusyIndicator.XForms.Droid;
using Syncfusion.ListView.XForms.Android;
using Syncfusion.SfPullToRefresh.XForms.Android;
using Syncfusion.SfNavigationDrawer.XForms.Droid;
using Firebase.Iid;
using Firebase.Analytics;
using Firebase.Crash;

namespace Eithar.Droid
{
    [Activity(Label = "Eithar", Icon = "@drawable/icon", Theme = "@style/MyTheme", MainLauncher = true, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation)]
    public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsAppCompatActivity
    {
        FirebaseAnalytics firebaseAnalytics;

        protected override void OnCreate(Bundle bundle)
        {
            TabLayoutResource = Resource.Layout.Tabbar;
            ToolbarResource = Resource.Layout.Toolbar;

            base.OnCreate(bundle);

            global::Xamarin.Forms.Forms.Init(this, bundle);

            // Obtain the FirebaseAnalytics instance.
            firebaseAnalytics = FirebaseAnalytics.GetInstance(this);

            LoadApplication(new App());
        }
    }
}

**FirebaseService.cs
**

using System;
using Android.Content;
using Xamarin.Forms;
using Firebase.Analytics;
using Firebase.Crash;
using Android.OS;

[assembly: Dependency(typeof(Eithar.Droid.FirebaseService))]
namespace Eithar.Droid
{
    public class FirebaseService : IFirebaseService
    {
        FirebaseAnalytics firebaseAnalytics;

        public void Track_App_Page(String PageNameToTrack)
        {
            firebaseAnalytics.SetCurrentScreen(new Android.App.Activity(), "HomePage", "main_screen");
        }
    }
}

**In PCL Project:
———————————————

IFirebaseService.cs
**

using System;

namespace Eithar
{
    public interface IFirebaseService
    {
        void Track_App_Page(String PageNameToTrack);
    }
}

FirebaseDependencyService.cs

using System;
using Xamarin.Forms;

namespace Eithar
{
    public static class FirebaseDependencyService
    {
        public static void Track_App_Page(String PageNameToTrack)
        {
            DependencyService.Get<IFirebaseService>().Track_App_Page(PageNameToTrack);
        }
    }
}

Home.xaml.cs:

protected override void OnAppearing()
{
    base.OnAppearing();

    FirebaseDependencyService.Track_App_Page("HomePage");
}

google-services.json is already added to the project and the Build action is set to GoogleServicesJson

but my app crashes on appearing and it works back when I comment:

// FirebaseDependencyService.Track_App_Page("HomePage");


Where is the problem here please?

Thanks,
Jassim


Viewing all articles
Browse latest Browse all 204402

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>