【问题标题】:FCM iOS - Remove Older Push Notifcation Tiles when a new Push Notiifcation is recievedFCM iOS - 收到新的推送通知时删除旧的推送通知图块
【发布时间】:2017-12-22 20:27:11
【问题描述】:

我已经在 Xamarin Forms 中实现了 FCM,并且按预期工作。但是我想在收到新推送时从通知托盘中删除所有通知。

我可以在 Android 中用 Tag 键做同样的事情,如何在 iOS 上实现同样的效果。

有人可以帮我解决这个问题吗?

【问题讨论】:

  • 您不能直接删除通知托盘中的通知。一旦您点击通知,所有通知将从列表中删除。

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


【解决方案1】:

在您的 AppDelegate 中试试这个:(swift 版本,不确定 xamarin)

func application(_ application: UIApplication, didReceiveRemoteNotification data: [AnyHashable : Any]) {

     UIApplication.shared.applicationIconBadgeNumber = 0
}

【讨论】:

  • 您是在用户打开应用时尝试删除通知徽章,还是在应用处于后台时尝试将其删除?
  • 当应用程序处于后台时,就像收到通知一样,再次收到通知,因此用户应该只看到收到的最后一条消息。
  • 另外,IconBadge 数字仅在应用图标上显示计数
  • 我认为不打开应用程序就无法删除徽章,如果用户丢弃托盘中的通知,您应该看看是否可以删除徽章
  • 我不想删除徽章,我想删除通知托盘中的旧通知。
【解决方案2】:
func applicationDidBecomeActive(_ application: UIApplication) {

        UIApplication.shared.applicationIconBadgeNumber = 0 //will remove all badge count
    }

【讨论】:

  • 这并没有提供问题的答案。要批评或要求作者澄清,请在他们的帖子下方留下评论。 - From Review
  • 请在应用每次激活时将徽章计数设置为 0
【解决方案3】:

目标 C

 -(void)applicationDidBecomeActive:(UIApplication *)application
{
    application.applicationIconBadgeNumber = 0;
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-04-22
    • 1970-01-01
    • 2020-04-21
    • 1970-01-01
    • 2021-02-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多