运行下面的代码,我得到了可达性已启用的通知和成员的控制台日志,但是当我让其他成员进入/退出页面时,没有事件触发。
/*twilioChat is the return from require: https://media.twiliocdn.com/sdk/js/chat/v3.3/twilio-chat.min.js*/
function chatInit(twilioChat){
$scope.twilioChat = twilioChat;
$scope.twilioChat.Client.create($scope.TOKEN).then(client => {
console.log('Created chat client');
$scope.chatClient = client;
$scope.chatClient.getSubscribedChannels().then(function(){
$scope.chatReady = true;
console.log('chat is ready');
createOrJoinMonitorChannel();
});
}).catch((err) =>{
console.error(err);
})
}
function createOrJoinMonitorChannel(){
$scope.chatClient.getChannelByUniqueName($scope.monitor_listen)
.then(function(channel){
$scope.monitorListenChannel = channel;
setupMonitorChannel();
}).catch(function(err){
console.log(err);
$scope.chatClient.createChannel({
uniqueName: $scope.monitor_listen,
friendlyName: $scope.monitor_listen,
}).then(function(channel){
$scope.monitorListenChannel = channel;
setupMonitorChannel();
}).catch(function(err){
console.log('Monitor Channel could not be created');
console.log(err);
});
});
}
function setupMonitorChannel(){
var status = $scope.monitorListenChannel.state.status;
if(status !== 'joined'){
$scope.monitorListenChannel.join().then(function(channel){
});
}else{
}
$scope.monitorListenChannel.on('memberJoined',function(m){
console.log('member joined');
});
$scope.monitorListenChannel.on('memberLeft',function(m){
console.log('member left');
});
if($scope.chatClient.reachabilityEnabled){
console.log('Enabled');
}else{
console.log('Not Enabled');
}
$member_promise = $scope.monitorListenChannel.getMembers();
$member_promise.then(members=>{
console.log(members);
members.forEach(member=>{
member.on('userInfoUpdated',function(user){
console.log('user info updated') ;
});
})
});
$scope.monitorListenChannel.on('messageAdded', function(message){
var data = isJSONSTR(message.body);
$handler.classroomMonitor(data);
});
}
当您启用可达性时,它会在用户联机或未联机时触发一个事件。可以使用user.on(“updated”,({user,updateRasons})=>{})
事件侦听器。根据您使用的版本,可能不支持userInfoUpdated。
当您监听某个成员何时离开频道时,您必须自己调用channel.leave()。这有帮助吗?
https://media.twiliocdn.com/sdk/js/chat/releases/4.0.0/docs/user.html
问题是,当创建新的专用通道时,事件不会触发。这是否意味着我分配给用户的even the service角色是不正确的,或者channelAdded方法不应该为新的私有通道激发?
我正在开发一个1:1的聊天应用程序。在启动应用程序之前,我使用PHP服务器创建私有通道。正确创建通道。 生成用户令牌,并正确创建聊天客户端。我看到用户也是在服务中创建的。 它显示消息“正在连接....”然后在出现错误时停止。 PHP代码:
我正在尝试创建一个简单的聊天应用程序之间的两个用户,使用twilio js API。 如果它已经存在,则表示另一个用户已经登录,我希望加入此通道。 否则,我想用这个特定名称创建一个通道,并等待其他用户。 我尝试了两种选择:1。聊天客户端。2.IPMessaging客户端。 我正在尝试使用此功能:
我没有收到接收消息的推送通知等,也不确定有什么其他杠杆可供我使用。如果团队中的任何人看到这条消息,我很想知道如何调试它。
下面是我用来创建聊天客户端和加入频道的代码:
控制台-频道-聊天-获取消息 接口URL {youke-url}/console/Index.php?c=live&a=getComment×tamp=1607677497&access_key=abc&sign=97d791101db8600e162935d43cc63f0e3510cb98 请求方式 POST Content-Type form-data 请求Query参数 参数 示