푸시 알림 보내기

 

JavaScript 백 엔드 모바일 서비스에서 테이블 작업 및 예약된 작업에 등록된 서버 스크립트는 전역 push 개체를 사용하여 앱에 푸시 알림을 보냅니다. 사용자 지정 API에서 푸시 알림을 보내면 POST 요청을 처리하는 다음 코드처럼, 제공된 request 개체service 속성에서 push 개체를 가져옵니다.

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.
};

장치에 푸시 알림을 보내려면 플랫폼별 푸시 알림 공급자와 함께 작동하도록 모바일 서비스를 구성해야 합니다. 알림 허브 통합을 사용할 경우 알림 허브로 클라이언트도 등록해야 합니다. 자세한 내용은 푸시 알림 시작(Windows 스토어 C#/Windows 스토어 JavaScript/Windows Phone/iOS/Android)을 참조하세요.

Windows 스토어: 다음 스크립트는 Windows 스토어 앱 앱에 알림 메시지로 푸시를 보냅니다.

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: 다음 스크립트는 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: 다음 스크립트는 새 항목을 테이블에 삽입할 때 특정 장치에 텍스트 알림을 보냅니다.

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: 다음 스크립트는 새 항목을 테이블에 삽입할 때 특정 장치에 텍스트 알림을 보냅니다.

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

자세한 내용은 모바일 서비스 스크립트 참조를 참조하십시오.

표시: