如何将用户加入使用Android在twilio中创建的频道

时间:2019-03-27 17:24:01

标签: android twilio chat twilio-api

我在Android上有2个应用程序,在我的应用程序Patient中,我使用令牌在Twilio中创建频道的方式来创建客户端,我创建的频道是以下保存在字符串中的 1Doc_3Pac ,我可以使用channel方法.join从Patient应用程序加入此频道,而不会出现问题。但是,当我尝试使用相同的方法从我的护理应用程序加入此频道时,创建一个客户端,然后加入一个我找不到的频道。在我看来,我使用的方法在这里还不够用。

在这里我用令牌创建客户端。

 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);
            }
        });
    }

在我的Nurse App中,我找不到频道 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方法

  

找不到频道

0 个答案:

没有答案