Ich benutze ein Nexus 5 mit Android M Preview.
Mein Problem, das ich zu lösen versuche, ist:
Der Netzwerkzugriff ist deaktiviert, es sei denn, Ihre App erhält einen Google Cloud Messaging-Tickle mit hoher Priorität.
Was ich mache ist:
Ich versetze das Telefon in den Ruhezustand und sende dann eine Push-Benachrichtigung mit der Priorität 10 und erwarte für kurze Zeit einen Internetzugang, aber das funktioniert nicht.
Sollte ich eine andere Art von Benachrichtigungen verwenden? Gibt es bereits Unterlagen?
Vielen Dank.
Änderungen an Android M: https://developer.Android.com/preview/behavior-changes.html
Was ich über GCM-Prioritätsnachrichten gefunden habe: https://developers.google.com/cloud-messaging/server-ref
Das Festlegen der Priorität auf 10 ist richtig, aber es funktioniert nicht mit der Android-M-Version, die bei I/O veröffentlicht wurde. Es wurde behoben, und Nachrichten mit Priorität 10 funktionieren wie erwartet mit der öffentlichen Version.
In der Tat ist es mit der Google Play Services-Version und nicht mit der Android-Version verbunden. Verwenden Sie "high" für die Priorität.
Fügen Sie dies einfach in Ihre Datei ein (.php, .jsf usw.):
$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);