Intercom.io Integración para aplicaciones Ember.js.
Instale este complemento con Ember Ember ember install ember-intercom-io
Agregue el componente {{intercom-io}} a una de sus plantillas.
En su archivo config/environment.js , debe proporcionar su 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'
}
} ,
...
} ; En el mundo de Intercom.io, un líder es un visitante de su sitio o aplicación, sin un correo electrónico o nombre asociado con ellos. Un usuario tiene un nombre y correo electrónico, y es una buena construcción para rastrear el historial de todas las interacciones con una sola persona.
Puede hacer que ember-intercom-io consciente de un contexto de "usuario" (cambiando al modo "Usuarios" en lugar del modo "Leads") agregando un objeto al servicio intercom (es decir, su servicio de autenticación de usuario).
Cuando la aplicación actualiza el objeto intercom.user , los cambios se enviarán a Intercom y se reflejarán en su tablero de intercomunicaciones.
aplicación/servicios/autenticación.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 propiedades personalizadas a Intercom, agrégalas al objeto intercom.user . Todos los nombres de propiedad se subrayarán antes de ser enviado. Se eliminarán los valores indefinidos (sin embargo, se mantiene null ).
let customProperties = {
myCustomThing : 1 ,
numberOfCats : false ,
notDefined : undefined
}
set ( this , 'intercom.user' , customProperties ) ;se convierte en
{
my_custom_thing : 1 ,
number_of_cats : false
} El servicio intercom expone varios métodos de API público que coinciden con la API JavaScript existente de Intercom.com. Para obtener detalles completos sobre la API del cliente, lea los documentos de intercomunicación.
| Nombre | Tipo |
|---|---|
| autopdate | Booleano |
| hidedefaultlauncher | Booleano |
| isopener | Booleano |
| isbootado | Booleano |
| cuenta sin leer | Entero |
| usuario | Objeto |
Se implementan los siguientes métodos de intercomunicador. Consulte services/intercom.js para obtener todos los detalles.
boot()
update()
shutdown()
hide()
show()
showMessages()
showNewMessage()
trackEvent()
getVisitorId() Devuelve la ID actual del usuario iniciado en el usuario.
startTour() Su cuenta de intercomunicación necesita admitir recorridos de productos
Suscríbase a eventos en su aplicación con oyentes de eventos:
//fancy-component.js
...
intercom : service ( ) ,
newMessageAlert : on ( 'intercom.unreadCountChange' , function ( ) {
alert ( 'Unread Count Changed!' ) ;
} ) ,
...Eventos disponibles
(Lea la documentación del intercomunicador para obtener detalles completos) [https://developers.intercom.com/v2.0/docs/intercom-javascript#section-intercomonhide]
| Evento de Ember | Evento de intercomunicador |
|---|---|
| esconder | onHide |
| espectáculo | onShow |
| Cambio no leído | onUnreadCountChange |
git clone Este repositorionpm installnpm run lint:hbsnpm run lint:jsnpm run lint:js -- --fixember test : ejecuta la suite de prueba en la versión de Ember actualember test --server -Ejecuta la suite de prueba en "Modo de reloj"ember try:each : ejecuta la suite de prueba contra múltiples versiones de Emberember servePara obtener más información sobre el uso de Ember-Cli, visite http://www.ember-cli.com/.
Copyright (c) 2015 Levanto Financial, 2016-18 Mike Works, Inc.