내보내기(0) 인쇄
모두 확장

apns 개체

업데이트 날짜: 2013년 2월

Windows Azure Mobile Services 서버 스크립트에 APNS(Apple 푸시 알림 서비스)의 기능을 노출합니다.

apns 개체의 메서드는 다음과 같습니다.

send

특정 장치에 알림을 보냅니다.

구문

apns.send(deviceToken, payload, options)

매개 변수

 

매개 변수 설명

deviceToken

알림을 받는 장치를 나타내는 필수 토큰 값입니다.

payload

알림 정보를 포함하는 다음과 같은 형식의 필수 개체입니다.

{
     badge: badge_number,
     alert: 'alert_text',
     sound: 'sound_file',
     payload: payload_object,
     expiry: expire_date
}

여기서 badge_number는 앱 아이콘 위에 표시되는 숫자이고, alert_text는 알림 메시지이고, sound_file은 알림을 수신될 때 재생할 소리이고, payload_object는 알림 텍스트를 포함하는 JSON 개체이고, expire_date는 알림이 더 이상 제공되지 않는 날짜입니다.

options

오류 처리기 함수를 지정하는 다음과 같은 형식의 선택적 개체입니다.

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

콜백에 제공되는 오류 출력의 형식은 다음과 같습니다.

{
    statusCode : error_status,
    deviceToken : 'device_token',
    statusDescription : 'error_description' 
}

여기서 error_status는 오류의 상태 코드이고, device_token은 오류가 발생한 장치를 나타내고, error_description은 오류에 대한 텍스트 설명입니다.

반환 값

정의되지 않았습니다.

getFeedback

APNS에서 장치별 푸시 알림 오류에 대한 정보를 요청하는 데 사용됩니다.

구문

apns.getFeedback(completion)

매개 변수

 

매개 변수 설명

completion

다음과 같이 successerror 처리기가 있는 completion 개체입니다.

{
    success: function(devices) {
        // Code that executes when the method succeeds.
    },
    error: function(err) {
        // Code that executes when the method fails.
    }
}

오류 처리기가 제공되지 않으면 오류가 로그에 기록됩니다.

devices 출력 개체의 형식은 다음과 같습니다.

[ 
    { 
        deviceToken : 'device_token1', 
        timeStamp : 'time_stamp_datetime1'
    },
{ 
        deviceToken : 'device_token2', 
        timeStamp : 'time_stamp_datetime2'
    },
    { n }
]

반환 값

정의되지 않았습니다.

apns 개체는 서버 스크립트의 push 개체에서 가져옵니다. 전체 예제는 푸시 알림 시작을 참조하십시오.

payload 개체의 alert 필드를 지정하면 할당된 텍스트 값이 알림 메시지로 표시됩니다. 이 알림은 앱이 실행 중이지 않은 경우에도 표시됩니다. payload 개체의 payload 필드에 있는 데이터는 앱이 실행 중일 때만 표시됩니다.

APNS는 앱이 더 이상 장치에 설치되어 있지 않기 때문에 실패하는 알림을 추적합니다. 모바일 서비스를 사용하여 APNS 피드백 서비스의 이 정보에 액세스하고 장치 토큰을 제거하여 앱 제거 알림을 보내는 데 드는 추가 비용을 발생하지 않도록 할 수 있습니다. 이렇게 하려면 모바일 서비스에서 processFeedback 함수를 주기적으로 호출합니다. 이 함수에서 apns 개체의 getFeedback 메서드를 호출할 수 있습니다. 이 메서드를 실패를 나타내는 개체의 배열을 반환합니다. 각 개체에는 deviceTokentimeStamp 필드가 있습니다. 장치 배열은 success: 처리기에서 반환됩니다. 오류 처리기가 제공되지 않으면 오류가 모바일 서비스의 로그에 기록됩니다.

다음 예에서는 send 메서드를 호출하여 새 항목이 테이블에 삽입될 때 특정 장치에 텍스트 알림을 보냅니다.

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

다음 processFeedback 스크립트는 모바일 서비스에 의해 호출되며, getFeedback 메서드를 실행하는 데 사용됩니다.

function processFeedback() {

    push.apns.getFeedback({
        success: function(results) {
            // results will be an array of objects, each with 'deviceToken' and 'time' properties
            if (results.length > 0) {
                  // TODO - update your storage to mark or delete devices appropriately
                  console.warn("APNS feedback received for the following device tokens.",  results);
            }
        }
    });
}

표시:
© 2014 Microsoft