2016-06-13 7 views
0

Ich entwickle derzeit Java-Webdienste, die auf WebLogic auf einem Server ausgeführt werden. Es gibt eine Anforderung, dass ich Push-Benachrichtigungen an mobile Geräte senden muss, die auf iOS ausgeführt werden. Ich weiß, was für die Entwicklung von GCM/FCM für das Senden von Benachrichtigungen an Andriod-Geräte erforderlich ist. Für iOS weiß ich, dass es APNS gibt, aber mit welcher Java-Bibliothek kann ich die Benachrichtigungen senden?Senden von APNS-Benachrichtigungen mit Java

Auch, was sind die erforderlichen Dinge (Registrierungs-ID, etc.) benötigt, um über APNS zu senden?

Beliebige Beispielcodes?

Ich habe gegooglet und über Java-Apns und Javapns erfahren, aber ich bin nicht einmal sicher, ob sie schon veraltet sind.

Vielen Dank im Voraus.

Antwort

0

Ich kann Ihnen mit allem helfen, was die Dinge sind, die APNS implementieren müssen. Bitte beachten Sie, dass sich mit der Einführung der neuen HTTP/2.0 APNS API eine Menge Dinge geändert haben, die es früher gab. (Eine gute Nachricht ist: Die Dinge haben sich wirklich einfach geworden & einfach jetzt) ​​

Würden Sie über untenstehenden Link zu gehen:

https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/Chapters/Introduction.html

APNS Voraussetzungen:

1) APNS SSL-Zertifikat, Schlüssel (Gleiches für Sandkasten & Produktion jetzt, vorher verwendet, um für Produktion/Entwicklung/voip usw. unterschiedlich zu sein. Dies ist der wichtigste Schritt, da die meisten Probleme im Zusammenhang mit APNS aufgrund der falschen Zertifikatgenerierung sind)

2) Geräte-Token (spezifisch für iOS-Apps, die auf einem iOS-Gerät ausgeführt werden, muss sich Ihre iOS-Client-App bei APNS registrieren, um dieses Geräte-Token zu erhalten. Auch das Geräte-Token ist normalerweise für die Entwicklungsumgebung & unterschiedlich. Stellen Sie sicher, dass Sie das richtige Token verwenden)

Sobald Sie oben genannten Zertifikat, Schlüssel & Gerät Token für Ihre iOS App haben, können Sie APNS-Benachrichtigungen von Ihrem Anwendungsprovider mit APNS-Schnittstelle senden.

Bitte beachten Sie, dass sich der Geräte-Token jederzeit ändern kann (normalerweise während der iOS-Softwareaktualisierung). Daher ist es immer ratsam, jedes Mal, wenn Ihre App gestartet wird, ein neues Geräte-Token zu erhalten.

Bei Ihrer Anfrage zu Java-Bibliothek für Apns beachten Sie bitte, neue APNS-Schnittstelle hat eine Abhängigkeit von HTTP/2.0. Sowohl Open-Source- als auch Enterprise-Versionen (wie AWS, Urban Luftschiff usw.) sind verfügbar, die Sie je nach Ihren Bedürfnissen auswählen können. Nicht sicher, ob AWS die neue HTTP/2.0-Schnittstelle unterstützt. Es ist jedoch immer ratsam, die neueste APNS-Schnittstelle gemäß Apple-Richtlinien zu verwenden.

Optional können Sie GCM auch zur Implementierung von APNS verwenden. https://developers.google.com/cloud-messaging/ios/start

Allerdings muss sich Ihre iOS App möglicherweise auch für GCM registrieren. Grundsätzlich wird das iOS-Geräte-Token dem GCM-Geräte-Token zugeordnet. Allerdings müssten Sie immer noch Zertifikat, Schlüssel und Geräte-Token generieren, wie ich bereits erwähnt habe.

Ich hoffe, es beantwortet Ihre Anfrage.

_Ayush

+0

Hallo Ayush, ich war auf der Suche auf der notnoop/java-APNs Java-Bibliothek für die Benachrichtigung zu senden. Bedeutet das, dass notnoop/java-apns mit der neuen HTTP/2.0 APNS API bald veraltet sein werden? Für HTTP/1.1 können wir solche Anfragen normalerweise mit dem Standard-Java-JDK senden. Wie implementieren wir es für HTTP/2.0? Welche Bibliothek sollten wir für HTTP/2.0 herunterladen, und gibt es Beispielcodes? Dein erster Link ist nicht wirklich hilfreich, da er zu kurz und auf hohem Niveau ist. Vielen Dank. – user3573403

+0

Hallo, Apple hat eindeutig gesagt: "Alle Entwickler sollten ihre Remote-Benachrichtigungs-Provider-Server auf die leistungsfähigere und effizientere HTTP/2-basierte API migrieren, die in APNs-Provider-API beschrieben wird." Nicht sicher, ob sie die alten APIs wirklich ablehnen würden. HTTP/2.0 wurde kürzlich eingeführt, und leider glaube ich momentan nicht, dass JAVA Unterstützung für dasselbe hat. Einige frühe Spieler wie Jetty, Netty haben HTTP/2.0 implementiert, Sie können das versuchen. Ich denke, JAVA 9 würde Unterstützung für http/2.0 haben, aber ich denke, das ist für Anfang nächsten Jahres für GA geplant. – Ayush

+0

Mit etwas googeln, fand ich "https://github.com/relayrides/pushy", das http/2.0 apns Nachrichten zu unterstützen scheint. Curl sollte AWS das gleiche unterstützen. Sie finden eine Vielzahl von http/2.0 Implementierungen. – Ayush

Verwandte Themen