Xamarin 使用 Firebase 形成推送通知

Posted

技术标签:

【中文标题】Xamarin 使用 Firebase 形成推送通知【英文标题】:Xamarin Forms Push Notification with Firebase 【发布时间】:2017-07-18 05:10:49 【问题描述】:

我尝试为 xamarin 表单实现推送通知。首先,我需要完成android解决方案。嗨,我尝试使用其中一个插件(https://github.com/rdelrosario/xamarin-plugins/tree/master/PushNotification),但使用这个 nuget 插件,只有在应用程序打开时才会收到通知(如果应用程序关闭则不会收到)。我认为这是这个插件的一个问题,人们已经报告了,你知道任何其他插件可以为 xamrin 表单推送通知与 firebase 的解决方案?

【问题讨论】:

如果您使用 Android,请检查在您关闭应用程序后是否会重新启动获取推送通知的服务。注意停止调试模式会终止应用程序和服务,服务不会自动重启。 【参考方案1】:

Android 在创建应用时会传递通知信息,所以你必须自己处理: 所以在你的

MainActivity.cs->OnCreate

你必须阅读消息的方法

if (Intent.Extras != null)
        
            try
            
                var myCustomMessage = Intent.Extras.GetString("MyMessage");
            
            catch
            
            
        

Intent.Extras 中的“MyMessage”字符串是我将其放入通知字符串中的字符串,我正在使用 PushSharp 库发送自定义通知。您可以在网上找到如何使用它的信息。但正如我所说,您必须在应用程序启动时自己处理 Intent.Extras;希望这对你有帮助:)

【讨论】:

可以在 xamarin.form 项目中使用 pushSharp 吗? 嗯,我认为没有;它说“服务器端库”。我在服务器端 .net 4.5 webApi 项目中使用了它。所以我正在调用一个rest api来通过它向我的客户发送通知:) 客户端(ios-android)只是接收者(当然他们也可以通过调用rest服务来发送通知)。【参考方案2】:

我最近使用了 Firebase,请按照此链接 https://forums.xamarin.com/discussion/89731/how-to-implement-fcm-in-xamarin-forms 上的说明进行操作。此外,要在应用程序关闭时接收通知,您需要将registrationId 存储在应用程序的本地存储中,xamarin 设置插件可以轻松为您完成此操作。希望这会有所帮助

【讨论】:

以上是关于Xamarin 使用 Firebase 形成推送通知的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Firebase 在 Xamarin 中实现推送通知和使用 C# 后端的 Apple 推送通知

如何在 Xamarin.iOS 中使用 FCM(Firebase 云消息传递)发送 iOS 推送通知

通过 FireBase 触发从 ASP.Net Api 到 Xamarin.Android 应用程序的推送通知

Xamarin Forms 2.3.3.175 和 Xamarin.Firebase.Messaging 不可能?

如何将 Firebase 消息传递到 Xamarin.Android 应用程序?

Xamarin.Forms - 适用于 iOS 和 Android 的推送通知