Какую библиотеку Java Push Notification Service я должен использовать?
Мне нужно отправить push-уведомления на устройства iOS с моего сервера Java, используя Apple Push Notification Service (APNS)
Я нашел две библиотеки для отправки push-уведомлений APNS в Java:
Но оба кажутся заброшенными (или, по крайней мере, у них есть ошибки, а последний релиз - год назад).
В java-apns есть много вилок. Есть ли обновленная версия этой библиотеки в активной разработке? Есть ли еще лучший выбор?
Ответы
Ответ 1
Если кто-то еще ищет библиотеку APN в Java, мы в RelayRides только что выпустили Pushy (http://relayrides.github.io/pushy/). Он делает некоторые вещи по-другому, чем другие два соперника (например, асинхронная сеть IO), поэтому он может быстро отправлять большое количество сообщений. Мы фактически используем его в производстве, так что он активно поддерживается нашими инженерами. Наслаждайтесь!
EDIT: чтобы быть понятным, Pushy является бесплатным и открытым исходным кодом (лицензия MIT).
Ответ 2
После долгого поиска я мог найти только те две библиотеки, которые вы упомянули,
Я посмотрел на некоторые из последних вилок на странице java-apns GitHub, и самый последний, который я смог найти, был сделан пользователем под именем "froh42". Его вилка находится здесь. Последний коммит был 4 дня назад, но я не уверен, действительно ли этот человек добавляет к основной функциональности репо или нет, так как это очень поздно, и я слишком устал, чтобы проверить.
Мое предложение было бы, если вы собираетесь использовать java-apns, посмотреть на репозиторий froh и посмотреть, проверено ли оно или нет. Если это не так, вы можете просмотреть список вилок из исходного java-apns repo здесь. Извините, я не мог больше помочь вам и удачи!
Ответ 3
Я столкнулся с той же проблемой несколько месяцев назад с бэкэндом Java для одного из наших приложений и после поиска библиотек (что на самом деле не было даже возможной опцией в Google App Engine), я нашел Городской дирижабль.
Urban Airship - средний человек между вашим бэкэндом и различными службами push-уведомлений (он поддерживает APNS, но также android/blackberry/Win). Вам просто нужно настроить службу Push на своей платформе, выполнить вызов REST на одну из своих конечных точек и сделать это!
У них есть бесплатный план, начинающийся с уведомлений в месяц 1 миллион (1.000.000).
Действительно хороший сервис до сих пор, и это дает нам возможность быстро масштабироваться для других push-сервисов без необходимости реализации определенного кода на нашей стороне сервера.
Ответ 4
Похоже, что java-apns обновляется. Последний коммит был 1 месяц назад...
https://github.com/notnoop/java-apns
Я еще не использовал его, но кажется, что проект не мертв...
Ответ 5
Наконец, я решил использовать JavaPNS (https://code.google.com/p/javapns/) в моем проекте, прост в использовании и соответствует моим требованиям.
Но я недавно нашел новый проект, который выглядит очень многообещающим, и я планирую использовать его в ближайшем будущем.
Внутри проекта AeroGear есть несколько библиотек. Одним из них является AeroGear UnifiedPush Server с поддержкой APN APLS, облачных сообщений Google и Mozillas Simple Push.
Также есть клиентские библиотеки (iOS, Android) для легкой интеграции с сервером:
Также есть другие интересные функции, такие как Консоль администрирования, Java Sender API клиента, Rest API,...
Надеюсь, что это поможет кому-то другому.
Ответ 6
Я бы не пересчитал JavaPns
, если вы намерены использовать его queue mode
, потому что вы хотите отправлять много сообщений за раз. Там действительно неприятный Ошибка, из-за чего вы теряете push-уведомления, но библиотека говорит, что все было отправлено.
Ответ 7
Я использую javapns, до сих пор я не видел проблем (мой проект все еще находится в процессе развития); Но я видел, что проект не обновлялся с 2 лет назад.
и java-apns сохраняет обновление, у меня будет попытка.
Обновленный мой ответ, я начал использовать pushy для APN с 3 месяца назад, он действительно имеет лучшую производительность. Теперь я предлагаю использовать pushy.
Ответ 8
Это очень хорошо, я использовал его
https://github.com/notnoop/java-apns
Я также пробовал javaapns
https://code.google.com/p/javapns/
но некоторые, как это не сработало для меня. Это дало мне успех = true при отправке уведомления, но мое устройство не смогло его получить.