Quickblox - GCM, wird an alle Geräte gesendet? - Android, Quickblox

Wenn ich in Quickblox GCM versuche, eine Nachricht per Push an eine bestimmte Benutzer-ID zu senden, erhalte ich die Benachrichtigung auch auf dem Gerät des Absenders. Ich bin mir nicht sicher warum, ist das im Entwicklungsmodus die Norm?

QBEvent event = new QBEvent();
event.setUserId(sendToUserId);
event.setType(QBEventType.ONE_SHOT);
event.setEnvironment(QBEnvironment.DEVELOPMENT);
event.setNotificationType(QBNotificationType.PUSH);
event.setPushType(QBPushType.GCM);
HashMap<String, String> data = new HashMap<String, String>();
data.put("data.message", "Message from John");
data.put("data.type", "Notify");
data.put("ParentId",dialogId.toString());
event.setMessage(data);

QBMessages.createEvent(event, new QBEntityCallbackImpl<QBEvent>() {
@Override
public void onSuccess(QBEvent qbEvent, Bundle args) {
System.out.println("GCM Message Sent inside event " );
}

@Override
public void onError(List<String> errors) {
System.out.println("GCM Message ERROR inside event ");
}
});

Der obige Code sendet ein GCM, aber an beide Geräte. Die sendToUserId sowie das Gerät des Absenders.

Mache ich etwas falsch?

Antworten:

0 für die Antwort № 1

Eigentlich musst du das nicht einstellen Benutzeridentifikation Feld - es kommt in einer Antwort vom Server und enthält die ID eines Absenders

Sehen Sie sich das Push-Codebeispiel an http://quickblox.com/developers/SimpleSample-messages_users-android#Send_Push_Notifications_from_Application

// recipients
StringifyArrayList<Integer> userIds = new StringifyArrayList<Integer>();
userIds.add(53779);
userIds.add(960);

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

So sollte es sein Benutzer-IDs, nicht Benutzer-ID