Azure Hub通知无法发送到FCM

时间:2017-03-16 12:13:06

标签: azure xamarin notifications xamarin.android azure-notificationhub

通过Azure通知中心,当源为Azure时,我收到通知时遇到问题。我按照本教程的步骤操作: 的 https://developer.xamarin.com/guides/android/application_fundamentals/notifications/remote-notifications-with-fcm/

此时,在遇到与nuget依赖项冲突的一些问题后,我通过Firebase控制台正确收到了通知。但是,Azure通知中心的“测试发送”选项似乎发送了消息,但设备未收到通知。

按照其他教程使用FCM服务发送Azure通知 https://docs.microsoft.com/en-us/azure/notification-hubs/notification-hubs-android-push-notification-google-fcm-get-started ,在Xamarin.Android中似乎无法实现某些步骤,例如在build.gradle中添加依赖项。

如何将这些更改合并到Xamarin.Android项目中?

1 个答案:

答案 0 :(得分:1)

杰拉德,

从Azure Notification Hubs中的Firebase控制台和“测试发送”选项发送邮件时,您获取邮件内容的方式会有所不同。

正如您在Xamarin turorial with FCM中看到的,要获取消息内容,我们会执行以下操作:

public override void OnMessageReceived(RemoteMessage message)
{
    Log.Debug(TAG, "From: " + message.From);
    Log.Debug(TAG, "Notification Message Body: " + message.GetNotification().Body);
}

但是,使用“测试发送”时它不起作用,因为GetNotification()将为空。

使用测试发送时,我们发送以下有效负载:

{"data":{"message":"Notification Hub test notification"}}

现在如何获取您的信息?如果您查看RemoteMessage,您会注意到以下Data媒体资源:public IDictionary<string, string> Data { get; }

您可以使用Data属性检索邮件,如下所示:

public override void OnMessageReceived(RemoteMessage remoteMessage)
{
    Log.Debug(TAG, "From: " + remoteMessage.From);

    if (remoteMessage.Data.ContainsKey("message"))
    {
        Log.Debug(TAG, "Notification Message: " + remoteMessage.Data["message"]);
    }
}