Push-уведомление Safari в Windows Azure

Я пытаюсь использовать push-уведомления Safari с Windows Azure в качестве бэкэнда. Я был в состоянии загрузить Website Push ID: web.com... сертификат для Azure Mobile Services и было принято без каких-либо сообщений об ошибках в apple push notification settings,

Для обработки конечных точек веб-службы (webServiceURL/version/pushPackages/websitePushID, webServiceURL/version/devices/deviceToken/registrations/websitePushIDи т. д.) Я создал в Mobile Services API, который работает нормально.

Но я не могу отправить push-уведомление или получить сообщение об ошибке.

Мой тестовый код выглядит так:

function send(req, res) {
    var push = req.service.push;
    var devicesTable = req.service.tables.getTable('devices');
    devicesTable.read({
        success: function(devices) {
            devices.forEach(function(device) {

                console.log("send to deviceToken " + device.deviceToken);

                push.apns.send(device.deviceToken, {
                    alert: 'Toast: A new Mobile Services task.',
                    payload: {
                        inAppMessage: "Hey, a new item arrived: '"
                    }
                });

                push.apns.send(device.deviceToken, {
                        alert: {
                            "title": "Test 123 ",
                            "body": "Test 123 ",
                            "action": "View"
                        },
                        "url-args": ["boarding"]
                    },
                    {
                        error : function(err) {
                            console.log("send error " + err);
                        }
                    }
                );

            });
        }
    });

    res.send(200, "");
}

Является ли моя проблема форматированием словаря, или мобильные службы Azure по какой-то причине не поддерживают push-уведомления Safari?

Насколько я знаю, APNS одинакова для push-уведомлений iOS, Mac и Safari.

Обновление: я протестировал его с SimplePush, поэтому сертификат в порядке, как и регистрация Safari. Моя полезная нагрузка выглядит так:

// Create the payload body
$body['aps'] = array(
    'alert' => array(
        'title' => 'test',
        'body' => $message
    ),
    'url-args'  => array('test'),
);

1 ответ

Я предполагаю, что вы правильно зарегистрировали свой клиент Safari в соответствии с указаниями Apple - тестировали ли вы свой клиент на не-Azure реализации? Глядя на руководство по внедрению от Apple, кажется, что есть много движущихся частей, даже если не рассматривать Azure в качестве источника push-информации.

Другие вопросы по тегам