首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何将Xamarin.Firebase.Analytics集成到Xamarin.forms中?

如何将Xamarin.Firebase.Analytics集成到Xamarin.forms中?
EN

Stack Overflow用户
提问于 2022-01-28 11:46:32
回答 2查看 637关注 0票数 1

Problem:但我在firebase帐户中没有看到一个活动用户。

我这样做。

  1. I将Xamarin.Firebase.Analytics包添加到MyName.Android项目.

  1. 我在我的Name.Android.

中添加了google-services.json

安装生成操作= GoogleService.json

  1. I以“Debug”的形式运行该项目.

对问题的描述:该项目已经成功地组装和运行,但是火基统计中的标准操作并不是固定的: first_open、screen_view、session_start。

对问题的描述:实时部分中的火基统计数据也是空的。

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

开发人员创建nuget包并将其上传到github。一些开发人员编写指令。有些人不写指令。问题是在哪里找指示?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-02-15 18:30:35

添加到MainAvtivity.cs (用于Android)

  1. using Firebase.Analytics;
  2. FirebaseAnalytics firebaseAnalytics;到类MainActivity
  3. to的开头,方法onCreate firebaseAnalytics = FirebaseAnalytics.GetInstance(this);
  4. in,google-service.json文件的属性,在我的包版本中设置build = Google Services.Json
  5. look。这个链接起作用了。我厌倦了拿包裹.

添加到AppDelegate.cs (用于iOS)

在命名空间之前添加以下[assembly: Preserve(typeof(Firebase.Analytics.Analytics), AllMembers = true)]

  • before Firebase.Core.App.Configure();

  • i return base.FinishedLaunching(app, options);的代码Firebase.Core.App.Configure();

  • i use Xamarin.Firebase.iOS.Anatics(6.9.0)

其余的都是按照消防基地对ios的指示。

票数 0
EN

Stack Overflow用户

发布于 2022-01-28 12:14:36

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

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

代码语言:javascript
运行
复制
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);
}

然后为依赖项注入创建平台级别的类。

代码语言:javascript
运行
复制
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
}
}

祝你好运,如果你有任何疑问

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70893263

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档