Экспорт (0) Печать
Развернуть все

объект APNS

Обновлено: Февраль 2013 г.

Предоставляет функциональные возможности службы Apple Push Notification Service в серверных скриптах Мобильные службы Windows Azure.

Ниже приводится описание следующих методов объекта 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 о характерных для устройства сбоях при отправке push-уведомлений.

Синтаксис

apns.getFeedback(completion)

Параметры

 

Параметр Описание

completion

Объект завершения, включающий обработчики success и error, а именно:

{
    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 в серверном скрипте. Полный пример см. в разделе Приступая к работе с push-уведомлениями.

Если указано поле alert объекта payload, присвоенное значение текста отображается как всплывающее уведомление. Это уведомление отображается, даже если приложение не выполняется. Данные в поле payload объекта payload отображаются, только если приложение выполняется.

APNS отслеживает уведомления, доставить которые не удается из-за того, что приложение больше не установлено на устройстве. Мобильные службы позволяет обращаться к этой информации из службы обратной связи APNS и удалять токены устройств, чтобы не приходилось оплачивать отправку уведомлений приложениям, которые были удалены. Для этого Мобильные службы периодически вызывает функцию processFeedback. В этой функции можно вызвать метод getFeedback применительно к объекту apns. Метод возвращает массив объектов, представляющих сбои, причем в каждом объекте есть поля deviceToken и timeStamp. Массив устройств возвращается в обработчике 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);
            }
        }
    });
}

Корпорация Майкрософт проводит интернет-опрос, чтобы выяснить ваше мнение о веб-сайте MSDN. Если вы желаете принять участие в этом интернет-опросе, он будет отображен при закрытии веб-сайта MSDN.

Вы хотите принять участие?
Показ:
© 2014 Microsoft