создал проект по одному сигналу.
Я могу отправить php уведомление на мой телефон.
Проблема возникает, когда приходит более одного уведомления. Новое уведомление заменяет предыдущее уведомление (еще не прочитано).
Как вы получаете вместо этого сказать, что Android имеет 2 непрочитанных уведомлений?
Я постараюсь написать то же самое android_group
но уведомление никогда не складывается, а новейшие продолжают заменять прежние.
Это мой код:
<?php
function sendMessage(){
$content = array(
"en" => 'text message test'
);
$fields = array(
'app_id' => "XXxxxxXX-xxxxXX-XXxxX-Xxxx-XxxxXXx",
'included_segments' => array('All'),
'data' => array("foo" => "bar"),
'headings' => array("en" => "Test message!!"),
'android_group' => 'TESTGROUP',
'android_group_message' => array("en" => "message"),
'contents' => $content
);
$fields = json_encode($fields);
print("\nJSON sent:\n");
print($fields);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://onesignal.com/api/v1/notifications");
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json',
'Authorization: Basic xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_HEADER, FALSE);
curl_setopt($ch, CURLOPT_POST, TRUE);
curl_setopt($ch, CURLOPT_POSTFIELDS, $fields);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
$response = curl_exec($ch);
curl_close($ch);
return $response;
}
$response = sendMessage();
?>
Как я могу решить эту проблему?
android_group
используется для включения накопления уведомлений, работает только для приложений Android.
Если вы работаете в Интернете с Chrome для Android, ожидаемое поведение замены не настраивается. Такое же поведение на Chrome для рабочего стола и Firefox.
Также обратите внимание android_group_message
должен содержать $ [notif_count], чтобы было видно количество непрочитанных сообщений. пример
array("en" => "You have $[notif_count] new messages")
Других решений пока нет …