2015-07-09 17 views
14

Sto utilizzando un Nexus 5 con Android M Preview.Come inviare un GCM ad alta priorità?

Il mio problema che sto cercando di risolvere è:

L'accesso alla rete è disattivato, a meno che la vostra applicazione riceve una priorità Google Cloud Messaging solletico.

Quello che sto facendo è:

ho messo il telefono in modalità Doze e poi ho inviare una notifica push con la priorità con il valore di 10 e mi aspetto di avere accesso a Internet a brevi momenti , ma questo non funziona

Devo utilizzare altri tipi di notifiche? Ci sono già documenti disponibili?

Grazie.

Android M cambia: https://developer.android.com/preview/behavior-changes.html

Quello che ho trovato su GCM messaggi prioritari: https://developers.google.com/cloud-messaging/server-ref

risposta

7

definizione delle priorità a 10 è la cosa giusta da fare, ma non funziona con la versione di Android M rilasciato a I/O. È stato corretto e i messaggi con priorità 10 funzioneranno come previsto con la versione pubblica.

+0

Grazie per la risposta;) –

+0

@morepork: Così non funziona in alcun Preview Release o mi manca il punto? Avete un link? –

+0

Per favore vedi https://developers.google.com/cloud-messaging/concept-options?hl=it#setting-the-priority-of-a-message – Wonil

0

Basta aggiungere questo nella vostra File (.php, JSF, ecc):

$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);