对讲更新方法不模拟页面刷新

Intercom update method not simulating page refresh

我们使用 https://www.intercom.com/ 在我们的 AngularJS (1x) 应用程序中提供客户支持。

按照以下位置的集成文档:

https://docs.intercom.com/install-on-your-product-or-site/other-ways-to-get-started/integrate-intercom-in-a-single-page-app

我们叫

对讲机('boot', {$objectWithAppIdEtc})

用户拥有后 登录,然后在每次页面更改后($stateChangeSuccess - uiRouter)我们调用

对讲机('update')

我们在网络选项卡中看到我们在页面更改时 ping 对讲机,但这只 发生前 10 次 。在查阅了文档之后,这让我认为对 Intercom('update') 的调用并没有像预期的那样模拟页面刷新——因此我们被限制了。

此外,当我们在 Intercom 中查看登录用户时,我们看到他们上次查看的页面是调用 Intercom('boot') 时他们所在的页面,而不是我们调用时他们所在的最后页面对讲机('update')。似乎一个可能的解决方案是在页面更改时调用引导方法,但文档明确指出:

But if a user has just caused a “page" change, you would call: window.Intercom('update');

针对特定页面触发的奇怪消息会按应有的方式弹出,但只会弹出前 10 次 - 在 10 次页面更改后,我们的请求将受到限制,不再显示特定于页面的消息。

看起来我们正在按照文档正确地执行所有操作,但是更新调用显然受到限制并且没有模拟刷新。

如果有人有任何见解,将不胜感激。

干杯,斯蒂芬

您问题的答案在 Intercom 文档中https://developers.intercom.com/docs/intercom-javascript#section-intercomupdate

回答您问题的部分:

Update Throttling

You can call Intercom('update') without getting throttled up to 10 times per page refresh. After the 10th call, you'll be throttled and you'll be allowed to call Intercom('update') a maximum of once every 30 minutes. Reloading the page will refresh this state.