2010-07-30 3 views
1

я узнал, что есть 2 проекта с открытым исходным кодом, я могу использовать: javapns (http://code.google.com/p/javapns/) и ява-APNs (http://github.com/notnoop/java-apns)Java библиотека для управления Apple Push Notifications

Оба они являются довольно хорошо, но сделать не обрабатывать ответы об ошибках. Когда вы составляете полезную нагрузку в расширенном формате, вы можете включить идентификатор с полезной нагрузкой и отправить его на Apple Push Notification Server. Вы можете прочитать в сокете и получить статус ответа (согласованный идентификатором, отправленным в уведомлении), если произошла ошибка.

Но ни одна из библиотек java не обрабатывает этот случай. Есть ли веская причина, по которой библиотеки не читают сокет для ответа?

Кроме того, дайте мне знать, какие другие библиотеки java вы использовали.

Большое спасибо за помощь. спасибо.

ответ

4

Вы должны заглянуть в java-apns еще раз. Начиная с версии 0.1.5, теперь он поддерживает расширенный формат полезной нагрузки. Он также имеет отдельный поток мониторинга, который прослушивает ошибки, отправленные при использовании расширенного формата. К сожалению, из коробки вы не можете установить идентификатор для каждого уведомления, поэтому сложно сопоставить ответ об ошибке с уведомлением, которое Apple не понравилось. (Я поднял issue об этом на GitHub.)

1

JavaPNS был недавно обновлен до 2.0 и включает полную поддержку расширенного формата уведомлений. Вы можете установить идентификатор вручную, если хотите, но библиотека по умолчанию будет генерировать свои собственные идентификаторы и автоматически сопоставлять их с пакетами ответов об ошибках. По сути, вам больше не нужно беспокоиться об идентификаторах, поскольку ответы об ошибках автоматически сопоставляются с отправленными сообщениями библиотекой и могут быть легко проверены простым вызовом метода: yourPushedNotification.isSuccessful().

0

Это один очень хороший я использовал его

https://github.com/notnoop/java-apns

Я также попытался javaapns

https://code.google.com/p/javapns/

, но некоторые, как это не сработало для меня. Это дало мне успех = true при отправке уведомления, но мое устройство не смогло его получить.

Смежные вопросы