LINUX.ORG.RU

Как использовать phonegap-push-phugin с IOS и GСM?

 , , , ,


0

1

Пытаюсь сделать прием пушей через GCM. Зарегистрировал приложение здесь: https://developers.google.com/mobile/add?platform=ios&cntapi=gcm&cntu...

загрузил developer/production сертификаты, положил полученный конфиг в корень xcode-проекта.

var params = {
      "android": {"senderID": APP.senderId},
      "ios": {"alert": "true", "badge": "true", "sound": "true", "senderID": APP.senderId},
      "windows": {}
    };
var push = PushNotification.init(params);
push.on('registration', function(data) {
   console.log(data);
   ...
});

push.on('notification', function(data) {
   console.log(data);
   ...
});
push.on('error', function(data) {
   console.log(data);
});

Регистрация нормально проходит, registrationId назначается.

Пытаюсь отправить сообщение с сервера:

public boolean send(String recipient, PushNotification notification) {
        LOG.info("Отправка сообщения получателю :" + recipient);
        Message message = new Message.Builder()
                .addData("title", notification.getTitle())
                .addData("message", notification.getMessage()) 
                .priority(Message.Priority.HIGH)
                .build();
        try {
            Result result = sender.send(message, recipient, RETRIES_COUNT);
            LOG.debug("Результат отправки : " + result);
            if (result.getSuccess() != null && result.getSuccess() > 0) {
                return true;
            }
            if (result.getFailure() != null) {
                LOG.error("При отправке сообщения возникла ошибка: " + result.getErrorCodeName());
            }
            return false;
        } catch (Exception e) {
            LOG.error(e);
            return false;
        }
    }
}

в итоге в логе появляется следущее:

16-06-06 20:28:32,868 INFO : [pool-2-thread-1] Отправка сообщения получателю :k3YUHDkEaR0:APA91bGSc9Wc3dvrS1-6EKBPL4Duu_xZDIujiUZjhkxaaHz3BS3n_ZciuQZLfFiEszXAX4kNUu7Oq0555jI3zzrgIVeNKtD0p63ftH6BPuhOXkCk-ujHlBTi9gSPRXJ6ixd_kTyCfrwS
16-06-06 20:28:33,246 DEBUG: [pool-2-thread-1] Результат отправки : [ messageId=0:1465234217220513%ca70b4fbf9fd7ecd ]

Однако до телефона ничего не доходит. Что я делаю не так?


у iOS для уведомлений есть два окружения — sandbox и продакшен, сервера разные. Первое для разработки и тестирования используя девелоперский сертификат, второе в аппстор используя сертификат для продакшена. Посмотри, не настраивается ли где это.

Deleted ()

Однако до телефона ничего не доходит. Что я делаю не так?

Используешь костыль, вместо того, чтобы сразу работать с APNs. Сам же автор плагина рекомендует. APNs же поддерживается этим плагином, а работа с APNs через GCM требует больше телодвижений, чем просто работа по отдельности с GCM и APNs.

no-such-file ★★★★★ ()
Ответ на: комментарий от no-such-file

А смысл делать интеграцию с 20ю сервисами? когда уже есть написаная гуглом либа для интеграции с их пушами, которые всем должны уметь слать

kote ()
Ответ на: комментарий от kote

Подозреваю, что и при отправке нужно выбирать окружение.

Deleted ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.