Intercom.io Integration für Ember.js Apps.
Installieren Sie dieses Addon mit Ember-Cli ember install ember-intercom-io
Fügen Sie die {{intercom-io}} -Komponente zu einer Ihrer Vorlagen hinzu. Das Chat-Widget wird angezeigt, wenn diese Komponente gerendert wurde, und sollte bei der Zerstörung verschwinden.
In Ihrer Datei config/environment.js müssen Sie Ihren appId bereitstellen
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'
}
} ,
...
} ; In der weltum intercom.io -Welt ist ein Lead ein Besucher Ihrer Website oder App, ohne dass eine E -Mail oder einen Namen zugeordnet ist. Ein Benutzer hat einen Namen und eine E -Mail und ist ein gutes Konstrukt für die Verfolgung der Geschichte aller Interaktionen mit einer einzelnen Person.
Sie können ember-intercom-io auf einen "Benutzer" -Kontext (den Modus "Benutzer" anstelle des "Leads" -Modus aufmerksam machen, indem Sie dem intercom Dienst ein Objekt hinzufügen (dh Ihr Benutzerauthentifizierungsdienst).
Wenn die Anwendung das intercom.user -Objekt aktualisiert, werden Änderungen an Intercom gesendet und in Ihrem Intercom -Dashboard reflektiert.
App/Services/Authentifizierung.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 ) ;
}
} ) ; Um benutzerdefinierte Eigenschaften an Intercom zu senden, fügen Sie sie dem intercom.user -Objekt hinzu. Alle Immobiliennamen werden vor dem Senden unterstrichen. undefinierte Werte werden entfernt ( null wird jedoch aufbewahrt).
let customProperties = {
myCustomThing : 1 ,
numberOfCats : false ,
notDefined : undefined
}
set ( this , 'intercom.user' , customProperties ) ;wird
{
my_custom_thing : 1 ,
number_of_cats : false
} Der intercom -Dienst enthält mehrere öffentliche API -Methoden, die die vorhandene JavaScript -API von Intercom.com entsprechen. Ausführliche Informationen zur Client -API finden Sie in den Intercom -Dokumenten.
| Name | Typ |
|---|---|
| autoupdate | Boolean |
| HidefaultLauncher | Boolean |
| Isopen | Boolean |
| isbootet | Boolean |
| ungelesener | Ganze Zahl |
| Benutzer | Objekt |
Die folgenden Intercom -Methoden werden implementiert. Weitere Informationen finden Sie services/intercom.js .
boot()
update()
shutdown()
hide()
show()
showMessages()
showNewMessage()
trackEvent()
getVisitorId() gibt die aktuelle ID des angemeldeten im Benutzer zurück.
startTour() Ihr Intercom -Konto muss Produkttouren unterstützen
Abonnieren Sie Ereignisse in Ihrer App mit Event -Hörern:
//fancy-component.js
...
intercom : service ( ) ,
newMessageAlert : on ( 'intercom.unreadCountChange' , function ( ) {
alert ( 'Unread Count Changed!' ) ;
} ) ,
...Verfügbare Veranstaltungen
(Lesen Sie die Intercom-Dokumentation für alle Details) [https://developers.intercom.com/v2.0/docs/intercom-javascript#section-intercomonHide]
| Ember -Event | Intercom -Veranstaltung |
|---|---|
| verstecken | onHide |
| zeigen | onShow |
| ungelesener Countchange | onUnreadCountChange |
git clone dieses Repositorynpm installnpm run lint:hbsnpm run lint:jsnpm run lint:js -- --fixember test - führt die Testsuite auf der aktuellen Ember -Version ausember test --server -führt die Testsuite im "Uhrenmodus" ausember try:each - führt die Testsuite gegen mehrere Ember -Versionen ausember serveWeitere Informationen zur Verwendung von Ember-Cli finden Sie unter http://www.ember-cli.com/.
Copyright (C) 2015 Levanto Financial, 2016-18 Mike Works, Inc.