J'utilise un Nexus 5 avec Android M Preview.
Mon problème que j'essaye de résoudre est:
L'accès au réseau est désactivé, sauf si votre application reçoit un chatouillement hautement prioritaire sur Google Cloud Messaging.
Ce que je fais c'est:
Je mets le téléphone en mode Doze, puis j'envoie une notification Push avec la priorité avec la valeur 10 et je m'attends à disposer d'un accès Internet pendant quelques instants, mais cela ne fonctionne pas.
Devrais-je utiliser un autre type de notifications? Il y a une documentation déjà disponible?
Merci.
Changements Android M: https://developer.Android.com/preview/behavior-changes.html
Ce que j'ai trouvé à propos des messages de priorité de GCM: https://developers.google.com/cloud-messaging/server-ref
Définir la priorité sur 10 est la bonne chose à faire, mais cela ne fonctionne pas avec la version d'Android M publiée au niveau des E/S. Il a été corrigé et les messages de priorité 10 fonctionneront comme prévu avec la version publique.
En fait, il est lié à la version des services Google Play, pas à la version Android. Utilisez "élevé" pour la priorité.
Ajoutez simplement ceci dans votre fichier (.php, .jsf, etc):
$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);