Envoyer des notifications push à l'aide de Notification Hubs en Java

Notez que j'ai décidé d'envoyer des notifications push en utilisant les hubs de notification d'Azure. Développement côté serveur. (Je ne connais pas l'application pour smartphone.)

Obtenez le SDK Java

À partir d'ici Obtenez le SDK Java C'est un site officiel pour le moment.

Compiler et construire

Puisque la commande maven est utilisée, si vous n'avez pas installé maven, voir ici Exécutez simplement la commande maven dans le dossier où se trouve pom.xml

cd NotificationHubs
mvn package

Ensuite, Notification-Hubs-java-sdk-0.1.0.jar peut être créé sous target. Placez-le dans un dossier qui se trouve dans votre chemin.

Comment utiliser

Il est censé être envoyé en spécifiant une balise. On suppose que le jeton et la balise sont enregistrés à l'avance dans Notification Hubs.

Le jeton ressemble à une adresse e-mail La balise est une image comme une adresse e-mail.

Si vous spécifiez une balise et envoyez une notification push, la notification push sera envoyée à tous les jetons associés à cette balise.

Envoyer une notification push (transmission immédiate)

String connectionString = "Endpoint=sb://xxxxx.servicebus.windows.net/;SharedAccessKeyName=DefaultFullSharedAccessSignature;SharedAccessKey=~~~~~";
String hubPath = "Nom des hubs de notification";

NotificationHub hub = new NotificationHub(connectionString, hubPath);
String message = "notification push";

String body = String.format("{\"data\":{\"message\":\"%s\"}}", message);

//Pour les terminaux Android
Notification notifiation = Notification.createFcmNotifiation(body);

hub.sendNotification(notifiation, "Nom de la balise");

Transmission de notification push (date et heure de transmission spécifiées)

String connectionString = "Endpoint=sb://xxxxx.servicebus.windows.net/;SharedAccessKeyName=DefaultFullSharedAccessSignature;SharedAccessKey=~~~~~";
String hubPath = "Nom des hubs de notification";

NotificationHub hub = new NotificationHub(connectionString, hubPath);
String message = "notification push";

String body = String.format("{\"data\":{\"message\":\"%s\"}}", message);

//Pour les terminaux Android
Notification notifiation = Notification.createFcmNotifiation(body);

SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = dateFormat.parse("2020-01-01 00:00:00");

hub.scheduleNotification(notifiation, "Nom de la balise", date);

Enregistrement des jetons et des tags

J'ai mentionné qu'il est supposé que le jeton et la balise sont enregistrés à l'avance dans Notification Hubs, Vous pouvez également enregistrer des jetons et des balises côté serveur. (Si vous connaissez le jeton et l'étiquette)

//Pour les appareils Android
Registration reg = new FcmRegistration("jeton");
reg.getTags().add("Nom de la balise");

NotificationHub hub = new NotificationHub(connectionString, hubPath);
Registration registreg = hub.createRegistration(reg);

Supprimer les jetons et les balises

Si vous souhaitez supprimer le jeton et la balise, spécifiez la balise ou spécifiez RegistrationId.

-Veuillez noter que lors de la suppression avec une balise, les jetons involontaires seront également supprimés. -RegistrationId est emballé dans le résultat de l'enregistrement (registreg dans la source ci-dessus) en enregistrant des jetons et des balises. Cette valeur vous permet d'identifier de manière unique le jeton et la balise.

NotificationHub hub = new NotificationHub(connectionString, hubPath);

//Supprimer en spécifiant une balise
CollectionResult collectionResult = hub.getRegistrationsByTag(tag);
for (Registration registration:collectionResult.getRegistrations()) {
    hub.deleteRegistration(registration.getRegistrationId());
}

//Supprimer en spécifiant RegistrationId
hub.deleteRegistration(registreg.getRegistrationId());

Recommended Posts

Envoyer des notifications push à l'aide de Notification Hubs en Java
J'ai essayé d'implémenter la notification push Firebase en Java
Essayez d'utiliser RocksDB avec Java
Connexion HTTPS utilisant tls1.2 dans Java 6
J'ai essayé d'utiliser JWT en Java
Essayez d'utiliser l'API Stream en Java
Appelez l'API de notification Windows en Java
[Java] Envoyer un e-mail à l'aide d'Amazon SES
ERRORCODE = -4471 se produit dans une application Java qui utilise Db2.
Essayez d'utiliser l'API au format JSON en Java
Lire Felica en utilisant RC-S380 (PaSoRi) en Java
ChatWork4j pour l'utilisation de l'API ChatWork en Java
Je souhaite envoyer un e-mail en Java.
[Java] Création d'API à l'aide de Jerjey (Jax-rs) avec eclipse
Essayez d'utiliser Sourcetrail (version win) avec du code Java
Essayez d'utiliser l'API Cloud Vision de GCP en Java
Essayez d'utiliser Sourcetrail (version macOS) avec du code Java
Faire correspondre les adresses IP à l'aide d'expressions régulières en Java
Afficher "Hello World" dans le navigateur à l'aide de Java
Afficher "Hello World" dans le navigateur à l'aide de Java
Essayez d'utiliser l'analyse syntaxique de l'API COTOHA en Java
NLP4J [001b] Analyse morphologique en Java (utilisant kuromoji)
Changements dans Java 11
Janken à Java
Taux circonférentiel à Java
FizzBuzz en Java
Convertir JSON et YAML en Java (en utilisant Jackson et SnakeYAML)
Il est tard! Essayez d'implémenter la notification Android en Java (débutant)
Faire des notifications PUSH avec des images avec Firebase Cloud Messaging
Comment convertir A en A et A en A en utilisant le produit logique et la somme en Java
J'ai essayé d'utiliser l'instruction Extended for en Java
Essayez le hooking global en Java à l'aide de la bibliothèque JNativeHook
Différences de code lors de l'utilisation du système de longueur en Java