Exporter (0) Imprimer
Développer tout

gcm (objet)

Mis à jour: octobre 2014

Expose la fonctionnalité de messagerie de cloud Google (GCM) dans des scripts de serveur Microsoft Azure Mobile Services.

L'objet gcm contient les méthodes suivantes :

Envoie une notification à un appareil spécifique.

gcm.send(registrationId, payload, options)

 

Parameter Description

registrationId

Spécifie l'ID d'inscription d'un appareil ou un tableau d'ID d'inscription pour les appareils qui reçoivent le message.

payload

Objet requis qui contient la charge utile de notification. Il peut contenir une chaîne de texte simple ou un objet contenant des paires clé-valeur, notamment


{
    symbol: 'msft',
    price: '26.78',
    lastClose: '26.20'  
}

Les valeurs doivent être des chaînes. Il existe des restrictions portant sur les noms de propriétés décrites ici. La taille totale de la charge utile sérialisée en JSON ne peut pas être supérieure à 4 Ko.

options

Objet facultatif qui spécifie les fonctions du gestionnaire d'erreurs et du gestionnaire de réussite, au format suivant :


{
    success: function(response) {
        // handle success here.
    },
    error : function(err) {
        // handle the error here.
    }
}

Le rappel de réussite se déclenche si GCM a accepté la demande. Cela ne signifie pas que toutes les notifications ont été remises. Votre application doit traiter le paramètre de rappel de réponse pour comprendre pleinement l'état du traitement. Le paramètre de réponse contient les deux propriétés suivantes pour vous aider à traiter le résultat :

  • response.invalidIds : tableau d'ID d'inscription qui ne sont plus valides. L'application ne doit pas envoyer de futures notifications à ces ID, sinon elle peut être bloquée par GCM.

  • response.updatedIds : mappage d'ID d'inscription fournis dans la demande aux ID d'inscription mis à jour. L'application doit utiliser les ID mis à jour au lieu des ID d'origine lors de l'envoi de futures notifications. GCM peut parfois mettre à jour l'ID d'inscription associé à un appareil, et il s'agit du mécanisme utilisé pour avertir l'expéditeur de la mise à jour.

Non défini.

Utilisé pour demander des informations de GCM à l'aide de fonctionnalités qui vont au-delà de celles disponibles dans la méthode send simple, telles que :

  • renvoi automatique des notications si les serveurs GCM sont trop occupés,

  • réduction de plusieurs notifications en une seule si la notification ne peut pas être remise immédiatement,

  • envoi d'une notification uniquement si l'appareil est actif,

  • spécification de la durée de vie du stockage des notifications sur les serveurs GCM pendant que l'appareil est hors connexion,

  • limitation de la remise aux applications avec un nom de package spécifique,

  • émission de la demande dans le bac à sable GCM sans remise réelle à l'appareil.

gcm.sendAdvanced(content, retryCount, options)

 

Parameter Description

content

Objet requis qui contient l'objet de demande à envoyer à GCM. En voici un exemple d'objet :


{
   registration_ids : ['one or more IDs'],
   data : {
      message:  'hello GCM'
  },
  // Other properties such as 'collapse_key', 'delay_while_idle', 'time_to_live', 'restricted_package_name', and 'dry_run'
}

Le format pour les propriétés de cet objet est spécifié ici.

retryCount

Entier non négatif qui indique le nombre fois où la demande doit faire l'objet d'une nouvelle tentative si les serveurs GCM répondent avec un code d'état 5xx. Le module implémente la stratégie d'interruption nécessaire basée sur l'en-tête de réponse HTTP Retry-After envoyé par GCM. La valeur par défaut est 0.

options

Objet facultatif qui spécifie les fonctions du gestionnaire de réussite et du gestionnaire d'erreur. Consultez la description détaillée de la méthode send ci-dessus.

Non défini.

L'objet gcm est obtenu à partir de l'push (objet) dans un script de serveur. Pour obtenir un exemple complet, consultez les aspects relatifs à la prise en main des notifications Push.

L'exemple suivant appelle la méthode send pour envoyer une notification texte à un appareil spécifique lorsqu'un nouvel élément est inséré dans une table.

function insert(item, user, request) {
    request.execute({
        success: function() {
            // Write to the response and then send the push notification.
            request.respond();
            push.gcm.send(item.channel, item.text, {
                   success: function(response) {
                       console.log('Push notification sent: ', response);
                }, error: function(error) {
                       console.log('Error sending push notification: ', error);
                }
            });
        }
    });
}

L'exemple suivant appelle la méthode sendAdvanced pour envoyer une notification texte à un appareil spécifique lorsqu'un nouvel élément est inséré dans une table et effectue trois nouvelles tentatives d'envoi si nécessaire.

function insert(item, user, request) {
    request.execute({
        success: function() {
            // Write to the response and then send the push notification.
            request.respond();
            push.gcm.sendAdvanced({
                registration_ids: ['27'],
                data: {
                    message: 'hello GCM'
                },
            }, 3, {
                success: function(response) {
                    console.log('Push notification sent: ', response);
                },
                error: function(error) {
                    console.log('Error sending push notification: ', error);
                }
            });
        }
    });
}

Afficher:
© 2015 Microsoft