Как отправить высокоприоритетный GCM?

Я использую 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

Ответы

Ответ 1

Значение приоритета 10 - это правильная вещь, но она не работает с версией Android M, выпущенной при вводе/выводе. Он исправлен, и приоритетные 10 сообщений будут работать, как и ожидалось, в публичном выпуске.

Ответ 3

Просто добавьте это в свой файл (.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);