1.推送的时候需要预判对方是IOS还是安卓么?
一开始自己没有判断,就一股脑把cid和token都传上去了,结果经常造成传给安卓设备失败(deviceTokenError)
看了下html5+里的push demo服务端里这样判断:
if(empty($token)||empty($content)||isOnline($cid)){
pushMessageToSingle(createTranMessage($payload), $cid);
}else{
apnMessageToSingle($token, $content, $payload);
}
心想了下,貌似必须在客户端就判断好目标用户是IOS还是安卓设备,IOS就只传token,安卓就只传cid,
要不没办法完成。
2.我在接受端里的receive和click事件都能监听到,但是里面的一些代码比如List.appendChild(li);不会执行,猜测是List这个dom还没加载完毕,怎么能保证dom已加载完毕呢?
4 个回复
Danny - QQ125904483
推送的文档已经写的很明白了:
http://ask.dcloud.net.cn/docs/#http://ask.dcloud.net.cn/article/34
把自己APP推送的场景放到文档里面推敲几遍。
receive和click事件可以监听到但无法操作DOM,那就监听时不要操作DOM,页面加载完成后在处理DOM相关的。
蔡繁荣 - 发表是最好的记忆
我是有做判断,因为android和iOS的消息机制有点不同,所以需要根据不同的设备推送不同类型的push。
我勒个去
问题一 我告诉你,直接发送透传消息,别去判断是否在线。个推会处理。ios离线会走apns
小闹
个推iOS需要填写额外参数,你可以在app中获取终端类型,服务器根据android、iOS走不同的参数流程