我们正在尝试在我们的iOS应用上集成GCM消息。我们使用主题消息传递将消息发送到订阅同一主题的一组设备。
在开发期间,我们注意到启用“content_available”标志让应用程序接收通知,而在后台我们收到的消息缺少主题名称,因此如果应用程序订阅了多个主题,我们无法确定哪个主题是邮件的发件人。
使用HTTP API发送通知:
{
"to":"/topics/user_5",
"data":{"action":"sync","what":"user"},
"collapse_key":"866c9b6f36461511697a5089fe4b0d8e",
"delay_while_idle":true
}
在iOS上收到通知:
{
action = sync;
"collapse_key" = 866c9b6f36461511697a5089fe4b0d8e;
from = "/topics/user_5";
what = user;
}
使用HTTP api发送的通知,其中“content_available”标志设置为true:
{
"to":"/topics/user_5",
"data":{"action":"sync","what":"user"},
"collapse_key":"866c9b6f36461511697a5089fe4b0d8e",
"content_available":true,
"delay_while_idle":true
}
在iOS上收到通知:
{
action = sync;
aps = {
"content-available" = 1;
};
"gcm.message_id" = "0:1436954611368845%1f9e30f91f9e30f9";
what = user;
}
是预期的行为还是GCM错误?有没有其他人在同样的事情上挣扎?