我正在尝试将Intercom应用到ReactJS应用中。我按照他们的单页应用说明进行操作。我有一个问题(也许是设计问题?),除非向用户发送消息,否则右下方的小内部通信按钮不会显示。我希望用户可以看到 始终 按钮。当我第一次集成时,我能够显示按钮并且能够发送消息,因为用户没有问题,但在对代码进行一些修补之后,我似乎已经破坏了它。到目前为止我所拥有的是:
store.js
import createStore from 'redux';
export default createStore( ... );
intercom.js
import store from './store';
const APP_ID = /* app id */;
/* the intercom JS library */
const updated = false;
window.onload = () => {
Intercom('boot', { app_id: APP_ID };
store.subscribe(() => {
if (typeof document === 'undefined') return;
const state = store.getState();
const currentUser = currentUserSelector(state);
if (currentUser && !updated) {
updated = true;
Intercom('update', {
email: currentUser.email,
user_id: currentUser.id,
name: `${ currentUser.firstName } ${ currentUser.lastName }`
});
}
});
}
我在应用加载时运行的其中一个文件中有require('intercom.js')
。
控制台中没有错误,内部通信websocket显示在Chrome的开发中。收到消息时,控制台和客户端会打开,但我无法在页面加载时显示它。
提前致谢。
(我已将此标记为React,因为它是一个React应用程序 - 我不认为这与React有任何关系,但也许有一些副作用,我不会这样做'知道)。
答案 0 :(得分:0)
好的 - 简单的错误。原来我订阅的计划不支持非访客聊天。我不得不“升级”到“Resolve Lite”计划 - 此时,我可以更改信使行为,在信使设置视图中将按钮/信使显示为“用户”。