将呼叫记录服务注册到 RingCentral Embeddable 会导致未定义错误

问题描述

看来我目前使用 RingCentral Embeddable 注册第三方服务(我的单页应用程序)的所有尝试都证明难的。我正在使用类型为 postMessagerc-adapter-register-third-party-service API,结果仍然是 "undefined"

document.querySelector("#rc-widget-adapter-frame").contentwindow.postMessage({
  type: 'rc-adapter-register-third-party-service',service: {
    name: 'TestService'
  }
},'*');

是否有解决方案,因为我已成功接听来电。当我使用 "rc-adapter-new-call" 类型进行出站呼叫时,它也可以工作,但事实证明第三方集成很困难,而且软电话上也没有弹出链接

欲了解更多详情,请参阅...

https://github.com/ringcentral/ringcentral-embeddable/blob/master/docs/third-party-service-in-widget.md#register-your-service

谢谢!

解决方法

我认为问题是我们需要在加载小部件后注册服务。 这是它的演示。让我更新可嵌入的文档。

var registered = false;
window.addEventListener('message',function (e) {
  const data = e.data;
  if (data && data.type === 'rc-login-status-notify' && registered === false) {
    registered = true;
    registerService();
  }
});