приложение Grails, используя java-apns - PullRequest
1 голос
/ 20 июля 2011

У меня есть приложение grails, и я использую java-apns 0.1.5 jar! У меня есть ключ устройства, который уже удаляет мое приложение из него, поэтому мой вопрос заключается в том, должен ли я получить такой же отзыв от API, что устройство больше не включено? Мой код следующий:

apnsService = APNS.newService()
        .withCert(pathToCertificate, password)
        .withFeedbackDestination("feedback.sandbox.push.apple.com",2196)
        .withSandboxDestination()
        .build();

apnsService.start();

Map<String, Date> inactiveDevices = apnsService.getInactiveDevices();
log.debug inactiveDevices

.....

Суть в том, что переменная inactiveDevices всегда пуста! Зачем? если я удалю приложение с устройства ?! мне не хватает мысли на стороне клиента (устройства)?

Ответы [ 2 ]

2 голосов
/ 20 июля 2011

Если вы используете пункт назначения Песочница, служба обратной связи может не сообщить информацию правильно. Это известная ошибка с известным обходным путем, проверьте ветку списка рассылки

Проблема связана с сервером обратной связи APNs «песочницы», вероятно, ошибка. Вот решение, если у кого-то есть такая же проблема:

Создайте фиктивный идентификатор приложения на портале программы, включите разработку. Уведомления о нем Создание и загрузка соответствующей подготовки профиль Создайте новый проект xcode и вызовите Метод registerForRemoteNotificationTypes при запуске. Установить манекен приложение на вашем устройстве. На данный момент у вас должно быть два РАЗРАБОТКИ приложения, работающие на вашем устройстве: оригинальное приложение и фиктивное приложение. И то и другое должны быть зарегистрированы для получения push-уведомлений. Удалить оригинальное приложение и попробуйте отправить push-уведомление этому приложению. взывать Служба обратной связи, и вы должны получить данные обратно.

Для возобновления работы серверу Sandbox Feedbacks требуется ДВА РАЗРАБОТКИ приложения. зарегистрирован на тот же iPhone для работы. Эта манипуляция не необходимо для производственного этапа, так как «Производство» APNs Обратная связь сервер работает нормально.

Я бы рекомендовал просто переключиться, чтобы проверить обратную связь с производственными серверами. Пожалуйста, либо протестируйте с производственными серверами, либо используйте обходной путь.

0 голосов
/ 21 мая 2013
Hello Guys i have done push using grails APNS also with simple java lib.

1. With  Grails  : here is code snippet for APNS using grails

Hello Guys i have done push using grails APNS.
there are one Important point to remember
1. Proper apple certificate, Apple approved.: Apple approve certificate after 24 hours.
here is my code
1. in config.groovy
environments {
development {
apns {
pathToCertificate = "/Users/sarbogast/Desktop/APNs_development_certificates.p12"
password = "password"
environment = "sandbox"
}
} test {
apns {
pathToCertificate = "/usr/local/myapp/APNs_development_certificates.p12"
password = "password"
environment = "sandbox"
}
} production {
apns {
pathToCertificate = "/usr/local/myapp/APNs_production_certificates.p12"
password = "password"
environment = "production"
}
}
}2. i create a service and here is my service class code  def sendMessageToDevices() { List<string> aa = new ArrayList<string>() aa.add("Testing") def payload = APNS.newPayload() .badge(1) .localizedKey("key") .localizedArguments(aa) .sound("default") log.error(payload.length()) if (payload.isTooLong()){ log.info("Message is too long: " + payload.length()) } try { apnsService.testConnection() apnsService.push("Device token here", payload.build() ) } catch (Exception e) { log.error("Could not connect to APNs to send the notification"+e.getMessage()) } }
here "key" is any message which will popup on device push
3. i called this method by controller method..
...