2013-02-13 5 views
5

Google Cloud Messaging può inviare una notifica con "payload a byte zero" a un telefono che è in grado di ricevere chiamate vocali e SMS, ma per qualsiasi motivo non ha connettività di dati di lavoro al momento?Google Cloud Messaging senza connettività dati di lavoro

Con "zero byte", intendo che il telefono è a conoscenza del fatto che una notifica GCM senza carico utile è stata inviata da un mittente specifico e può attivare un intento in tal senso.

Esempio del mondo reale: un allarme antifurto viene attivato e invia due messaggi push al proprietario della casa - un messaggio a byte zero il cui significato è implicito interamente dal fatto che è stato inviato a tutti, implica "qualcosa di brutto è accadendo ", e può (presumibilmente) essere consegnato anche quando la connettività dati è bloccata o non disponibile perché (presumibilmente) viaggia sullo stesso livello di trasporto utilizzato per SMS, e una notifica push più lunga inviata pochi secondi dopo con ulteriori metainformazioni sul situazione che potrebbe funzionare solo se al momento è attiva la connettività dei dati (in modo che il telefono possa essere informato e recuperare il carico utile da un server dopo aver stabilito una sessione di dati convenzionale).

Ho letto i documenti di Google, ma sembra che si siano intenzionalmente piegati all'indietro per non parlare del livello di trasporto fisico di GCM.

+0

Payload vuoto non significa un messaggio di dimensione zero. Quindi no. –

risposta

0
  • No. Non c'è un messaggio di lunghezza zero se si utilizza il GCM. GCM deve contenere alcune informazioni su quale servizio riceverà questo messaggio.
  • Avviso GCM => Google CLOUD Message. Non puoi essere cloud se non sei connesso.
  • GCM è un server-push. I server non possono inviare al client se non sono raggiungibili.
2

Dovrei dire "No", poiché GCM (e praticamente tutto ciò che fa Google) è basato su TCP/UDP/IP, non è possibile che venga recapitato al telefono se il telefono non lo fa avere una connessione dati attiva (3G/4G/WiFi).

Poiché il telefono non dispone di un indirizzo IP, GCM non ha potuto consegnare il messaggio.

Da GCM Architectural Overview:

  • Esso utilizza una connessione esistente per i servizi di Google.