This addon simply inject Intercom.io's script at runtime and gives you a nice interface for interaction with the script via intercom
service.
ember install ember-intercom-api
You need to provide appId
for Intercom's script:
// config/environment.js
ENV['ember-intercom-api'] = {
appId: '[YOUR_APP_ID]'
};
Please remember that you can make use of environment
variable available in config/enviroment
.
This way you can set testing appId
for your development
or staging
environment:
module.exports = function(environment) {
var ENV = {
//some stuff here
};
if (environment === 'staging' || environment === 'development') {
ENV['ember-intercom-api'] = {
appId: '[YOUR_TESTING_APP_ID]'
};
}
}
Example:
import { inject as service } from '@ember/service';
import Route from '@ember/routing/route';
export default Route.extend({
intercom: service(),
beforeModel() {
this.get('intercom').boot();
}
});
These methods are exposed via intercom
service and invoked on the Intercom script. Read The Intercom JavaScript API for more information.
.boot(intercomSettings)
-intercomSettings
param is optional. If not given thenapp_id
provided inconfig/environment.js
will be used.getVisitorId()
.hide()
.show()
.showMessages()
.showNewMessage(text)
-text
param is optional.shutdown()
.trackEvent(eventName, params)
.update(params)
You would rather like to avoid injecting Intercom's script to your Acceptance Tests and send the data.
This could be done by just not adding ember-intercom-api
options to ENV
variable:
module.exports = function(environment) {
var ENV = {
//some stuff here
};
if (environment !== 'test') {
ENV['ember-intercom-api'] = {
appId: '[YOUR_APP_ID]'
};
}
}
or even better (as a more comprehensive example):
module.exports = function(environment) {
var ENV = {
//some stuff here
};
switch(environment) {
case 'production':
ENV['ember-intercom-api'] = {
appId: '[YOUR_APP_ID]'
};
break;
case 'staging':
case 'development':
ENV['ember-intercom-api'] = {
appId: '[YOUR_TESTING_APP_ID]'
};
break;
default:
break;
}
}
npm run lint:js
npm run lint:js -- --fix
ember test
– Runs the test suite on the current Ember versionember test --server
– Runs the test suite in "watch mode"ember try:each
– Runs the test suite against multiple Ember versions
ember serve
- Visit the dummy application at http://localhost:4200.
For more information on using ember-cli, visit https://ember-cli.com/.
This project is licensed under the MIT License.