Используйте сервис Apple Push Notification через Java

Я пытаюсь реализовать программу на Java, которая отправляет push-уведомление Apple в клиентское приложение iPhone ... Найдена следующая библиотека:Java APNs

Код провайдера:

Создал следующий код (из Javapns) для использования в моем приложении:

try {
    PayLoad payLoad = new PayLoad();

    payLoad.addAlert("My alert message");
    payLoad.addBadge(45);
    payLoad.addSound("default");

    PushNotificationManager pushManager = PushNotificationManager.getInstance();
    pushManager.addDevice("iPhone", "f4201f5d8278fe39545349d0868a24a3b60ed732");
    log.warn("Initializing connectiong with APNS...");

    // Connect to APNs
    pushManager.initializeConnection(HOST, PORT, 
                                 "/etc/Certificates.p12", "password", 
    SSLConnectionHelper.KEYSTORE_TYPE_PKCS12);

    Device client = pushManager.getDevice("Lambo");

    // Send Push
    log.warn("Sending push notification...");
    PushNotificationManager.getInstance().sendNotification(client, payLoad);
 }
 catch (Exception e) {
    throw new ApnsPushNotificationException("Unable to send push " + e);
 }

Когда я запускаю это приложение (как вы можете видеть из операторов Log4j),Нет исключений, которые происходят:

  WARN  [MyCode] Initializing connectiong with APNS...
  WARN  [MyCode] Sending push notification...

Но мое клиентское приложение нене получать никаких уведомлений!

Процесс регистрации IDPP:

Кроме того, на портале программ для разработчиков iPhone (IDPP) сделано следующее:

Создал SSL-сертификат и ключи на основе APNS

Создан и установлен профиль обеспечения

Установил SSL сертификат и ключ на сервер.

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

(1) На странице 15 говорится, что токен устройства не совпадает с UDID устройства (который я в настоящее время неправильно передаю как второй параметр в методе PushNotificationManager.addDevice () (см. Выше)).

На странице 17 говорится: «

APN генерирует маркер устройства, используя информацию, содержащуюся в уникальном сертификате устройства. Маркер устройства содержит идентификатор устройства. Затем он шифрует токен устройства ключом токена и возвращает его на устройство. Устройство возвращает маркер устройства запрашивающему приложению как объект NSData. Затем приложение должно доставить токен устройства своему провайдеру в двоичном или шестнадцатеричном формате. "

Реализация клиента iPhone OS

(2) Прочитав страницы 33 - 34, я обнаружил, что неt включить код Objective-C, чтобы приложение регистрировалось в APN.

Я не разработчик Objective-C, поэтому я могу восстановить код устройства или мне нужно получить его из сертификата?

Где я могу получить токен устройства (извините, кто-то еще написал клиентское приложение Objective-C, и я являюсь разработчиком Java)?

Вопросы):

(1) За исключением того, что я не знаю, где взять токен устройства и регистрацию кода мобильного клиента, есть ли что-то еще, что я не просмотрел или пропустил?

(2) Я правильно использую библиотеку Javapns?

Спасибо, что нашли время, чтобы прочитать это...

Ответы на вопрос(6)

Ваш ответ на вопрос