android - 如何将用户加入到在 twilio 中使用 android 创建的频道
问题描述
我在 Android 上有 2 个应用程序,在我的应用程序 Patient 中,我使用令牌创建客户端以在 Twilio 中创建通道,我创建的通道是以下保存在字符串中的1Doc_3Pac,我可以从 Patient 应用程序加入此通道而无需使用通道方法.join 的问题。但是当我尝试使用相同的方法从我的护理应用程序加入这个频道时,创建一个客户端,然后加入一个我找不到的频道。在我看来,我使用的方法是不够的,我在这里留下我的代码。
在这里,我使用令牌创建我的客户端。
public void build(String token, final TaskCompletionListener<ChatClient, String> listener) {
ChatClient.Properties props = new ChatClient.Properties.Builder()
.createProperties();
buildListener = listener;
ChatClient.create(context.getApplicationContext(),
token,
props,
this);
}
在这里,我与客户一起创建我的频道
public void createCustomizedChannel(String name, final TaskCompletionListener<Channel, String> listener) {
mChannelsObject.channelBuilder()
.withFriendlyName(name)
.withType(Channel.ChannelType.PUBLIC)
.build(new CallbackListener<Channel>() {
@Override
public void onSuccess(final Channel newChannel) {
if (newChannel != null) {
listener.onSuccess(newChannel);
}
}
@Override
public void onError(ErrorInfo errorInfo) {
}
});
}
这里加入了我自定义创建的频道
public void joinChannel(final Channel channel, final TaskCompletionListener<Channel, String> listener) {
channel.join(new StatusListener() {
@Override
public void onSuccess() {
listener.onSuccess(channel);
}
@Override
public void onError(ErrorInfo errorInfo) {
super.onError(errorInfo);
}
});
}
在我的护士应用程序中,我找不到我的频道1Doc_3Pac
private void loadChannels() {
mChatClient.getChannels().getChannel("1Doc_3Pac ", new CallbackListener<Channel>() {
@Override
public void onSuccess(Channel channel) {
if (channel != null) {
Log.d(TAG, "Joining Channel: " + DEFAULT_CHANNEL_NAME);
joinChannel(channel);
} else {
Log.d(TAG, "Creating Channel: " + DEFAULT_CHANNEL_NAME);
mChatClient.getChannels().createChannel(DEFAULT_CHANNEL_NAME,
Channel.ChannelType.PUBLIC, new CallbackListener<Channel>() {
@Override
public void onSuccess(Channel channel) {
if (channel != null) {
Log.d(TAG, "Joining Channel: " + DEFAULT_CHANNEL_NAME);
joinChannel(channel);
}
}
@Override
public void onError(ErrorInfo errorInfo) {
Log.e(TAG, "Error creating channel: " + errorInfo.getMessage());
}
});
}
}
@Override
public void onError(ErrorInfo errorInfo) {
Log.e(TAG, "Error retrieving channel: " + errorInfo.getMessage());
}
});
使用此消息落在 onError 方法上
找不到频道
解决方案
推荐阅读
- sql - 在 ETL 的转换步骤中使用多少临时/临时表?
- firebase - 如何获取 Flutter Firestore 中的总价值?
- javascript - 在P5 js中找到围绕其中心点旋转的正方形平面的顶点坐标(x,y,z)
- flutter - 没有为类型“type”定义方法“fromjson”
- uicollectionview - 使用 UICollectionViewCompositionalLayout 自动调整单元格大小
- python - Py3 - 如何导入?
- twilio - 自定义 Twilio SMS 选择退出响应消息
- android - 运行 ionic cordova build android 命令时的问题
- javascript - 我正在从实时 firebase 数据库调用数据,但它不起作用
- regression - 如果多个模型中的一个子类别显示显着性,我可以得出整个变量显着的结论吗?