Pull to refresh
22
0
Евгений Михолап @evgeniymikholap

User

Send message
С Notifyr не знаком, но предполагаю, что после прихода push-уведомления на девайс формируется запрос на сервер центра уведомлений Мака (по аналогии с iOS). Запрос посылается с девайса (источник) и принимает утилита (приёмник), которая в ставится на Мак. В такой связке и работают. Как утилитка PushMeBaby только в обратном направлении :)
Нет, нельзя. Можно лишь проверить какие типы push-уведомлений может принимать приложение. Если пользователь запретил принимать уведомления для этого приложения (вернётся тип UIRemoteNotificationTypeNone), то можно вывести сообщение с просьбой включить принятие push-уведомлений. А пользователь уже сам должен открыть настройки уведомлений и включить их для приложения.
Да, это ошибка.

Если PushMeBaby отрабатывает, то с сертификатом всё нормально. С pem-файлом сертификата тоже должно быть всё ок, т. к. он генерируется одной строчкой в терминале. С генерацией pem-файла ключа есть нюанс: после выполнения команды нужно ввести пароль, который вы задали при экспорте из связки ключей, а потом придумать пароль для самого pem-файла.

Потом проверьте, что есть связь с песочницей push-уведомлений командой:

telnet gateway.sandbox.push.apple.com 2195

В ответ должно вывести что-то типа:

Trying 17.172.232.46...
Connected to gateway.sandbox.push-apple.com.akadns.net.
Escape character is '^]'.

И теперь пробуем подключиться к песочнице с помощью команды:

openssl s_client -connect gateway.sandbox.push.apple.com:2195 -cert Certificate.pem -key PrivateKey.pem

После выполнения команды нужно будет ввести пароль от pem-файла ключа, который мы задали выше.
Здравствуйте!

Приватный ключ создаётся, когда мы генерируем CSR-файл (который нужен для создания сертификата). Потом на основе сертификата и приватного ключа (его экспортируем из связки ключей с заданием пароля) генерируем pem-файл (содержит комбинацию из pem сертификата и pem приватного ключа). А потом закидываем итоговый pem-файл в папку со скриптом SimplePush. В самом скрипте прописываем токен, пароль на приватный ключ (задаётся при экспорте) и сообщение.

Касательно вашей проблемы, то тут как раз что-то не так с итоговым pem-файлом. Попробуйте пересоздать pem-файлы для сертификата и приватного ключа и выполнить в терминале:

openssl s_client -connect gateway.sandbox.push.apple.com:2195 -cert Certificate.pem -key PrivateKey.pem

Если запрос проходит, то генерируем на основе этих двух pem-файлов один pem-файл, и его кладём в папку со скриптом. Если запрос не проходит, значит что-то не так с сертификатом, и самый простой способ решения проблемы — с самого начала пройти всю процедуру генерации CSR-файла, сертификата и т. д. :)

P. S. Команды генерации pem-файлов есть в статье на reywenderlich.com.
Задавался аналогичным вопросом и нашёл ответ на него: нет, задать тип уведомлений нельзя, т. к. начиная с iOS 5.0 под алертом понимается как баннер, так и напоминание. И баннер выбирается по умолчанию в связи со своей ненавязчивостью.
В общем случае — безусловно. В случае если «убить» скайп, уведомления не будут приходить.
Если я правильно понял, вы имеете в виду скайп или аську, запущенные на девайсе с iOS. Не могу сказать по поводу аськи, но если запустить скайп, войти под своими логином и паролем и перевести приложение в фоновый режим, то сообщения будут приходить в виде push-уведомлений (с наличием, конечно, интернета). Если «прибить» приложение — не будут приходить.

По Андроиду не могу сказать, но думаю, что на этой платформе можно ожидать аналогичного поведения.

Information

Rating
Does not participate
Location
Гомель, Гомельская обл., Беларусь
Registered
Activity