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 лидерство - это посетитель вашего сайта или приложения, без электронной почты или имени, связанного с ними. У пользователя есть имя и электронная почта, и это хорошая конструкция для отслеживания истории всех взаимодействий с одним человеком.
Вы можете сообщить ember-intercom-io контекст «пользователя» (переход в режим «пользователей» вместо режима «лидерства»), добавив объект в службу intercom (то есть ваш сервис аутентификации пользователя).
Когда приложение обновляет объект intercom.user , изменения будут отправлены в Intercom и отражаются на вашей панели панели интерков.
App/Services/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 раскрывает несколько публичных методов API, которые соответствуют существующему API JavaScript от Intercom.com. Для получения полной информации об API клиента прочитайте документы Intercom.
| Имя | Тип |
|---|---|
| Autoupdate | Логический |
| HideFaultLauncher | Логический |
| изопен | Логический |
| isbooted | Логический |
| не читаемый | Целое число |
| пользователь | Объект |
Следующие методы интеркаумы реализованы. См. services/intercom.js для полной информации.
boot()
update()
shutdown()
hide()
show()
showMessages()
showNewMessage()
trackEvent()
getVisitorId() возвращает текущий идентификатор зарегистрированного пользователя.
startTour() Ваша учетная запись необходимо для поддержки туров по продукту
Подпишитесь на события в вашем приложении со слушателями событий:
//fancy-component.js
...
intercom : service ( ) ,
newMessageAlert : on ( 'intercom.unreadCountChange' , function ( ) {
alert ( 'Unread Count Changed!' ) ;
} ) ,
...Доступные события
(Прочитайте документацию Intercom для получения полной информации)
| Ember Event | Межкомпания |
|---|---|
| скрывать | onHide |
| показывать | onShow |
| UnroadCountChange | onUnreadCountChange |
git clone этот репозиторийnpm installnpm run lint:hbsnpm run lint:jsnpm run lint:js -- --fixember test - запускает тестовый набор на текущей версии Emberember test --server -запускает тестовый набор в «Смотреember try:each - запускает тестовый набор против нескольких версий Emberember serveДля получения дополнительной информации об использовании ember-cli посетите http://www.ember-cli.com/.
Copyright (C) 2015 Levanto Financial, 2016-18 Mike Works, Inc.