【问题标题】:Xamarin.Forms and FCM implementation not workingXamarin.Forms 和 FCM 实现不起作用
【发布时间】:2017-08-27 13:27:05
【问题描述】:

我正在使用 Xamarin 和 Xamarin.Forms 开发一个 Android 应用程序。对于推送通知,我使用的是 Xamarin.Firebase (v 42.1001.0)。我在这里遵循了示例实现:https://github.com/xamarin/GooglePlayServicesComponents/tree/master/firebase-messaging/samples

但是如果我实现了这个,我只会得到一个令牌,我不能在 firebase 控制台中使用它。它说,没有注册具有此令牌的设备。但是设备可以订阅主题,这些主题会在一段时间后出现在控制台中。所以我导入的来自firebase的配置文件必须是正确的。而且我的 firebase 消息接收器永远不会被调用。如果重新安装应用程序,则只有我的 FirebaseInstanceIdService 的 OnTokenRefresh。

我还将开发人员机器的指纹添加到了 Firebase 控制台。

【问题讨论】:

    标签: android firebase xamarin.android xamarin.forms firebase-cloud-messaging


    【解决方案1】:

    我知道这个问题被问到已经有一段时间了,但我最近遇到了同样的问题。所以我想,不妨分享一下我的发现。

    您知道我使用的是 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 中提供的其余步骤进行操作

    你应该很好。

    【讨论】:

    • 您好,谢谢!几天前我已经可以解决这个问题了。我刚刚更新了 FCM 库,它按预期工作 - 没有任何代码更改。 :-)
    • @Mahadev - 请分享您的 ios 推送通知以获取 xamarin poc 详细信息。
    猜你喜欢
    • 2023-04-07
    • 1970-01-01
    • 1970-01-01
    • 2019-07-04
    • 2014-11-09
    • 2017-11-02
    • 1970-01-01
    • 2021-02-09
    相关资源
    最近更新 更多