【问题标题】:Are push notifications delivered to android phones after its disabled in settings?在设置中禁用后,推送通知是否会发送到 Android 手机?
【发布时间】:2017-08-16 18:33:31
【问题描述】:
我假设当我们禁用通知时,android os 会将这些设置传达给 fcm/gcm 服务器。
【问题讨论】:
标签:
android
firebase
push-notification
google-cloud-messaging
android-push-notification
【解决方案1】:
在 Android 中,如果我们使用操作系统设置禁用应用通知,
fcm/gcm 还会向设备发送通知吗?
是的,
如果它被传递到设备,通知将被传递到
应用程序?还是操作系统阻止了它?
是的,
device_token 失效了吗?
没有。
“推送通知”,在 FCM/GCM/等方面,与“应用通知”是不同的概念。
系统设置中的“通知”屏幕仅显示允许或不允许使用NotificationManager 在系统托盘中弹出通知的应用程序。这在系统进程中的NotificationManager 级别被阻止,并且不会与应用程序通信。推送通知可以被认为是一种简单的网络通信形式,与是否允许应用在托盘中显示通知无关。
GCM 仍将通过网络进行通信并将推送消息传递给应用程序,操作系统不会阻止它(OS,又名 Android 的 system_server,它本身实际上并没有参与 GCM ),您应用的device_token 不会失效。
【解决方案2】:
在 Android 中,如果我们使用操作系统设置禁用应用通知,fcm/gcm 是否仍会将通知发送到设备?
是的。 GCM/FCM 服务器无法确定设备是否已禁用相应应用的通知。只要设备是消息的目标,GCM/FCM 就会传递消息。
如果发送到设备,通知会传递到应用程序吗?还是操作系统阻止了它?
FCM for Android 的工作方式因您发送的消息负载类型而异。但是,取决于设备,通常在禁用通知时,无论通知类型如何,都会被操作系统阻止。
device_token 失效了吗?
没有。
我假设当我们禁用通知时,android os 会将这些设置传达给 fcm/gcm 服务器
没有。