С 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 '^]'.
И теперь пробуем подключиться к песочнице с помощью команды:
Приватный ключ создаётся, когда мы генерируем CSR-файл (который нужен для создания сертификата). Потом на основе сертификата и приватного ключа (его экспортируем из связки ключей с заданием пароля) генерируем pem-файл (содержит комбинацию из pem сертификата и pem приватного ключа). А потом закидываем итоговый pem-файл в папку со скриптом SimplePush. В самом скрипте прописываем токен, пароль на приватный ключ (задаётся при экспорте) и сообщение.
Касательно вашей проблемы, то тут как раз что-то не так с итоговым pem-файлом. Попробуйте пересоздать pem-файлы для сертификата и приватного ключа и выполнить в терминале:
Если запрос проходит, то генерируем на основе этих двух pem-файлов один pem-файл, и его кладём в папку со скриптом. Если запрос не проходит, значит что-то не так с сертификатом, и самый простой способ решения проблемы — с самого начала пройти всю процедуру генерации CSR-файла, сертификата и т. д. :)
P. S. Команды генерации pem-файлов есть в статье на reywenderlich.com.
Задавался аналогичным вопросом и нашёл ответ на него: нет, задать тип уведомлений нельзя, т. к. начиная с iOS 5.0 под алертом понимается как баннер, так и напоминание. И баннер выбирается по умолчанию в связи со своей ненавязчивостью.
Если я правильно понял, вы имеете в виду скайп или аську, запущенные на девайсе с iOS. Не могу сказать по поводу аськи, но если запустить скайп, войти под своими логином и паролем и перевести приложение в фоновый режим, то сообщения будут приходить в виде push-уведомлений (с наличием, конечно, интернета). Если «прибить» приложение — не будут приходить.
По Андроиду не могу сказать, но думаю, что на этой платформе можно ожидать аналогичного поведения.
Если PushMeBaby отрабатывает, то с сертификатом всё нормально. С pem-файлом сертификата тоже должно быть всё ок, т. к. он генерируется одной строчкой в терминале. С генерацией pem-файла ключа есть нюанс: после выполнения команды нужно ввести пароль, который вы задали при экспорте из связки ключей, а потом придумать пароль для самого pem-файла.
Потом проверьте, что есть связь с песочницей push-уведомлений командой:
В ответ должно вывести что-то типа:
И теперь пробуем подключиться к песочнице с помощью команды:
После выполнения команды нужно будет ввести пароль от pem-файла ключа, который мы задали выше.
Приватный ключ создаётся, когда мы генерируем CSR-файл (который нужен для создания сертификата). Потом на основе сертификата и приватного ключа (его экспортируем из связки ключей с заданием пароля) генерируем pem-файл (содержит комбинацию из pem сертификата и pem приватного ключа). А потом закидываем итоговый pem-файл в папку со скриптом SimplePush. В самом скрипте прописываем токен, пароль на приватный ключ (задаётся при экспорте) и сообщение.
Касательно вашей проблемы, то тут как раз что-то не так с итоговым pem-файлом. Попробуйте пересоздать pem-файлы для сертификата и приватного ключа и выполнить в терминале:
Если запрос проходит, то генерируем на основе этих двух pem-файлов один pem-файл, и его кладём в папку со скриптом. Если запрос не проходит, значит что-то не так с сертификатом, и самый простой способ решения проблемы — с самого начала пройти всю процедуру генерации CSR-файла, сертификата и т. д. :)
P. S. Команды генерации pem-файлов есть в статье на reywenderlich.com.
По Андроиду не могу сказать, но думаю, что на этой платформе можно ожидать аналогичного поведения.