14

Come inviare notifiche push silenziose all'applicazione iOS su GCM?Come inviare push silenzioso a iOS tramite Google Cloud Messaging

Il push silenzioso è una notifica che non verrà visualizzata nel centro notifiche, ma l'applicazione risveglio per eseguire un'azione in background. Google introduce nuove funzionalità nel nuovo GCM con la possibilità di inviare messaggi push ad Android, Chrome e iOS.

Qualche idea, come fare?

risposta

10

Utilizzare il content_available (non content-available) attributo in questo modo:

curl -X POST --header "Content-Type:application/json" --header "Authorization:key=AIzaXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" "https://android.googleapis.com/gcm/send" --data-ascii '{"data":{"xxx":"yyy"},"content_available":true,"to":"XXXXXXXXXX:YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY-ZZZZZZZZZZZZZZZZZZZZ"}' 
+2

@black_stallion https://developers.google.com/cloud-messaging/server-ref cercare content_available – TheWonderBird

4

Dal server, è necessario aggiungere la proprietà content-available con un valore 1 al dizionario aps.

Avrete bisogno di fornire supporto per queste notifiche silenziose aggiungendo remote-notification a nel file Info.plist. Maggiori dettagli here.

0

Sto utilizzando la libreria NPM node-gcm e la seguente payload funziona per me per iOS (per Android ti mando un carico utile leggermente diversa):

{ dryRun: false, 
    data: 
    { customKey1: 'CustomValue1', 
    customKey2: 'CustomValue2', 
    content_available: '1', 
    priority: 'high' }, 
    notification: 
    { title: 'My Title', 
    icon: 'ic_launcher', 
    body: 'My Body', 
    sound: 'default', 
    badge: '2' } } 

Ovviamente è necessario assicurarsi che l'app possa gestire la notifica in entrata.