This is an Intercom wrapper for Angular 2+ with dependency injection for universal applications.
It supports all documented intercom methods.
master
is now hosting the 1.0.0 beta version of ng-intercom
. If you need to make changes to the latest stable version, please PR against 0.x.x
. If you need to use the last 0.x version, please run npm install --save --save-exact [email protected]
.
If you find issues with this version, please file an issue as soon as possible so we can take a look at it. We appreciate your cooperation!
If you want to try the latest features, check out the 1.0.0-alpha branch! Features include automatic script loading and intercom directives! If you find an issue, please report it!
This package is on NPM, so just run
$ npm install ng-intercom@latest --save
- Import
IntercomModule
toapp.module.ts
. The module will automatically include the APP_ID instantiation, so you DO NOT need to copy the install script from Intercom and place it in yourindex.html
.
import { IntercomModule } from 'ng-intercom';
@NgModule({
imports: [
...
IntercomModule.forRoot({
appId: <your_app_id>, // from your Intercom config
updateOnRouterChange: true // will automatically run `update` on router event changes. Default: `false`
})
...
]
})
export class AppModule { }
- Use in your components/directives/whatever you want!
// App
import { Component, OnInit } from '@angular/core';
import { Intercom } from 'ng-intercom';
@Component({
selector: 'app',
template: `...`
})
export class AppComponent implements OnInit {
constructor(
public intercom: Intercom
){}
ngOnInit() {
this.intercom.boot({
app_id: <app_id>,
// Supports all optional configuration.
widget: {
"activator": "#intercom"
}
});
}
}
To run live testing: ng test
To run tests: npm test
To run distribution: npm run build:dist
To publish npm run build:dist && npm publish dist
Maintained by Scott Wyatt and Wilson Hobbs in 2017 with contributions from Florian Reifschneider, Devon Sams, and Humberto Rocha