Integração intercom.io para aplicativos Ember.js.
Instale este addon com Ember-cli ember install ember-intercom-io
Adicione o componente {{intercom-io}} a um dos seus modelos ", o widget de bate-papo aparecerá sempre que esse componente for renderizado e deve desaparecer sempre que for destruído.
No seu arquivo config/environment.js , você deve fornecer seu 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'
}
} ,
...
} ; No mundo intercom.io, um lead é um visitante do seu site ou aplicativo, sem um email ou nome associado a eles. Um usuário tem um nome e e -mail e é uma boa construção para rastrear o histórico de todas as interações com uma única pessoa.
Você pode conscientizar o contexto de "usuário" ember-intercom-io (mudando para o modo de "usuários" em vez de "leads") adicionando um objeto ao serviço de intercom (ou seja, seu serviço de autenticação de usuário).
Quando o aplicativo atualizar o objeto intercom.user , as alterações serão enviadas para o interfone e refletidas no seu painel intercomunicador.
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 ) ;
}
} ) ; Para enviar propriedades personalizadas para o Intercom, adicione -as ao objeto intercom.user . Todos os nomes de propriedades serão sublinhados antes de serem enviados. Valores indefinidos serão removidos (no entanto, null é mantido).
let customProperties = {
myCustomThing : 1 ,
numberOfCats : false ,
notDefined : undefined
}
set ( this , 'intercom.user' , customProperties ) ;torna -se
{
my_custom_thing : 1 ,
number_of_cats : false
} O intercom Service expõe vários métodos públicos da API que correspondem à API JavaScript existente do Intercom.com. Para detalhes completos sobre a API do cliente, leia os documentos do Intercom.
| Nome | Tipo |
|---|---|
| AutoupDate | Booleano |
| Hidedefaultlauncher | Booleano |
| isopen | Booleano |
| isBoot | Booleano |
| Não leitura | Inteiro |
| usuário | Objeto |
Os seguintes métodos de interfone são implementados. Consulte services/intercom.js para obter detalhes completos.
boot()
update()
shutdown()
hide()
show()
showMessages()
showNewMessage()
trackEvent()
getVisitorId() retorna o ID atual do usuário logado.
startTour() sua conta de intercom
Inscreva -se em eventos em seu aplicativo com ouvintes de eventos:
//fancy-component.js
...
intercom : service ( ) ,
newMessageAlert : on ( 'intercom.unreadCountChange' , function ( ) {
alert ( 'Unread Count Changed!' ) ;
} ) ,
...Eventos disponíveis
(Leia a documentação do Intercom para obter detalhes completos) [https://developers.intercom.com/v2.0/docs/intercom-javascript#section-intercomonhide]
| Evento de Ember | Evento de intercomunicações |
|---|---|
| esconder | onHide |
| mostrar | onShow |
| Não leitura não leitura | onUnreadCountChange |
git clone este repositórionpm installnpm run lint:hbsnpm run lint:jsnpm run lint:js -- --fixember test - executa a suíte de teste na versão atual da Emberember test --server -executa a suíte de teste no "modo de relógio"ember try:each - executa a suíte de teste contra várias versões de brasaember servePara mais informações sobre o uso do Ember-cli, visite http://www.ember-cli.com/.
Copyright (C) 2015 Levanto Financial, 2016-18 Mike Works, Inc.