【发布时间】:2021-10-15 16:06:25
【问题描述】:
我一直在关注this 教程,并且已经达到了能够接收推送通知的程度(目前仅适用于 android)。我的代码几乎与教程的相同。我现在正在寻找扩展功能。在本教程中,当应用程序接收到RemoteMessage 对象时,它会从数据中解析出“动作”值。然后它将该字符串传递给触发操作的NotificationActionService。
public override void OnMessageReceived(RemoteMessage message)
{
if (message.Data.TryGetValue("action", out var messageAction))
NotificationActionService.TriggerAction(messageAction);
}
这样做的缺点是它传递给程序其余部分的唯一信息是动作的名称。我想添加更多信息。我通常会在TriggerAction 方法中添加另一个参数,但INotificationActionService 的实现非常复杂。我想知道它是否是出于某种原因,或者我是否可以在OnMessageReceived 中处理我的消息。让我犹豫要不要更改的是,这个操作字符串也在启动时从Intent 中提取,我不确定这是否会破坏它。我不完全确定 android Intent 是如何工作的,但 RemoteMessage 和 Intent 都需要字典中的这些额外数据。
那么,修改本教程以允许在推送通知中传递额外上下文的最佳方法是什么?
【问题讨论】:
标签: xamarin push-notification firebase-cloud-messaging azure-notificationhub