如何将Xamarin.Firebase.Analytics整合到Xamarin.forms?

How to integrate Xamarin.Firebase.Analytics to the Xamarin.forms?

问题:但是我在我的 firebase 帐户中没有看到活跃用户。

我这样做。

  1. 我将 Xamarin.Firebase.Analytics 包添加到 MyName.Android 项目中。

  2. 我把google-services.json添加到我的Name.Android.

  3. 安装构建动作=GoogleService.json

  4. 我 运行 项目作为“调试”。

问题描述:项目组装成功运行ning,但是firebase统计中的标准动作不固定:first_open , screen_view, session_start.

问题描述:realtime部分的firebase统计也是空的

请告诉我我做错了什么? 我需要额外的包裹吗? “Xamarin.Firebase.Analytics”需要在MainActivity中初始化?

开发人员创建 nuget 包并将它们上传到 github。一些开发人员编写说明。有的不写说明书。 问题是去哪里找说明书?

我记得使用以下媒介 post 来做同样的事情:https://thewissen.io/using-firebase-analytics-in-your-xamarin-forms-app/

基本上,您执行先决条件,创建接口

public interface IFirebaseAnalyticsService
{
   void LogEvent(string eventId);
   void LogEvent(string eventId, string paramName, string value);
   void LogEvent(string eventId, IDictionary<string, string> parameters);
   void SetUserId(string userId);
}

然后你为依赖注入创建平台级别类

public class FirebaseAnalyticsService : IFirebaseAnalyticsService
{
public void LogEvent(string eventId)
{
    LogEvent(eventId, null);
}

public void LogEvent(string eventId, string paramName, string value)
{
    LogEvent(eventId, new Dictionary<string, string>
    {
        {paramName, value}
    });
}

public void SetUserId(string userId)
{
#if !DEBUG
    var fireBaseAnalytics = FirebaseAnalytics.GetInstance(CrossCurrentActivity.Current.AppContext);

    fireBaseAnalytics.SetUserId(userId);
#endif
}

public void LogEvent(string eventId, IDictionary<string, string> parameters)
{
 #if !DEBUG
    var fireBaseAnalytics = FirebaseAnalytics.GetInstance(CrossCurrentActivity.Current.AppContext);

    if (parameters == null)
    {
        fireBaseAnalytics.LogEvent(eventId, null);
        return;
    }

    var bundle = new Bundle();

    foreach (var item in parameters)
    {
        bundle.PutString(item.Key, item.Value);
    }

    fireBaseAnalytics.LogEvent(eventId, bundle);
 #endif
}
}

祝你好运,如果您有任何疑问,请告诉我

添加到 MainAvtivity.cs(对于 Android)

  1. using Firebase.Analytics;
  2. FirebaseAnalytics firebaseAnalytics; 到 class MainActivity
  3. 的开头
  4. 到方法 onCreate firebaseAnalytics = FirebaseAnalytics.GetInstance(this);
  5. 在google-service.json文件的属性中,设置build action = Google Services.Json
  6. 看看我的包版本。 link 有效。收包裹都累了...

添加到 AppDelegate.cs(对于 iOS)

  1. 在命名空间之前添加以下内容 - [assembly: Preserve(typeof(Firebase.Analytics.Analytics), AllMembers = true)]
  2. return base.FinishedLaunching(app, options);之前添加代码Firebase.Core.App.Configure();
  3. 我使用 Xamarin.Firebase.iOS.Anatics(6.9.0)

其余的是根据 ios

的 firebase 中的说明