Senden und Empfangen von Textnachrichten
Product deprecation notice
Effective April 30th, 2026, Vonage In-App Messaging will no longer be available. Access for new users will be closed, and the service will be discontinued for all existing users.
If you have any questions regarding this product’s discontinuation, please contact your account manager or our support team.
Übersicht
Diese Anleitung behandelt das Senden und Empfangen von Nachrichten innerhalb einer Konversation.
Bevor Sie beginnen, stellen Sie sicher, dass Sie das SDK zu Ihrer Anwendung hinzugefügt und Sie sind in der Lage ein Gespräch führen.
HINWEIS: Eine Schritt-für-Schritt-Anleitung zur Erstellung einer Chat-Anwendung ist verfügbar hier.
Dieser Leitfaden stützt sich auf die folgenden Concepts:
- Konversation Veranstaltungen -
messageEreignisse, die bei einer Konversation ausgelöst werden, nachdem Sie ein Mitglied sind
Senden einer Textnachricht
Bei einer Unterhaltung, an der Sie bereits beteiligt sind:
conversation.sendMessage({
"message_type": "text",
"text": "Hi Vonage!"
}).then((event) => {
console.log("message was sent", event);
}).catch((error)=>{
console.error("error sending the message ", error);
});
val messageText = "TEXT TO SEND"
val massage = NexmoMessage.fromText(messageText)
conversation.sendMessage(message, object : NexmoRequestListener<Void> {
override fun onSuccess(p0: Void?) {
Log.d("TAG", "Message has been sent")
}
override fun onError(apiError: NexmoApiError) {
Log.d("TAG", "Error: Message not sent ${apiError.message}")
}
})
String messageText = "TEXT TO SEND";
NexmoMessage massage = NexmoMessage.fromText(messageText);
conversation.sendMessage(message, new NexmoRequestListener<Void>() {
public void onSuccess(@Nullable Void p0) {
Log.d("TAG", "Message sent");
}
public void onError(@NotNull NexmoApiError apiError) {
Log.d("TAG", "Error: Message not sent " + apiError.getMessage());
}
});
let message = NXMMessage(text: "")
conversation.sendMessage(message, completionHandler: { [weak self] (error) in
...
})
NXMessage *message = [[NXMMessage alloc] initWithText:@""];
[conversation sendMessage:message completionHandler:^(NSError * _Nullable error) {
...
}];
Empfangen einer Textnachricht
A message Konversationsereignis wird empfangen, wenn ein Mitglied eine Textnachricht an eine Konversation sendet:
conversation.on('message', (sender, event) => {
console.log('*** Message received', sender, event)
});
private val messageListener = object : NexmoMessageEventListener {
override fun onTypingEvent(typingEvent: NexmoTypingEvent) {}
override fun onAttachmentEvent(attachmentEvent: NexmoAttachmentEvent) {}
override fun onMessageEvent(messageEvent: NexmoMessageEvent) {
val userName = messageEvent.embeddedInfo.user.name
val text = messageEvent.message.text
Log.d("TAG", "Message received. User $userName : $text")
}
override fun onSeenReceipt(seenEvent: NexmoSeenEvent) {}
override fun onEventDeleted(deletedEvent: NexmoDeletedEvent) {}
override fun onDeliveredReceipt(deliveredEvent: NexmoDeliveredEvent) {}
}
conversation?.addMessageEventListener(messageListener)
NexmoMessageEventListener messageListener = new NexmoMessageEventListener() {
@Override
public void onMessageEvent(@NonNull NexmoMessageEvent messageEvent) {
String userName = messageEvent.getEmbeddedInfo().getUser().getName();
String text = messageEvent.getMessage().getText();
Log.d("TAG", "Message received. User " + userName + " : " + text);
}
@Override
public void onAttachmentEvent(@NonNull NexmoAttachmentEvent attachmentEvent) {}
@Override
public void onEventDeleted(@NonNull NexmoDeletedEvent deletedEvent) {}
@Override
public void onSeenReceipt(@NonNull NexmoSeenEvent seenEvent) {}
@Override
public void onDeliveredReceipt(@NonNull NexmoDeliveredEvent deliveredEvent) {}
@Override
public void onTypingEvent(@NonNull NexmoTypingEvent typingEvent) {}
};
conversation.addMessageEventListener(messageListener);
hinzufügen NXMConversationDelegate als Erweiterung zu einer ViewController oder ähnlich, und implementieren conversation(_ conversation: NXMConversation, didReceive event: NXMMessageEvent):
Hinweis: Die erste Methode unten ist erforderlich, wenn die NXMConversationDelegate:
extension ViewController: NXMConversationDelegate {
func conversation(_ conversation: NXMConversation, didReceive error: Error) {
NSLog("Conversation error: \(error.localizedDescription)")
}
func conversation(_ conversation: NXMConversation, didReceive event: NXMMessageEvent) {
NSLog("Received message event: \(event.text ?? "")")
}
}
Haben Sie eine ViewControlleroder ähnlich, entsprechen NXMConversationDelegate und umsetzen conversation:didReceiveMessageEvent::
Hinweis: Die erste Methode unten ist erforderlich, wenn die NXMConversationDelegate:
- (void)conversation:(NXMConversation *)conversation didReceive:(NSError *)error {
NSLog(@"Conversation error: %@", error.localizedDescription);
}
- (void)conversation:(NXMConversation *)conversation didReceiveMessageEvent:(NXMMessageEvent *)event {
NSLog(@"Received message event: %@", event.text);
}