我正在关注如何将Firebase连接到Xamarin Android应用以使用推送通知的一些教程(如下所示)。我的团队已经开始工作,但在iOS工作并返回Android推送通知后,我注意到它有问题。
以下是有问题的部分:
private string GetFirebaseInstanceId()
{
FirebaseApp.InitializeApp(this);
var FCMToken = FirebaseInstanceId.Instance.Token;
if (string.IsNullOrEmpty(FCMToken))
{
return null;
}
Log.Debug(Tag, $"FCM Registration Token: {FCMToken}");
return FCMToken;
}
尝试获取令牌时,我收到此错误“Java.Lang.IllegalStateException:默认FirebaseApp未在此过程{packageName}中初始化。请务必先调用FirebaseApp.initializeApp(Context)。”
这就是为什么我在尝试获取令牌之前添加了FirebaseApp.InitializeApp(this),但它没有任何区别。我也尝试在Spash活动和Main活动中执行此操作,但它没有解决问题。
我还确保google-services.json的构建操作是GoogleServicesJson。
至于我所做的代码更改,以下是我认为可能相关的一些值得注意的代码:
我检查了包含上面剪切的文件的历史记录,并且没有更改特定方法。
这里有一些我遵循的教程:
如何正确检索FCM注册令牌?
答案 0 :(得分:2)
令人惊讶的是,我主要不得不撤消我为修复问题而做出的一些待定更改,然后清理并构建解决方案。我还在主要活动中添加了FirebaseApp.InitializeApp(this)
。