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.)
À partir d'ici Obtenez le SDK Java C'est un site officiel pour le moment.
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.
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.
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");
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);
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);
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