Intercom.io集成Ember.js应用程序。
使用Ember-CLI ember install ember-intercom-io安装此插件
将{{intercom-io}}组件添加到模板之一中,每当渲染此组件时,聊天小部件就会出现,并且每当被销毁时都会消失。
在您的config/environment.js文件中,您必须提供appId
module . exports = function ( environment ) {
...
intercom: {
appId : null , // <-- REPLACE WITH YOUR INTERCOM.IO app_id
enabled : true , // <-- Setting to false in your testing environment prevents unneccessary network requests (true by default)
userProperties : {
createdAtProp : 'createdAt' ,
emailProp : 'email' ,
nameProp : 'name' ,
userHashProp : 'hash' ,
userIdProp : 'id'
}
} ,
...
} ; 在Intercom.io World中,潜在客户是您网站或应用程序的访问者,而无需与他们关联的电子邮件或名称。用户有一个名称和电子邮件,是跟踪与单个人的所有互动历史的良好结构。
您可以通过在intercom服务(即,您的用户身份验证服务)中添加对象来使ember-intercom-io意识到“用户”上下文(转移到“用户”模式)而不是“引线”模式)。
当应用程序更新intercom.user对象时,更改将发送到Intercom并在对讲仪表板中反射。
应用程序/服务/authentication.js
import Service , { inject as service } from '@ember/service' ;
export default Service . extend ( {
intercom : service ( ) , // the intercom service
didLogin ( user ) {
...
this . get ( 'intercom' ) . set ( 'user.name' , 'Joe Username' ) ;
this . get ( 'intercom' ) . set ( 'user.email' , '[email protected]' ) ;
this . get ( 'intercom' ) . set ( 'user.createdAt' , 1447135065173 ) ;
}
} ) ; 要将自定义属性发送到Intercom,请将它们添加到intercom.user对象。所有属性名称将在发送之前进行划定。未定义的值将被删除(但是,保留null )。
let customProperties = {
myCustomThing : 1 ,
numberOfCats : false ,
notDefined : undefined
}
set ( this , 'intercom.user' , customProperties ) ;变成
{
my_custom_thing : 1 ,
number_of_cats : false
} intercom服务公开了几种与Intercom.com现有JavaScript API匹配的公共API方法。有关客户端API的完整详细信息,请阅读Intercom文档。
| 姓名 | 类型 |
|---|---|
| 自动化 | 布尔 |
| HidedEfaultLauncher | 布尔 |
| 等元 | 布尔 |
| Isbooted | 布尔 |
| 解读 | 整数 |
| 用户 | 目的 |
实施以下对讲方法。有关完整的详细信息,请参见services/intercom.js 。
boot()
update()
shutdown()
hide()
show()
showMessages()
showNewMessage()
trackEvent()
getVisitorId()返回登录用户的当前ID。
startTour()您的对讲帐户需要支持产品旅行
与活动听众一起订阅应用程序中的活动:
//fancy-component.js
...
intercom : service ( ) ,
newMessageAlert : on ( 'intercom.unreadCountChange' , function ( ) {
alert ( 'Unread Count Changed!' ) ;
} ) ,
...可用事件
(阅读对讲文档以获取完整详细信息)[https://developers.intercom.com/v2.0/docs/intercom-javascript#section-intercomonhide]
| Ember事件 | 对讲事件 |
|---|---|
| 隐藏 | onHide |
| 展示 | onShow |
| UnreadCountChange | onUnreadCountChange |
git clone这个存储库npm installnpm run lint:hbsnpm run lint:jsnpm run lint:js -- --fixember test - 在当前的Ember版本上运行测试套件ember test --server - 以“手表模式”运行测试套件ember try:each - 对多个Ember版本运行测试套件ember serve有关使用Ember-CLI的更多信息,请访问http://www.ember-cli.com/。
版权所有(C)2015 Levanto Financial,2016-18 Mike Works,Inc.。