2017-08-08 13 views
0

私は自分のプロジェクトでquickblox SDKを使用しています。 それについて質問があります。公開チャットグループの他のユーザーにプッシュ通知を送信するquickblox

Plzを私はPUBLICチャットグループ内の他のユーザーにプッシュ通知を送信したい

をお勧めします。 は、私は、イベントを作成することにより、プライベートチャットでそれを行うと、この

public void createEvent(String message, List<Integer> userIds) { 
     StringifyArrayList<Integer> userIds_ = new StringifyArrayList<Integer>(userIds); 
     QBEvent event = new QBEvent(); 
     event.setUserIds(userIds_); 
     event.setEnvironment(QBEnvironment.PRODUCTION); 
     event.setNotificationType(QBNotificationType.PUSH); 
     HashMap<String, Object> messageData = new HashMap<>(); 
     messageData.put("message", message); 
     messageData.put("firID", KApp.getInstance().getCurrentUser().getId()); 
     messageData.put("name", KApp.getInstance().getCurrentUser().getName()); 
     event.setMessage(messageData); 
QBPushNotifications.createEvent(event).performAsync(new QBEntityCallback<QBEvent>() { 
      @Override 
      public void onSuccess(QBEvent qbEvent, Bundle bundle) { 
       System.out.print("Create event success"); 
       System.out.print(qbEvent.toString()); 
      } 
    @Override 
      public void onError(QBResponseException e) { 
       System.out.print("Create event error : " + e.getLocalizedMessage()); 
      } 
     }); 
    } 

のような友人に送信しかし、PUBLICチャットダイアログで、私はリストのユーザーIDを取得することはできません、それはなかれ空に返すことができます。

PUBLICグループの他のメンバーにプッシュ通知を送信するにはどうすればよいですか?

答えて

1

パブリックグループチャットですべてのユーザーがチャットできるため、PUBLIC_GROUPにプッシュを送信する意味がありません。乗員にダイアログを通知する必要がある場合は、GROUPダイアログを使用します。注:PUBLIC_GROUPダイアログにoccupants_idsが含まれていないため、PUBLIC_GROUPダイアログにはユーザーがオフラインのときにメッセージをプッシュしません。

+0

ご返信ありがとうございます。私のsceneroで、作成者は空を公開し、他のユーザーは後で参加することができるので、ユーザーリストは最初から消去されないので、ユーザーGROUPダイアログは表示されません。 –

+0

新しいPUBLIC_GROUPの作成についてQuickBloxアプリのすべてのユーザーに通知する場合は、ブロードキャストプッシュ通知を使用できます。それは通常通りQBEventを作成しますが、userIdsは設定しません。 –

0

PUBLIC_GROUPSはオープングループです。 GROUPとPUBLIC_GROUPの違いは、関連する参加者のレコードがのように保持されないことです。user_idsまたはunread_count。参加者データは、独自のバックエンドサーバーまたはローカルに保存する必要があります。

関連する問題