如何将 Quickblox 与 angularjs 集成?

Posted

技术标签:

【中文标题】如何将 Quickblox 与 angularjs 集成?【英文标题】:How to Integrate Quickblox with angularjs? 【发布时间】:2016-07-07 13:56:15 【问题描述】:

如何将 Quickblox 与 AngularJs 集成?

我已经使用它的示例 js 完成了登录,并且还通过控制台获得了来电的响应。

但现在我想集成 Quickblox 的听众,比如

onCallListener,onAcceptCallListener,onRejectCallListener 等不工作。

请帮我解决,我错过了什么?谢谢。

【问题讨论】:

我现在遇到的同样的问题。我无法在控制器中使用示例 app.js 的侦听器。也不能在 app.js @coDe murDerer 之外使用该侦听器 【参考方案1】:

只需在主索引页面的正文中添加以下代码即可进行 quickblox 集成。

<aside class="msg_board" id="msg_board"></aside>

【讨论】:

【参考方案2】:

通过此链接将 quickblox 集成到 angular js Here 集成 SDK 后使用用户凭据(电子邮件或密码)初始化 SDK,然后初始化所有处理程序以进行事件处理。

function setupAllListeners() 
  QB.chat.onDisconnectedListener    = onDisconnectedListener;
  QB.chat.onReconnectListener       = onReconnectListener;
  QB.chat.onMessageListener         = onMessage;
  QB.chat.onSystemMessageListener   = onSystemMessageListener;
  QB.chat.onDeliveredStatusListener = onDeliveredStatusListener;
  QB.chat.onReadStatusListener      = onReadStatusListener;
  setupIsTypingHandler();

然后实现处理所有事件的函数,例如

// on message listener
//
function onMessage(userId, msg) 

  // check if it's a mesasges for current dialog
  //
  if (isMessageForCurrentDialog(userId, msg.dialog_id))
    dialogsMessages.push(msg);

    if (msg.markable === 1) 
      sendReadStatus(userId, msg.id, msg.dialog_id);
    

    // сheck if it's an attachment
    //
    var messageAttachmentFileId = null;
    if (msg.extension.hasOwnProperty("attachments")) 
      if(msg.extension.attachments.length > 0) 
        messageAttachmentFileId = msg.extension.attachments[0].id;
      
    

    showMessage(userId, msg, messageAttachmentFileId);
  
  // Here we process the regular messages
  //
  updateDialogsList(msg.dialog_id, msg.body);

每当从另一端发送消息时它都会调用。

【讨论】:

以上是关于如何将 Quickblox 与 angularjs 集成?的主要内容,如果未能解决你的问题,请参考以下文章

Quickblox - 如何将通知推送到 Android 和 iOS 平台?

如何将过滤器附加到 QuickBlox 的 videoTrack?

QuickBlox 使用 Facebook 自己的 SDK 登录?

我如何在 quickblox iOS 代码中实现贴纸

如何实现 Quickblox 视频聊天

Quickblox 内容与自定义对象文件