2017-03-21 1 views
1

notification screenshot on IOS Salut J'ai essayé d'envoyer push-notification d'android à ios avec les paramètres personnalisés requis pour mon application. Essayé de l'envoyer comme hashmap comme dans le code ci-dessus mais n'a pas reçu cette notification du tout plutôt que la notification par défaut comme: "vous avez 1 message non lu" .Aussi essayé de l'envoyer comme json (S'il vous plaît se référer au code) est affiché en tant que texte json dans la notification à l'utilisateur comme indiqué dans la capture d'écran ci-jointe. S'il vous plaît aidez-moi avec cela afin que je puisse envoyer une notification avec seulement "message" partie affichée à l'utilisateur et d'autres paramètres personnalisés à utiliser en interne par l'application.PushNotification avec le paramètre personnalisé de Android à IOS va simplement comme du texte

StringifyArrayList<Integer> userIds = new StringifyArrayList<Integer>(); 
    userIds.add(userId1); 

    QBEvent event = new QBEvent(); 
    event.setUserIds(userIds); 

    event.setEnvironment(QBEnvironment.DEVELOPMENT); 
    event.setNotificationType(QBNotificationType.PUSH); 
    event.setPushType(QBPushType.APNS); 

    JSONObject json = new JSONObject(); 
    JSONObject json1 = new JSONObject(); 
    try { 
     // standart parameters 

     json.put("text", message); 

     // custom parameters 
     json1.put("sellerName", sellerName); 
     json1.put("Buyer Name", buyerName); 
     json1.put("Type",type); 

     json.put("custom",json1); 

    } catch (Exception e) { 
     e.printStackTrace(); 
    } 
    //HashMap<String, Object> data = new HashMap<String, Object>(); 
    //data.put("message", message); 
    // data.put("sellerName",sellerName); 
    //data.put("Type", type); 
    //event.setMessage(data); 
    event.setMessage(json.toString()); 


    QBPushNotifications.createEvent(event).performAsync(new QBEntityCallback<QBEvent>() { 
     @Override 
     public void onSuccess(QBEvent qbEvent, Bundle bundle) { 

      System.out.println("QBPush Message success"+qbEvent.getMessage()); 
     } 

     @Override 
     public void onError(QBResponseException e) { 
      // System.out.println(" QB Error in Push Message success"); 
      e.printStackTrace(); 

     } 
    }); 

Répondre

0

Si vous devez envoyer la notification push universelle (celui qui va à toutes les plates-formes, non seulement iOS ou Android), vous devez omettre PushType:

event.setPushType(QBPushType.APNS); 

De doc:

https://quickblox.com/developers/Messages#Create_event

événement

[push_type]:

  • Si non présent - La notification sera transmise à tous les dispositifs possibles pour les utilisateurs spécifiés.
  • Si spécifié - La notification sera livrée à la plate-forme spécifiée ne

Vous pouvez consulter les notifications push page exemple de code pour recevoir plus d'extraits de code (notifications push Universal -> Avec des paramètres personnalisés): https://quickblox.com/developers/SimpleSample-messages_users-android#Universal_push_notifications

+0

Merci pour la réponse, mais lorsque je supprime le event.setPushType (QBPushType.APNS) la méthode createEvent renvoie une erreur: com.quickblox.core.exception.QBResponseException: Personne ne peut recevoir le message à com.quickblox.core.parser. QBJsonParser.parse (SourceFile: 89) – Kavya

+0

et de toute façon j'ai besoin de s fin push notification spécifiquement à IOS. Le problème auquel je suis confronté est que lorsque je reçois la notification sur ios, il ne divise pas la partie message seul et affiche dans le texte de notification et garde les paramètres json personnalisés dans le dictionnaire. Comment puis-je y parvenir? veuillez suggérer. – Kavya