android - 通过 GCM 向 Android/IOS 推送静默通知

标签 android ios google-cloud-messaging

我正在寻求向应用程序发送状态更新,该应用程序可以(或不)保持沉默。

例如,如果用户从他们的一个 friend 那里收到一条新消息,我想发送这样的消息并能够显示带有声音的警报。

但在静默情况下,我希望用户不要注意到此类通知。它必须由应用程序收集;例如,如果我的用户有两个设备并且他在其中一个设备上更改了他的名字,我想向另一个设备(正在休眠)发送一个静默的名称更新,这应该会在后台触发一个更改(被分派(dispatch)到应用程序)。

根据我读到的内容,这实际上是可能的,但我对它的实际情况或应该如何完成感到很困惑,而且有时会出现一些矛盾。作为后端开发人员,我可以做任何事情,但我需要确保它适用于前端人员。

这里有一些相关的话题:

Silent background push on iOS and Android

Push Notifications without alert

iPhone push notification without alert

Android Silent Push

最佳答案

安卓:

UPDATE: New Documentation for FCM: https://firebase.google.com/docs/cloud-messaging/concept-options#notifications_and_data_messages

只要您不在有效负载中包含 notification 标签并在其中放置 data 标签,您就会收到无提示通知

这个例子会显示一个通知

{ "notification": {
    "title": "Portugal vs. Denmark",
    "text": "5 to 1"
  },
  "to" : "bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1..."
}

这不会显示通知

{
   "to" : "bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...",
   "data" : {
     "Nick" : "Mario",
     "body" : "great match!",
     "Room" : "PortugalVSDenmark"
   },
 }

去这里阅读更多https://developers.google.com/cloud-messaging/concept-options#notifications_and_data_messages

iOS

将标签 contentAvailable: 1 添加到您的 json 有效负载中,您会收到静默通知

就这么简单

关于android - 通过 GCM 向 Android/IOS 推送静默通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36555653/

相关文章:

android - GCM 从谷歌服务器手动注销不起作用

android - 无法启动服务 Intent { act=com.google.android.c2dm.intent.REGISTRATION(有附加功能)} U=0 : not found

android - 关于 GCM 注册的文档不一致

java - 如何在我的 Mapbox 图层的左上角添加导航菜单和抽屉

Android 应用发布 - "No devices supported"

安卓错误: cannot find symbol class ActionBarActivity

ios - Apple 推送通知操作按钮

android - 连接在请求完成之前关闭 - Android ION

ios - 多点连接 : Invalid service type

ios - 从 UIImageView 创建 UIImage