Ответ 1
Значение приоритета 10 - это правильная вещь, но она не работает с версией Android M, выпущенной при вводе/выводе. Он исправлен, и приоритетные 10 сообщений будут работать, как и ожидалось, в публичном выпуске.
Я использую Nexus 5 с Android M Preview.
Моя проблема, которую я пытаюсь решить, заключается в следующем:
Доступ к сети отключен, если ваше приложение не получает высокий приоритет Google Cloud Messaging щекочет.
Что я делаю:
Я помещаю телефон в режим "Дозирование", а затем отправляю push-уведомление с приоритетом со значением 10, и я ожидаю, что у вас будет доступ в Интернет на короткое время, но это не работает.
Должен ли я использовать другие типы уведомлений? Есть ли уже имеющаяся документация?
Спасибо.
Изменения Android M: https://developer.android.com/preview/behavior-changes.html
Что я нашел о сообщениях о приоритете GCM: https://developers.google.com/cloud-messaging/server-ref
Значение приоритета 10 - это правильная вещь, но она не работает с версией Android M, выпущенной при вводе/выводе. Он исправлен, и приоритетные 10 сообщений будут работать, как и ожидалось, в публичном выпуске.
Фактически, это связано с версией Google Play Services, а не версией для Android. Используйте "высокий" для приоритета.
Просто добавьте это в свой файл (.php,.jsf и т.д.):
$fields = array(
'registration_ids' => $android,
**'priority' => 'high',**
'data' => array( 'message' => $message,
'title' => $title,
'created_at' => $created_at,
'is_background' => $is_background,
'pantallaMostrarPushAndroid' => "pushNotificationNormal")
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($fields));
// Execute post
$resultAndroid = curl_exec($ch);