0

J'utilise le dirigeable urbain pour envoyer une notification push à mon application android. J'envoie un contenu json à partir de mon serveur backend comme contenu pushUrbanairship personnaliser le contenu du message de notification push

push fonctionne correctement & Je peux obtenir le contenu push. Le message Push s'affiche également dans la barre de notification de l'appareil.

Mais le problème est que la notification push affiche le contenu json. Je dois le personnaliser & montre un message lisible par l'homme.

Voici la méthode onPushReceived dans ma classe IntentReceiver ..

@Override 
protected void onPushReceived(Context context, PushMessage message, int notificationId) { 
    Log.i(TAG, "Received push notification. Alert: " + message.getAlert() + ". Notification ID: " + notificationId); 

    String data = message.getAlert(); 
    try { 
     JSONObject dataObj = new JSONObject(data); 

     Logger.info("Data obj " + dataObj.toString()); 

     JsonDecoders.decodePushMessage(dataObj); // method to decode the json content 

    } catch (JSONException e) { 
     e.printStackTrace(); 
    } 

    // try to build a new notification message. 
    Intent intent = new Intent(context, MainActivity.class); 
    PendingIntent contentIntent = PendingIntent.getActivity(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT); 

    NotificationCompat.Builder b = new NotificationCompat.Builder(context); 

    b.setAutoCancel(true) 
      .setDefaults(Notification.DEFAULT_ALL) 
      .setWhen(System.currentTimeMillis()) 
      .setSmallIcon(R.mipmap.ic_launcher) 
      .setTicker("Ticker") 
      .setContentTitle("Title") 
      .setContentText("Lorem ipsum dolor sit amet, consectetur adipiscing elit.") 
      .setDefaults(Notification.DEFAULT_LIGHTS| Notification.DEFAULT_SOUND) 
      .setContentIntent(contentIntent) 
      .setContentInfo("some info"); 


    NotificationManager notificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE); 
    notificationManager.notify(1, b.build()); 

} 

je peux décoder le contenu Push.

J'ai essayé d'ajouter une notification via NotificationManager, mais deux notifications apparaissent dans la barre de notification. Je dois passer outre le contenu de la poussée des dirigeables urbains. Y a-t-il une méthode ou un moyen de le faire? Je suis allé à travers la documentation & n'a rien pu trouver.

espoir quelqu'un peut me aider ..

Merci d'avance.

Répondre

2

Urban Airship prend en charge les notifications personnalisées, mais vous devez laisser Urban Airship poster la notification. Vous voudrez fournir un custom notification factory au lieu de créer une notification dans le récepteur. Cependant, vous pouvez probablement éviter cela en ne transmettant pas de contenu JSON lorsque les messages sont alertés et en envoyant les données supplémentaires en tant que données supplémentaires dans la charge utile de push.

+0

Merci beaucoup. Je pense que tu as répondu à ma question :) –