Sendbird’s chat API, voice API, & video API, native Chat SDKs, feature-rich platform, and pre-fab UI components make developers more productive. We take care of a ton of operational complexity under the hood, so you can power a rich chat service, and life-like voice, and video experiences, and not worry about features, edge cases, reliability, or scale.
Check out our docs
SBDMain.initWithApplicationId(appId)
SBDMain.connectWithUserId(userId, completionHandler: {
(user:SBDUser?, err:SBDError?) in
SBDMain.addChannelDelegate(self, identifier:handlerId)
// get channel
SBDGroupChannel.getChannelWithUrl(channelUrl, completionHandler: {
(channel:SBDGroupChannel?, err:SBDError?) in
// send message
channel?.sendUserMessage(message, completionHandler: {
(message:SBDUserMessage?, err:SBDError?) in
// message sent
})
})
})
override func channel(sender: SBDBaseChannel,
didReceiveMessage message: SBDBaseMessage) {
// message received
}
Sendbird.init(appId, context);
Sendbird.addChannelHandler(handlerId, new Sendbird.ChannelHandler() {
@Override
public void onMessageReceived(BaseChannel baseChannel, BaseMessage baseMessage) {
// message received
}
});
Sendbird.connect(userId, new ConnectHandler() {
@Override
public void onConnected(User user, SendbirdException e) {
// get channel
GroupChannel.getChannel(channelUrl, new GroupChannel.GroupChannelGetHandler() {
@Override
public void onResult(GroupChannel groupChannel, SendbirdException e) {
// send message
groupChannel.sendUserMessage(message,
new BaseChannel.SendUserMessageHandler() {
@Override
public void onSent(UserMessage userMessage, SendbirdException e) {
// message sent
}
});
}
});
}
});
const sb = new Sendbird({ appId : 'YOUR-APP-ID' });
const channelHandler = new sb.ChannelHandler();
channelHandler.onMessageReceived = (channel, message) => {
// message received
};
sb.addChannelHandler(handlerId, channelHandler);
sb.connect(userId, (user, err) => {
// get channel
sb.GroupChannel.getChannel(channelUrl, (channel, err) => {
// send message
channel.sendUserMessage(message, (message, err) => {
// message sent
});
});
});
SendbirdClient.Init(appId);
const SendbirdClient.ChannelHandler channelHandler = new SendbirdClient.ChannelHandler();
channelHandler.OnMessageReceived = (BaseChannel baseChannel, BaseMessage baseMessage) => {
// message received
};
SendbirdClient.AddChannelHandler(handlerId, channelHandler);
SendbirdClient.Connect(userId, (User user, SendbirdException connectException) => {
// get channel
GroupChannel.GetChannel(channelUrl,
(GroupChannel groupChannel, SendbirdException getChannelException) => {
// send message
groupChannel.SendUserMessage(message,
(UserMessage userMessage, SendbirdException sendMessageException) => {
// message sent
});
});
});
SendbirdClient.Init(appId);
const SendbirdClient.ChannelHandler channelHandler = new SendbirdClient.ChannelHandler();
channelHandler.OnMessageReceived = (BaseChannel baseChannel, BaseMessage baseMessage) => {
// message received
};
SendbirdClient.AddChannelHandler(handlerId, channelHandler);
SendbirdClient.Connect(userId, (User user, SendbirdException connectException) => {
// get channel
GroupChannel.GetChannel(channelUrl,
(GroupChannel groupChannel, SendbirdException getChannelException) => {
// send message
groupChannel.SendUserMessage(message,
(UserMessage userMessage, SendbirdException sendMessageException) => {
// message sent
});
});
});
import requests
# Send a message
response = requests.request(
method='POST',
url=f'https://api-{YOUR_APP_ID}.sendbird.com/v3/group_channels/{channel_url}/messages',
headers={
'Api-Token': API_TOKEN,
},
json={
'message_type': 'MESG',
'user_id': 'user-1',
'message': 'Hello Sendbird!',
},
)