О проблеме не получения сообщений на телефонах oppo и xiaomi
Информация о приложении, нажатой OPPO, может быть получена только после онлайн.
О мобильном телефоне Huawei, продвигающем проблему, производители офлайн-каналов терпят неудачу
Когда платформа Huawei создает права PUSH, необходимо заполнить сертификат отпечатка пальца sha256.
И push-тест Huawei должен быть упакован с собственным сертификатом; (канал Huawei имеет проверку сертификата отпечатка пальца sha256)
Заполните отпечаток пальца сертификата платформы sha256 Huawei, как показано на рисунке:
Вопросы о push-мониторинге
Существует два типа push-сообщений: 1: уведомление 2: прозрачное сообщение
(1) сообщение push-уведомления, центр сообщений будет отображаться, щелкните уведомление, чтобы запустить (активировать) приложение для запуска на переднем плане, событие триггера «щелчок».
(2) Нажатие прозрачных данных может реагировать на щелчок и получение.
-
Формат отправки прозрачных данных — стандартный формат ({title:"заголовок уведомления",content:"содержание уведомления",payload:"тест уведомления"}), который будет отображаться в центре сообщений, и когда пользователь щелкает этот сообщение, оно будет реагировать на событие щелчка и реагировать только на событие щелчка.
-
Отправляемые прозрачные данные не в стандартном формате и текущее приложение активно, и при одновременном выполнении этих условий на событие приема можно отреагировать, и оно не будет отображаться в центре сообщений.
Резюме:
-
Инициировать событие клика: отправить прозрачные данные в стандартном формате, которые будут отображаться в центре сообщений.
-
Инициировать событие получения: отправить прозрачные данные в нестандартном формате и применить к действию, и они не будут отображаться в строке состояния сообщения.
ios:
-
В сети: может отвечать только на получение и не будет отображать push-уведомления в центре системных сообщений.
-
Автономный режим: используйте канал Apple APNS для отправки push-уведомлений и отображения их на панели системных уведомлений после их получения телефоном.Нажмите на сообщение, чтобы запустить приложение (если оно уже запущено, переключитесь с фона на передний план), и одновременно вызвать событие «щелчок».
Андроид:
-
Онлайн (доступен push-канал Gezui): и push-уведомления, и прозрачные сообщения используют push-канал GeTui для доставки push-сообщений.
-
В автономном режиме (канал кадров недоступен): если мобильный телефон производителя соответствует нажатию производителя (настройки производитель мобильных телефонов настраиваются и находятся на мобильном телефоне соответствующего производителя), Push-канал производителя используется для отправки Push Message; в противном случае используется автономный толчок производителя. Канал, автономные сообщения будут храниться в сообщении в автономном библиотеке, и приложение отправит Push-сообщения после того, как в автономном режиме будет онлайн.
plus.push.setAutoNotification(true)
//【APP在线】,收到透传消息通过,不会提醒至通知栏目,需要发送本地消息,再进行点击触发的点击事件。
//【APP离线】,收到离线透传消息,必须通过Java后台的Intent字符串携带payload,且符合格式才能触发click事件,格式不符合不会触发
plus.push.addEventListener("click", function(msg) {
var payload;
console.log("addEventListener click:" + JSON.stringify(msg));
if (isIOS) {
//APP离线点击包含click属性,这时payload是JSON对象
if (msg.type && msg.type == "click") {
payload = msg.payload;
} else {
//APP在线,收到消息不会包含type属性,这时的payload是JSON字符串,需要转为JSON对象
payload = JSON.parse(msg.payload);
}
navigateTo(payload)
} else {
payload = JSON.parse(msg.payload);
if (typeof payload === "string") {
payload = JSON.parse(payload)
}
navigateTo(payload)
}
}, false);
plus.push.addEventListener('receive', function(msg) {
console.log("addEventListener receive:" + JSON.stringify(msg));
if (isIOS) {
//【APP离线】收到消息,但没有提醒(发生在一次收到多个离线消息时,只有一个有提醒,但其他的没有提醒)
//【APP在线】收到消息,不会触发系统消息,需要创建本地消息,但不能重复创建。必须加msg.type验证去除死循环
if (!msg.aps && msg.type == "receive") {
//创建本地消息,发送的本地消息也会被receive方法接收到,但没有type属性,且aps是null
plus.push.createMessage(msg.content, JSON.stringify(msg.payload), { title: msg.title });
}
} else {
//如果是Android,当APP在线时,收到透传消息不会进入系统消息,需要发送本地提醒。
plus.push.createMessage(msg.content, JSON.stringify(msg.payload), { title: msg.title });
}
});
В этой статье используетсяmdniceнабор текста