Во-первых, есть много макинтош теперь под тест нажимной программного обеспечения IOS, поэтому использовать программу Java, чтобы проверить его;
Поскольку большинство фона толчка служба может быть разработана в JAVA, поэтому мы экспортировали для проверки нажимного сертификата MAC-файл является правильным;
Создание сертификата разработчика разработчиков IOS, самодиагностика следует использовать для того, чтобы экспортироваться JAVA файл p12 толчка сертификата является правильным;
1. IOS разработчик p12 формат сертификата на экспорт строку нажатием клавиши из макинтош;
Конфигурация Java среда 2. макинтош
Сначала установите Java, очень просто загрузить в формате DMG Java SDK от официального, может быть установлен;
Тестовая программа требует некоторых Java-библиотек, которые оформляют баночку, я тестировал следующий пакет банки хорошо используется,
Baidu непосредственно на имя загрузки, или загруженные из соответствующего официального сайта: как правило, используется в Джексоне, javapns, log4j три пакета
ДЖЕКСОН-ядро-2.9.9.jar
javapns-jdk16-2.4.0.jar
3. Установить зависимый пакет банки
макинтош под Java директории установки пакета / Library / Java / Extensions /
Скачиваем пакет на верхней части банки верхнего каталога может быть;
4. Тест-коды Java программы
импорт java.util.ArrayList; импорт java.util.List; импорт javapns.devices.Device; импорт javapns.devices.implementations.basic.BasicDevice; импорт javapns.notification.AppleNotificationServerBasicImpl; импорт javapns.notification.PushNotificationManager; импорт javapns.notification.PushNotificationPayload; импорт javapns.notification.PushedNotification; / *** *依赖的баночка包有 джексон одножильных-2.9.9.jar javapns-jdk16-2.4.0.jar апач-log4j-2.12.0.jar * * // макинтош下安装的路径到/ Library / Java / Extensions /目录下 * * //测试Javac PushMsg.java Java PushMsg * * / общественного класса PushMsg { статическая сила основная общественность (String [] арг) бросает исключение { System.out.println ( "Start ZSL ========== нажимные сообщения"); INT = бейдж 1;. // значение значка становится красным Строка звук = « по умолчанию»; // мелодия // для толкания, мобильного устройство лексемы номер строки deviceToken = «753c86b495613089f02dcd3f735f0ada9e2d40f84c0a6360802ea57e55f43b8x»; // здесь , чтобы нажать на тестовом сообщении : String = сообщение «сообщение толчка Ios тестового устройства»; Список <String> токенов = новый новый ArrayList <String> (); tokens.add (deviceToken); // должны использовать Java - p12 экспортированный файл, PHP, то есть PEM файл // Обратите внимание , что сертификат является производственная среда или среда тестирования Строка certificatePath =»./APNS_iOS_3.p12" ; // макинтош брелки, установить экспорт сертификат пароль Строка msgCertificatePassword =»1" .; Boolean = sendcount истину; PushNotificationPayload нового новый полезный груз PushNotificationPayload = (); payload.addAlert (Message); // сообщение содержание payload.addBadge (бейдж) ; payload.addCustomDictionary ( "UID", "haahi"); payload.addCustomDictionary ( "тип", 12); payload.addCustomDictionary ( "название", "haahi"); полезная нагрузка .addSound ( "default.caf");// тоны PushNotificationManager pushManager = новый PushNotificationManager (); // истина: соответствующая производственной среде IOS , толкать ложное: соответствующее Тестовая среда IOS толчок pushManager.initializeConnection (новый AppleNotificationServerBasicImpl (certificatePath, msgCertificatePassword , правда)); Список <PushedNotification> уведомление = новый ArrayList <PushedNotification> (); //开始推送消息 , если (sendCount) { Устройство устройства = новый BasicDevice (); device.setToken (deviceToken); Уведомление PushedNotification = pushManager.sendNotification (устройство, полезная нагрузка, ложь); notifications.add (уведомление); } Еще { List <устройство> Устройство = новый ArrayList <Device> (); для (String знака: токены) { devices.add (новые BasicDevice (маркер)); } уведомления = pushManager.sendNotifications (полезная нагрузка, приборы); } Список <PushedNotification> failedNotification = PushedNotification.findFailedNotifications (уведомления); Список <PushedNotification> successfulNotification = PushedNotification .findSuccessfulNotifications (уведомления); INT не удалось = failedNotification.size (); INT = успешное successfulNotification.size (); System.out.println ( "ZSL ==========成功数:" + успешный); System.out.println ( "ZSL ==========失败数:" + не удалось); pushManager.stopConnection (); System.out.println ( "ZSL ==========消息推送完毕");
Код, который имеет примечание
Обратите внимание, что необходимо нажать на телефоне выше знака, нажмите путь к сертификату, сертификат пароль толчка, производству толчка типа или сертификату испытаний;
5. Выполните тест
Mac терминал компилировать с JAVAC
Javac PushMsg.java
Затем запустите полученный PushMsg.class
Java PushMsg
См журналы и мобильный терминал, принимающий уведомление для проверки;
ccMBP: 20190726javaPush куб.см $ Javac PushMsg.java ccMBP: 20190726javaPush куб.см $ ява PushMsg ZSL ==========开始推送消息 ОШИБКА StatusLogger Нет Log4j файл конфигурации 2 найдено. Использование конфигурации по умолчанию (ведение журнала только ошибки в консоли), или пользователя программно предоставляемые конфигураций. Установить системное свойство «log4j2.debug» , чтобы показать Log4j 2 внутреннего протоколирование инициализации. См https://logging.apache.org/log4j/2.x/manual/configuration.html инструкции о том , как настроить Log4j 2 ZSL ==========成功слова будут: 1 ZSL ==== ======失败数: 0 ZSL ==========消息推送完毕
Нажмите Код ссылки: https://www.jianshu.com/p/7a9f544a1ae3