Notoriously Psychedelic Modules

    ember-intercom-api

    0.3.2 • Public • Published

    npm version ember-cli version

    ember-intercom-api

    This addon simply inject Intercom.io's script at runtime and gives you a nice interface for interaction with the script via intercom service.

    Installation

    ember install ember-intercom-api

    Usage

    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]'
        };    
      }
    }

    Using API

    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();
      }
    });

    Exposed API

    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 then app_id provided in config/environment.js will be used
    • .getVisitorId()
    • .hide()
    • .show()
    • .showMessages()
    • .showNewMessage(text) - text param is optional
    • .shutdown()
    • .trackEvent(eventName, params)
    • .update(params)

    Tests

    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;
      }
    }

    Linting

    • npm run lint:js
    • npm run lint:js -- --fix

    Running tests

    • ember test – Runs the test suite on the current Ember version
    • ember test --server – Runs the test suite in "watch mode"
    • ember try:each – Runs the test suite against multiple Ember versions

    Running the dummy application

    For more information on using ember-cli, visit https://ember-cli.com/.

    License

    This project is licensed under the MIT License.

    Install

    npm i ember-intercom-api

    DownloadsWeekly Downloads

    2

    Version

    0.3.2

    License

    MIT

    Unpacked Size

    68.3 kB

    Total Files

    17

    Last publish

    Collaborators

    • tniezurawski