Мы внедряем решение MDM самостоятельно. Мы зарегистрировались в качестве поставщика MDM и выполнили шаги с этого сайта и получили окончательный сертификат APNS. Мы также установили на устройство профиль MDM, который указывает на наш внутренний сервер, способный получать/отправлять полезные нагрузки на устройство.
Затем мы использовали библиотеку java-apns для отправки примера уведомления. Ниже приведен пример кода для того же самого.
ApnsService service =
APNS.newService()
.withCert("test.p12", "xxxxxxx")
.withProductionDestination()
.build();
String pushMagic = "xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx";
String mdmPayload = APNS.newPayload().mdm(pushMagic).build();
service.push(pushMagic, mdmPayload);
Вышеупомянутое выполнение проходит успешно. Но устройство не получает никаких уведомлений. Может ли кто-нибудь пролить свет на это? Заранее спасибо.
Обновление: Обнаружено несколько проблем в нашей реализации. push API принимает токен устройства и полезную нагрузку. Мы неправильно использовали pushmagic в качестве токена в push API. Кроме того, устройства отправляют токен устройства в формате base64 во время начальной регистрации-. Поэтому его необходимо преобразовать в шестнадцатеричный формат и использовать в push API.
С этими двумя изменениями мы на шаг впереди. Теперь служба обратной связи возвращает сообщение о том, что соответствующее устройство неактивно. Мы попытались переустановить профиль и использовали последнюю версию push magic и токен устройства. Служба обратной связи по-прежнему возвращает то же сообщение.