我正在使用 Xamarin 和 Xamarin.Forms 开发 Android 应用程序。对于推送通知,我使用 Xamarin.Firebase (v 42.1001.0)。我在这里遵循示例实现:https://github.com/xamarin/GooglePlayServicesComponents/tree/master/firebase-messaging/samples
但是如果我实现这个,我只会得到一个 token ,我不能在 firebase 控制台中使用它。它说,没有注册具有此 token 的设备。但是设备可以订阅主题,主题会在一段时间后出现在控制台中。所以我从 firebase 导入的配置文件一定是正确的。我的 firebase 消息接收器永远不会被调用。如果重新安装应用程序,则只有我的 FirebaseInstanceIdService 的 OnTokenRefresh。
我还将我的开发机器的指纹添加到 firebase 控制台。
最佳答案
我知道问这个问题已经有一段时间了,但我最近遇到了同样的问题。所以我想,不妨分享一下我的发现。
请注意,我使用的是 Visual Studio 2017 Enterprise,虽然我认为这与解决方案没有任何关系,但我认为最好事先提及。截至目前,我已经在 Android 上成功测试了 FCM,因此虽然此解决方案适用于 Xamarin Forms,但我现在仅发布适用于 Android 的解决方案。完成测试后,我将添加适用于 iOS 的解决方案。
您必须在开始之前创建一个 Firebase 项目,因此我建议您引用此链接 Xamarin Documention : FCM
安卓:
创建一个空白的 Xamarin 表单解决方案。打开 Android 项目并添加此 Nuget 包 Xamarin.Firebase.Messaging .这将为您添加所有必要的包。一旦你添加了这个,接下来包括 google-services.json 来自 Firebase 控制台的文件。有关这方面的更多信息,请访问此 link .现在在您的 AndroidManifest 文件中添加以下权限
<permission android:name="${applicationId}.permission.C2D_MESSAGE" android:protectionLevel="signature" />
<uses-permission android:name="${applicationId}.permission.C2D_MESSAGE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
${applicationId} 将替换为您的应用程序包名称。
您可以按照教程 here 中提供的其余步骤进行操作
你应该很好。
关于android - Xamarin.Forms 和 FCM 实现不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43171768/