c# - Xamarin Firebase 推送通知 - 在 Android 上收到间歇性重复推送通知
问题描述
我的 Android APP 是用 C# 编写的,它使用 Azure 推送通知服务通过 Firebase (FCM) 向 Android 发送推送通知,通过 Apple Push 服务向 iOS 发送推送通知。安装应用程序时会发生推送通知注册(该应用程序还删除了所有以前的注册)。
iOS 上的推送通知运行良好。
在 Android 上,有时它会收到重复的通知:
- 间歇性(不总是)
- 仅在某些设备上
- 当应用程序处于前台、后台、被杀死时,在所有情况下都会发生
- 同时收到重复通知
并且根据我的数据库记录,我确定应用程序只发出 1 条通知。我怀疑注册过程导致了 FCM 中的重复令牌。但后来我发现复制突然发生了,设备上没有发生任何新的卸载/安装。
请问有什么想法吗?这花了我很多时间。
解决方案
我也有同样的问题。为了解决这个问题,在您注册通知中心之前,取消注册之前属于该设备的标签,
await Task.Run(() =>
{
hub.Unregister();
});
然后您再次向通知中心注册。
推荐阅读
- c# - XML 到 JSON 有序列表
- python - Django 3.2 将 AutoField 更新为 BigAutoField 向后兼容外键关系
- powershell - PnP PowerShell 更新列表项
- javascript - 如何在 React 的一个 onClick 事件中处理多个布尔状态;
- substrate - 在基板中实现类似 Raft/PBFT 的(授权节点之间的领导者选举)共识算法是否可行?
- java - Vertx JDBC NoSuchMethodError 'java.sql.Connection io.agroal.api.transaction.TransactionIntegration.getConnection()'
- node.js - 在nestjs中使用nodejs依赖或库
- python - 让 Python 检测声音
- aws-sdk-js - GetEntitlementsCommand 因 TypeError 失败:联合必须只有一个非空成员。键 EntitlementValueType、IntegerValue 不为空
- android - 如何使用 Android Studio 设置支持 Google Play 的 Android 虚拟设备?