Android 安卓静默推送通知
我们认为Android的推送通知在默认情况下是静默通知,并且必须是以编程方式在屏幕上发出通知的开发人员。或者推送通知在默认情况下不是静默的 今天,我们使用我们的应用程序从GCM服务器接收的JSON结构进行工作Android 安卓静默推送通知,android,push-notification,google-cloud-messaging,android-notifications,firebase-cloud-messaging,Android,Push Notification,Google Cloud Messaging,Android Notifications,Firebase Cloud Messaging,我们认为Android的推送通知在默认情况下是静默通知,并且必须是以编程方式在屏幕上发出通知的开发人员。或者推送通知在默认情况下不是静默的 今天,我们使用我们的应用程序从GCM服务器接收的JSON结构进行工作 { "data": { “Type” : “2”, “_dId” : “3718829”, “_mId” : “9924012”, “_
{
"data":
{
“Type” : “2”,
“_dId” : “3718829”,
“_mId” : “9924012”,
“_msg” : “HOLA JVE”,
“collapse_key” : “9924012”
},
"to" : "xxxxxxxxxxxxxxxxxxxxxxxxxxx"
}
此结构是否对静默通知有效,还是存在其他结构?
的确,我们在这个话题上迷失了方向。在这个问题之后,是否有人拥有带有消息和标题标记的Android推送通知的json结构
其他问题:当向用户显示静默通知时?当用户打开应用程序时,或者当用户解锁手机时?在Android上,与iOS不同,应用程序负责创建和显示推送通知。所以,是的,你可以认为默认情况下它们是沉默的,尽管你在Android上并不完全有这个概念 我通常做的是,如果通知不应显示,则添加一个
静默
字段。例如:
{
"to" : "bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...",
"notification" : {
"body" : "Will not show this message",
"title" : "Portugal vs. Denmark",
"icon" : "myicon"
"silent": "true"
}
}
然后,您可以根据
if
语句使用静默字段显示或不显示通知。在Android上,与iOS不同,应用程序负责创建和显示推送通知。所以,是的,你可以认为默认情况下它们是沉默的,尽管你在Android上并不完全有这个概念
我通常做的是,如果通知不应显示,则添加一个静默
字段。例如:
{
"to" : "bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...",
"notification" : {
"body" : "Will not show this message",
"title" : "Portugal vs. Denmark",
"icon" : "myicon"
"silent": "true"
}
}
然后,您可以根据if
语句使用静默字段来显示或不显示通知
或者推送通知在默认情况下不是静默的
在Android中接收通知有两种方式,一种是通知托盘,另一种是您自己在onMessageReceived()
中处理通知,具体取决于您使用的有效负载(notification
或Data
)
根据您的询问(无声推送通知),我猜您更喜欢后者,因为您可以自己处理。根据:
当您希望GCM代表您的客户端应用程序处理显示通知时,请使用通知当您希望应用程序处理Android客户端应用程序上的显示或处理消息时,请使用数据消息
因此,您当前正在使用的(数据有效负载)应该可以。但是,如果你在你的有效载荷中有<强> > <>代码>通知< /代码>和<代码>数据< /代码>,你将不得不考虑你的应用程序的状态。参照此,对于数据
有效载荷:
App state Notification Data Both
Foreground onMessageReceived onMessageReceived onMessageReceived
Background System tray onMessageReceived Notification: system tray
Data: in extras of the intent.
…有谁拥有Android推送通知的json结构以及消息和标题标签吗 正如我在上面链接的文档中提到的: 数据消息只有自定义键/值对 因此,我认为只要不是保留字,就可以安全地使用按键,如本文所述: 关键字不应是保留字(“from”或任何以“google”或“gcm”开头的字)。不要使用此表中定义的任何单词(如collapse_key)
当向用户显示静默通知时?当用户打开应用程序时,还是仅当用户解锁手机时 我想我上面提到的几乎涵盖了这一部分(见表) 或者推送通知在默认情况下不是静默的 在Android中接收通知有两种方式,一种是通知托盘,另一种是您自己在
onMessageReceived()
中处理通知,具体取决于您使用的有效负载(notification
或Data
)
根据您的询问(无声推送通知),我猜您更喜欢后者,因为您可以自己处理。根据:
当您希望GCM代表您的客户端应用程序处理显示通知时,请使用通知当您希望应用程序处理Android客户端应用程序上的显示或处理消息时,请使用数据消息
因此,您当前正在使用的(数据有效负载)应该可以。但是,如果你在你的有效载荷中有<强> > <>代码>通知< /代码>和<代码>数据< /代码>,你将不得不考虑你的应用程序的状态。参照此,对于数据
有效载荷:
App state Notification Data Both
Foreground onMessageReceived onMessageReceived onMessageReceived
Background System tray onMessageReceived Notification: system tray
Data: in extras of the intent.
…有谁拥有Android推送通知的json结构以及消息和标题标签吗 正如我在上面链接的文档中提到的: 数据消息只有自定义键/值对 因此,我认为只要不是保留字,就可以安全地使用按键,如本文所述: 关键字不应是保留字(“from”或任何以“google”或“gcm”开头的字)。不要使用此表中定义的任何单词(如collapse_key)
当向用户显示静默通知时?当用户打开应用程序时,还是仅当用户解锁手机时 我想我上面提到的几乎涵盖了这一部分(见表)