Envoyer une notification Push

 

Date de publication : juillet 2016

Dans un service mobile principal JavaScript, les scripts de serveur inscrits dans des opérations de table et des travaux planifiés utilisent l’objet Push global pour envoyer des notifications Push à vos applications. Lors de l’envoi de notifications Push à partir d’une API personnalisée, l’objet Push est obtenu de la propriété service de l’objet request fourni, comme dans le code suivant qui gère une demande POST :

exports.post = function(request, response) {
    var push = request.service.push;
    // Send a push request to one or more devices, 
    // and then return a 200 status code if no error occurs.
};

Pour envoyer des notifications push à un appareil, vous devez configurer votre service mobile afin qu'il fonctionne avec le fournisseur de notifications push spécifique à la plateforme. Lors de l'utilisation de l'intégration des Notification Hubs, vous devez également inscrire vos clients auprès du Notification Hub. Pour plus d’informations, consultez les aspects relatifs à la prise en main des notifications Push (Windows Store C# / Windows Store JavaScript / Windows Phone / iOS / Android).

Windows Store : Le script suivant envoie une notification Push en tant que notification toast à une application application du Windows Store.

function insert(comment, user, request) {
    request.execute({
        success: function() {
            var sql = "SELECT channel FROM devices " +
                "INNER JOIN posts ON devices.userId = posts.userId " +
                "WHERE posts.id = ?";
            mssql.query(sql, [comment.postId], {
                success: function(results) {
                    if (results.length > 0) {
                        push.wns.sendToastText04(results[0].channel, {
                            text1: comment.username + ' commented on your post!'
                        }, {
                            success: function(pushResponse) {
                                console.log("Sent push:", pushResponse);
                            }
                        });
                    }
                }
            });
            // Write to the response for the original request 
            // while the push notification happens in the background.
            request.respond();
        }
    });
}

Windows Phone : le script suivant envoie la même notification Push en tant que notification de retournement de vignette à une application Windows Phone 8.

function insert(comment, user, request) {
    request.execute({
        success: function() {
            var sql = "SELECT channel FROM devices " +
                "INNER JOIN posts ON devices.userId = posts.userId " +
                "WHERE posts.id = ?";
            mssql.query(sql, [comment.postId], {
                success: function(results) {
                    if (results.length > 0) {
                        push.mpns.sendFlipTile(results[0].channel, {
                            title: comment.username + ' commented on your post!'
                        }, {
                            success: function(pushResponse) {
                                console.log("Sent push:", pushResponse);
                            }
                        });
                    }
                }
            });
            // Write to the response for the original request 
            // while the push notification happens in the background.
            request.respond();
        }
    });
}

iOS : le script suivant envoie 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.apns.send(item.deviceToken, {
                payload: { itemText: item.text, userId: user.userId } 
            });
        }
    });
}

Android : le script suivant envoie 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);
                }
            });
        }
    });
}

Pour plus de détails, consultez les informations de référence sur les scripts des services mobiles.

Afficher: