问题标签 [silentpush]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
264 浏览

ios - iOS 11.2.5 - didRegisterForRemoteNotificationWithDeviceToken - 无响应

从 OS 11.2.5 开始,我的设备无法注册远程通知(例如,出于静默推送的目的。我在以下代码行中实现了注册过程:

此外,如您所知,您需要实现以下两种方法,以便在 Apple 注册远程通知:

所以我的问题如下:此实现一直有效,直到 Apple OS 更新 11.2.4:didRegisterForRemoteNotificationsWithDeviceToken注册设备后成功调用,如果出现错误,didFailToRegisterForRemoteNotificationsWithError则调用其他方法 -> 一切都很完美!

但从 OS 11.2.5 开始,我再也没有得到 Apple 的回应。我花了很多时间研究这个问题。在 Apple 发布 OS 11.2.6 之后,它又像魅力一样工作了 -> 我完全糊涂了。

有人知道这是否是 OS 11.2.5 中的一个已知问题?- 谢谢亚历克斯

0 投票
1 回答
848 浏览

ios - 禁用特定时间间隔的推送通知 iOS

是否可以通过应用程序禁用(不获取/显示)推送通知。我知道,我们可以随时注册或取消注册推送通知,但在我的应用程序中,用户可以选择他想要获取通知的特定时间范围。

例如:如果用户选择time-range 5-6 PM,那么应用程序应该只在下午 5 点到 6 点之间显示通知,并且如果它们在时间范围之外发送,则不应显示/接收/拒绝通知time<5 and time>6

可能吗?有什么解决方法silent-notifications吗?例如,我收到通知并可以通过应用程序修改有效负载,使用通知服务扩展将其转换为静默通知?

请帮忙!

0 投票
2 回答
3793 浏览

android - 使用 OneSignal 的静默推送通知和正常推送通知

是否可以使用 OneSignal 在一个 Android 应用程序中同时实现静默推送通知和正常推送通知?

我已经分别检查了静默通知和正常通知,但不能一起实现。

我该如何解决这个问题?

0 投票
1 回答
639 浏览

ios - iOS 11.2.6 中未处理静默推送通知

我正在尝试Silent Push Notification在我的应用程序中定期实施,即每天一次将数据上传到服务器。
但在iOS 11.2.6上,它始终无法调用委托方法

completionHandler无声推送通知。

在设备日志中,我可以看到收到了静默推送通知,但应用程序启动被取消DuetActivitySchedulerDaemon(根据日志)。

你能帮我解决这个问题吗?以下是设备的日志。

它确实在其他操作系统中工作了一段时间,并完全停止直到下一次启动。

0 投票
1 回答
1546 浏览

ios - 如何在后台处理/存储推送内容到核心数据?

在我的应用程序中,我们有一个功能可以将从推送通知接收到的内容存储到本地核心数据,并且在后台状态下面临数据丢失问题,

我们遵循的步骤:

1 - 在 didReceiveRemoteNotification 方法中收到推送。

2 - 从核心数据中插入新数据(所有核心数据进程仅在单个类和单个上下文中处理)

3 - 在屏幕上,从核心数据中读取所有保存的列表并显示。

案例:

1 - 前景:它工作正常 - 数据存储并且可以读取所有数据。

2 - 关闭状态(退出):用户强制关闭应用程序,我们从 Web API 读取数据以获取基于上次时间戳的所有列表。

3 - 背景:

这里有两种情况,我们确定content_available在 xcode 中添加和启用了“后台模式”。请检查

背景模式

1 - 应用程序未在后台运行,但我们使用content_availableFCM 推送通知中添加的 100% 确定密钥,因此应用程序应带后台模式silent push notification -> if app is suspended then the system wakes up or launches your app and puts it into the background running state

2 - 应用程序处于挂起状态 - 如何知道应用程序进入挂起状态或本地数据库未能将数据存储到主上下文。

我们在进行中调用 saveContextapplicationDidEnterBackground并收到每个推送(插入成功时)。

请分享是否有任何解决方案/任何其他可能性来处理本地存储的推送内容,如后台获取(但我们的应用程序需要在收到推送时定期更新,与实时聊天相同)

如果需要更多信息,请告诉我。

谢谢!

注意:斯威夫特 3.3

更新

在 iOS 11 中,不会在后台调用 Push 委托方法,这是导致上述问题的原因。

iOS 10 -> 工作正常

不适用于 iOS 11,但我们可以在调试模式下接收委托方法的推送。

任何想法?

[AnyHashable("gcm.notification.type"): 0, AnyHashable("gcm.notification.msg"): {"extraType":"Text","content":"测试声音"}, AnyHashable("gcm.message_id "): 0:1531860472186830%c52fb209c52fb209, AnyHashable("google.cae"): 1, AnyHashable("aps"): { alert = { body = "text body"; 标题 = "Gopi k"; }; 徽章 = 2; “内容可用”= 1;声音=默认;}]

任何想法,为什么没有调用代表,因为我们已经添加 "content-available" = 1了推送消息。

谢谢!

0 投票
1 回答
1063 浏览

ios - 当应用程序被用户杀死时,WhatsApp 如何处理 iOS 上的静默推送通知?

据我所知,application:didReceiveRemoteNotification:fetchCompletionHandler:当用户通过多任务 UI 杀死应用程序时,不会调用静默推送通知。但是在查看 WhatsApp 的行为时,我不明白他们是如何做到以下几点的:

  • 使频道静音
  • 强制退出 WhatsApp
  • 在静音频道接收消息
  • 显示徽章
  • 更令人惊讶的是=>
  • 不启动 WhatsApp,启动飞行模式
  • 现在启动 WhatsApp => 文本显示在正确的位置

这意味着尽管应用程序被杀死,WhatsApp 以某种方式管理它来处理推送通知的接收。有谁知道怎么做?与.badge, .alert, ...?

0 投票
2 回答
1618 浏览

ios - iOS 静默推送通知已取消

在我的应用程序中,我使用静默推送通知来定期通信,但我遇到了麻烦,因为我在未启动应用程序时收到的静默推送通知没有得到处理。操作系统版本为 iOS12。我正在使用 FCM 发送推送通知。有没有人有同样的问题?

以下是您收到通知静默推送通知时的控制台日志。

0 投票
1 回答
2474 浏览

ios - 当我在 iOS 应用程序上收到静默推送通知时,如何启动应用程序或来电 UI?

我正在尝试使应用程序在收到无提示通知时启动应用程序或来电 UI。

目前我有通知工作,我可以在收到通知时发送通知并打印日志

此函数处理通知的接收:

是否可以在此功能中打开应用程序或来电 UI?

0 投票
1 回答
1439 浏览

push-notification - 为什么我在 iOS 13 中的应用程序在被用户终止时通过静默推送在后台唤醒

我不知道这是否是Apple的错误或功能。在文档中

如果用户强制退出,系统不会自动启动您的应用程序。在这种情况下,用户必须重新启动您的应用程序或重新启动设备,然后系统才会再次尝试自动启动您的应用程序。

正如其他 StackOverflow 问题一样, 显示相同。

在我的情况下,系统在后台重新启动应用程序并运行代码以存储在数据库中。怎么可能?它调用方法 didFinishLaunchingWithOptions: 然后didReceiveRemoteNotification:在后台(应用切换器中未显示)。但在早期版本中,它不会唤醒在 iOS 12.2 中测试的后台应用程序

我正在发送有效载荷以进行通知

0 投票
1 回答
122 浏览

node.js - iOS13 无声推送

我浏览了苹果文档,他们做了一些与静默推送相关的更改。我们必须添加apns-push-type标题,还apns-priority应该提到 5。我做了这些更改,正常推送工作正常,但在静默情况下,我没有收到任何推送,我的意思是didReceiveRemoteNotification这个方法不会被调用。我也试过没有apns-priority标题但没有用。

我在服务器端使用 tls 连接,上面的代码是服务器端,同时创建套接字连接。请让我知道我做错了什么。