Je travaille avec les messages pushbase et notificacion pour les appareils mobiles. J'ai configuré la console Firebase avec un projet et deux applications (IOS - ANDROID). Si j'essaie d'envoyer une notification à l'aide de la console Firebase, le message est visible sur le périphérique, mais si j'utilise le protocole HTTP et la méthode POST, la réponse est le code 200 avec ce message: {"multicast_id": ******, "success": 0, "failure": 1, "canonical_ids": 0, "results": [{"error": "InvalidRegistration"}]}. Et je ne sais pas comment trouver l'erreur sur l'enregistrement invalide parce que le message ne pas envoyé au téléphone. J'ai copié le server_key et les tokens pour les applications et je setted ce à partir du serveur:La notification push ne fonctionne pas avec les méthodes HTTP et POST utilisant Java et Cordova-Phonegap
String title = "TITLE";
String message = "THIS IS A MESSAGE";
String APP_ID[] = {
"1:********:ios:*******",
"1:*******:android:*****"
};
String SERVER_KEY="***************....****";
String SERVER_URL = "https://fcm.googleapis.com/fcm/send";
String json = "{"
+ "\"notification\":{"
+ "\"title\": \""+title+"\","
+ "\"body\": \""+message+"\","
+ "\"sound\": \"default\""
+ "},"
+ "\"content_available\": true,"
+ "\"priority\": \"high\","
+ "\"to\": \""+APP_ID[1]+"\""
+ "}";
StringEntity entity = new StringEntity(json);
CloseableHttpClient client = HttpClientBuilder.create().build();
HttpPost request = new HttpPost(SERVER_URL);
request.addHeader("Content-Type", "application/json");
request.addHeader("Authorization", "key="+SERVER_KEY);
request.setEntity(entity);
HttpResponse response = client.execute(request);
responseCode = response.getStatusLine().getStatusCode();
System.out.println(EntityUtils.toString(response.getEntity())+". Status Code: "+responseCode);
client.close();
appareil mobile Dans la configuration est en utilisant Javascript PhoneGap-plugin-push. Lorsque je lance l'application Cordova APP, la console affiche un enregistrement réussi. google-services.json et GoogleServices-info.plist ont été configurés lors de plug-in d'installation en utilisant la commande:
$> cordova plugin add phonegap-plugin-push --variable SENDER_ID = 'SENDER_CODE_extract_from_firebase_project'
Et javascript configuration:
var app = {
bindEvents: function() {
document.addEventListener('deviceready', this.onDeviceReady, false);
},
onDeviceReady: function() {
app.receivedEvent('deviceready');
PushNotification.hasPermission(permissionListener);
var push = PushNotification.init({
android: {
vibrate: true,
sound: true
},
ios: {
alert: true,
sound: true
}
});
push.on('error',errorListener);
push.on('registration',registrationListener);
push.on('notification', notificationListener);
}
};
//FOR PUSH NOTIFICATIONS
/**
* Listen if the device has permissions.
*/
function permissionListener(data) {
console.log('is enabled: '+data.isEnabled);
}
/**
* For registration event
*/
function registrationListener(data){
console.log("Registration id: "+data.registrationId);
console.log("Registration Type: "+data.registrationType);
}
function notificationListener(data){
alert(data.message);
}
function errorListener(e){
console.log("ERROR with PUSH NOTIFICATIONS: "+e.message);
}