{"_id":"@analytics/intercom","_rev":"4-75ffef6da30902c74d424f310c2f4501","name":"@analytics/intercom","dist-tags":{"latest":"1.0.2"},"versions":{"1.0.0":{"name":"@analytics/intercom","version":"1.0.0","description":"Intercom integration for 'analytics' module for browser & node","projectMeta":{"provider":{"name":"Intercom","url":"https://www.intercom.com/"},"platforms":{"browser":"./src/browser.js","node":"./src/node.js"}},"keywords":["analytics","analytics-project","analytics-plugin","intercom"],"author":{"name":"Mathis Obadia","email":"mathis.obadia@gmail.com"},"license":"MIT","scripts":{"docs":"node ../analytics-cli/bin/run docs","build":"node ../../scripts/build/index.js","watch":"node ../../scripts/build/_watch.js","release:patch":"npm version patch && npm publish","release:minor":"npm version minor && npm publish","release:major":"npm version major && npm publish","es":"../../node_modules/.bin/babel-node ./testBabel.js"},"main":"lib/analytics-plugin-intercom.cjs.js","globalName":"analyticsIntercom","jsnext:main":"lib/analytics-plugin-intercom.es.js","module":"lib/analytics-plugin-intercom.es.js","browser":{"./lib/analytics-plugin-intercom.cjs.js":"./lib/analytics-plugin-intercom.browser.cjs.js","./lib/analytics-plugin-intercom.es.js":"./lib/analytics-plugin-intercom.browser.es.js"},"homepage":"https://github.com/DavidWells/analytics#readme","repository":{"type":"git","url":"git+https://github.com/DavidWells/analytics.git"},"devDependencies":{"@babel/core":"^7.2.2","@babel/preset-env":"^7.3.1"},"dependencies":{"intercom-client":"^2.11.2"},"bugs":{"url":"https://github.com/DavidWells/analytics/issues"},"_id":"@analytics/intercom@1.0.0","_nodeVersion":"12.7.0","_npmVersion":"6.10.0","dist":{"integrity":"sha512-wmvnk5tu0IX6LsilhagGFVF6inzSqMwl2FjU3Du4EqnD+k7UNZ3uhTdoK/eKXRIAZGxlvR6GFIe2YcmfkXoO9Q==","shasum":"292f7c7f6ef023cc9f3a765628e23c4fbb663d3d","tarball":"https://registry.npmjs.org/@analytics/intercom/-/intercom-1.0.0.tgz","fileCount":9,"unpackedSize":50625,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAxg7o4V/u78ah6GTUh2XERzVITgkZroptC9+RxWoOHfAiEAspN/fS6qbGX7rjaedsYARIJuK+093ap1xckncox5i9A="}]},"_npmUser":{"name":"davidwells","email":"davidgregorywells@gmail.com"},"directories":{},"maintainers":[{"name":"davidwells","email":"davidgregorywells@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/intercom_1.0.0_1632549433960_0.01028867609992834"},"_hasShrinkwrap":false},"1.0.1":{"name":"@analytics/intercom","version":"1.0.1","description":"Intercom integration for 'analytics' module for browser & node","projectMeta":{"provider":{"name":"Intercom","url":"https://www.intercom.com/"},"platforms":{"browser":"./src/browser.js","node":"./src/node.js"}},"keywords":["analytics","analytics-project","analytics-plugin","intercom"],"author":{"name":"Mathis Obadia","email":"mathis.obadia@gmail.com"},"license":"MIT","scripts":{"docs":"node ../analytics-cli/bin/run docs","build":"node ../../scripts/build/index.js","watch":"node ../../scripts/build/_watch.js","release:patch":"npm version patch && npm publish","release:minor":"npm version minor && npm publish","release:major":"npm version major && npm publish","es":"../../node_modules/.bin/babel-node ./testBabel.js"},"main":"lib/analytics-plugin-intercom.cjs.js","globalName":"analyticsIntercom","jsnext:main":"lib/analytics-plugin-intercom.es.js","module":"lib/analytics-plugin-intercom.es.js","browser":{"./lib/analytics-plugin-intercom.cjs.js":"./lib/analytics-plugin-intercom.browser.cjs.js","./lib/analytics-plugin-intercom.es.js":"./lib/analytics-plugin-intercom.browser.es.js"},"homepage":"https://github.com/DavidWells/analytics#readme","repository":{"type":"git","url":"git+https://github.com/DavidWells/analytics.git"},"devDependencies":{"@babel/core":"^7.2.2","@babel/preset-env":"^7.3.1"},"dependencies":{"intercom-client":"^2.11.2"},"gitHead":"b06ac19a9b34492ab0419c75698f36e21ce40e33","bugs":{"url":"https://github.com/DavidWells/analytics/issues"},"_id":"@analytics/intercom@1.0.1","_nodeVersion":"12.7.0","_npmVersion":"lerna/3.10.7/node@v12.7.0+x64 (darwin)","dist":{"integrity":"sha512-6e8Tx5Phgp0DAY2DdhKl8TrclpI/dQvm9UsiECcORA/yakXs2jlsM25PfKLDhQpX6x3ulMJ1qxONfKTerM2QNQ==","shasum":"9ffab0dc2a7b40fe4d564ee23babe3e249439c69","tarball":"https://registry.npmjs.org/@analytics/intercom/-/intercom-1.0.1.tgz","fileCount":10,"unpackedSize":51971,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDgQ5F/vvBWehMG//rD5qB+CiMbpokHHxVTVvXl2US7CgIhAItTnpIeNASFv1I/cCUacybNz767pr+JtmQWJBVvynsa"}]},"_npmUser":{"name":"davidwells","email":"davidgregorywells@gmail.com"},"directories":{},"maintainers":[{"name":"davidwells","email":"davidgregorywells@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/intercom_1.0.1_1632549499394_0.57833191748461"},"_hasShrinkwrap":false},"1.0.2":{"name":"@analytics/intercom","version":"1.0.2","description":"Intercom integration for 'analytics' module for browser & node","projectMeta":{"provider":{"name":"Intercom","url":"https://www.intercom.com/"},"platforms":{"browser":"./src/browser.js","node":"./src/node.js"}},"keywords":["analytics","analytics-project","analytics-plugin","intercom"],"author":{"name":"Mathis Obadia","email":"mathis.obadia@gmail.com"},"license":"MIT","scripts":{"docs":"node ../analytics-cli/bin/run docs","build":"node ../../scripts/build/index.js","watch":"node ../../scripts/build/_watch.js","release:patch":"npm version patch && npm publish","release:minor":"npm version minor && npm publish","release:major":"npm version major && npm publish","es":"../../node_modules/.bin/babel-node ./testBabel.js"},"main":"lib/analytics-plugin-intercom.cjs.js","globalName":"analyticsIntercom","jsnext:main":"lib/analytics-plugin-intercom.es.js","module":"lib/analytics-plugin-intercom.es.js","browser":{"./lib/analytics-plugin-intercom.cjs.js":"./lib/analytics-plugin-intercom.browser.cjs.js","./lib/analytics-plugin-intercom.es.js":"./lib/analytics-plugin-intercom.browser.es.js"},"homepage":"https://github.com/DavidWells/analytics#readme","repository":{"type":"git","url":"git+https://github.com/DavidWells/analytics.git"},"devDependencies":{"@babel/core":"^7.2.2","@babel/preset-env":"^7.3.1"},"dependencies":{"intercom-client":"^2.11.2"},"gitHead":"22ac7f7b874ec96a434880456b405188a9e31c99","bugs":{"url":"https://github.com/DavidWells/analytics/issues"},"_id":"@analytics/intercom@1.0.2","_nodeVersion":"12.7.0","_npmVersion":"lerna/3.10.7/node@v12.7.0+x64 (darwin)","dist":{"integrity":"sha512-0A7Z0tuhEg3LJXkmjIir62XlaTn2WIuFN7zeOsBZ7xk3Q6wel0Yw04ot++LVo1ULXABii0ZDquNnj2h6hPZWxg==","shasum":"51d9b31465d20ad6a5cc117b977fab56f8983a66","tarball":"https://registry.npmjs.org/@analytics/intercom/-/intercom-1.0.2.tgz","fileCount":10,"unpackedSize":52884,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhwx+FCRA9TVsSAnZWagAAnmIQAKM1cLClPVXxDYBKZcnQ\nZEBB1NkM9e6L4BuecXn+mVbd+8FxQEkr+SfaGjG8OuEuTCvBkNVTmaDu8l0D\nAZtmAxog7c5YDhsWFQBCiQzNeyeYABKQQkjmZ/g5HFgfMjIRgHuhvkYFzI38\nmdHksH5eDZX4JcycI7llh2QR5lJUBgUxAJTi+3vUmolGO6Y8KxFrsReLeSAh\nxGBIyVnzXFx5Or4rDy6j+S89tF7dB1Acn7VOC2HhTTpbO6RI7iO+iDEg9FxR\nZBNk2xAsGNxGYY7kWUIYFvMfEKIf6vERvxHtoEzk/hhVU0zyYGhj2L5rBxfz\nX0P32BmrAqGzMGg7l4ooZpVM5Q8v0rCxXoifnJnOO3pR+IaG6OIQF5TpGKMA\nX1tvcxZUt+usNiluhRLSS0qtxL3616gUY2NGl8Twu7Ta/6Hx8TnxxivnheQt\nzYga/uHo4UufIkMMBKYRX/eNXCR891cDuw60WyvtknFIui3GeuvKPA8Tbch1\n1UpbGyKtMdQXFyjZYxRRyhdb5yZjn1jlvlsmiFxUASXcXFSJyelV5u5Svlqz\nih2fgH2StTZ8mqjA0O7klt4I9Jh2eofe20w+UPjtbUbq3vhh10PcGqrQyQrE\nNLxEhSg1ctfUePzonZk/tQ4qtvdJNaW9nY8qG+D5UZoEE8uvIG+KbHKKmysj\nd3Wc\r\n=MR1f\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDVn8kE0NxbLkFM44o5+q0n48nVHBvjCE4Rma+gklY25QIgG1Xz1+xhdC3Z3kEdP3ExJggXBVvscEUWs/Fbi/UiRlo="}]},"_npmUser":{"name":"davidwells","email":"davidgregorywells@gmail.com"},"directories":{},"maintainers":[{"name":"davidwells","email":"davidgregorywells@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/intercom_1.0.2_1635033655175_0.2394261469465715"},"_hasShrinkwrap":false}},"time":{"created":"2021-09-25T05:57:13.917Z","1.0.0":"2021-09-25T05:57:14.133Z","modified":"2022-04-04T13:54:57.720Z","1.0.1":"2021-09-25T05:58:19.618Z","1.0.2":"2021-10-24T00:00:55.321Z"},"maintainers":[{"name":"davidwells","email":"davidgregorywells@gmail.com"}],"description":"Intercom integration for 'analytics' module for browser & node","homepage":"https://github.com/DavidWells/analytics#readme","keywords":["analytics","analytics-project","analytics-plugin","intercom"],"repository":{"type":"git","url":"git+https://github.com/DavidWells/analytics.git"},"author":{"name":"Mathis Obadia","email":"mathis.obadia@gmail.com"},"bugs":{"url":"https://github.com/DavidWells/analytics/issues"},"license":"MIT","readme":"<!--\ntitle: Intercom\ndescription: Using the intercom plugin\n-->\n\n# Intercom plugin for `analytics`\n\nIntegration with [intercom](https://intercom.com/) for [analytics](https://www.npmjs.com/package/analytics)\n\nFor more information [see the docs](https://getanalytics.io/plugins/intercom/).\n\n<!-- AUTO-GENERATED-CONTENT:START (TOC:collapse=true&collapseText=Click to expand) -->\n<details>\n<summary>Click to expand</summary>\n\n- [Installation](#installation)\n- [How to use](#how-to-use)\n- [Platforms Supported](#platforms-supported)\n- [Browser usage](#browser-usage)\n  - [Browser API](#browser-api)\n  - [Configuration options for browser](#configuration-options-for-browser)\n- [Server-side usage](#server-side-usage)\n  - [Server-side API](#server-side-api)\n  - [Configuration options for server-side](#configuration-options-for-server-side)\n- [Additional examples](#additional-examples)\n- [Custom browser methos](#custom-browser-methos)\n  - [actions](#actions)\n  - [hooks](#hooks)\n  - [Browser Example](#browser-example)\n\n</details>\n<!-- AUTO-GENERATED-CONTENT:END -->\n\n## Installation\n\n```bash\nnpm install analytics\nnpm install @analytics/intercom\n```\n\n<!-- AUTO-GENERATED-CONTENT:START (PLUGIN_DOCS) -->\n\n## How to use\n\nThe `@analytics/intercom` package works in [the browser](#browser-usage) and [server-side in Node.js](#server-side-usage). To use, install the package, include in your project and initialize the plugin with [analytics](https://www.npmjs.com/package/analytics).\n\nBelow is an example of how to use the browser plugin.\n\n```js\nimport Analytics from 'analytics'\nimport intercomPlugin from '@analytics/intercom'\n\nconst analytics = Analytics({\n  app: 'awesome-app',\n  plugins: [\n    intercomPlugin({\n      appId: '123-xyz'\n    })\n  ]\n})\n\n/* Track a page view */\nanalytics.page()\n\n/* Track a custom event */\nanalytics.track('cartCheckout', {\n  item: 'pink socks',\n  price: 20\n})\n\n/* Identify a visitor */\nanalytics.identify('user-id-xyz', {\n  firstName: 'bill',\n  lastName: 'murray'\n})\n\n```\n\nAfter initializing `analytics` with the `intercomPlugin` plugin, data will be sent into Intercom whenever [analytics.page](https://getanalytics.io/api/#analyticspage), [analytics.track](https://getanalytics.io/api/#analyticstrack), or [analytics.identify](https://getanalytics.io/api/#analyticsidentify) are called.\n\nSee [additional implementation examples](#additional-examples) for more details on using in your project.\n\n## Platforms Supported\n\nThe `@analytics/intercom` package works in [the browser](#browser-usage) and [server-side in Node.js](#server-side-usage)\n\n## Browser usage\n\nThe Intercom client side browser plugin works with these analytic api methods:\n\n- **[analytics.page](https://getanalytics.io/api/#analyticspage)** - Sends page views into Intercom\n- **[analytics.track](https://getanalytics.io/api/#analyticstrack)** - Track custom events and send to Intercom\n- **[analytics.identify](https://getanalytics.io/api/#analyticsidentify)** - Identify visitors and send details to Intercom\n- **[analytics.reset](https://getanalytics.io/api/#analyticsreset)** - Reset browser storage cookies & localstorage for Intercom values\n\n### Browser API\n\n```js\nimport Analytics from 'analytics'\nimport intercomPlugin from '@analytics/intercom'\n\nconst analytics = Analytics({\n  app: 'awesome-app',\n  plugins: [\n    intercomPlugin({\n      appId: '123-xyz'\n    })\n  ]\n})\n\n```\n\n### Configuration options for browser\n\n| Option | description |\n|:---------------------------|:-----------|\n| `appId` <br/>**required** - string| Your intercom app id |\n| `disableAnonymousTraffic` <br/>_optional_ - boolean| Disable loading intercom for anonymous visitors |\n| `alignment` <br/>_optional_ - string| Customize left or right position of messenger |\n| `horizontalPadding` <br/>_optional_ - number| Customize horizontal padding |\n| `verticalPadding` <br/>_optional_ - number| Customize vertical padding |\n| `customLauncherSelector` <br/>_optional_ - string| Css selector of the custom launcher see https://www.intercom.com/help/en/articles/2894-customize-the-intercom-messenger-technical for additional info |\n\n## Server-side usage\n\nThe Intercom server-side node.js plugin works with these analytic api methods:\n\n- **[analytics.page](https://getanalytics.io/api/#analyticspage)** - Sends page views into Intercom\n- **[analytics.track](https://getanalytics.io/api/#analyticstrack)** - Track custom events and send to Intercom\n- **[analytics.identify](https://getanalytics.io/api/#analyticsidentify)** - Identify visitors and send details to Intercom\n\n### Server-side API\n\n```js\nimport Analytics from 'analytics'\nimport intercomPlugin from '@analytics/intercom'\n\nconst analytics = Analytics({\n  app: 'awesome-app',\n  plugins: [\n    intercomPlugin({\n      appId: '123-xyz'\n    })\n  ]\n})\n\n```\n\n### Configuration options for server-side\n\n| Option | description |\n|:---------------------------|:-----------|\n| `appId` <br/>**required** - string| Your Intercom app id |\n\n\n## Additional examples\n\nBelow are additional implementation examples.\n\n<details>\n  <summary>Server-side ES6</summary>\n\n  ```js\n  import Analytics from 'analytics'\n  import intercomPlugin from '@analytics/intercom'\n\n  const analytics = Analytics({\n    app: 'awesome-app',\n    plugins: [\n      intercomPlugin({\n        appId: '123-xyz'\n      })\n      // ...other plugins\n    ]\n  })\n\n  /* Track a page view */\n  analytics.page()\n\n  /* Track a custom event */\n  analytics.track('cartCheckout', {\n    item: 'pink socks',\n    price: 20\n  })\n\n  /* Identify a visitor */\n  analytics.identify('user-id-xyz', {\n    firstName: 'bill',\n    lastName: 'murray'\n  })\n\n  ```\n\n</details>\n\n<details>\n  <summary>Server-side Node.js with common JS</summary>\n\n  If using node, you will want to import the `.default`\n\n  ```js\n  const analyticsLib = require('analytics').default\n  const intercomPlugin = require('@analytics/intercom').default\n\n  const analytics = analyticsLib({\n    app: 'my-app-name',\n    plugins: [\n      intercomPlugin({\n        appId: '123-xyz'\n      })\n    ]\n  })\n\n  /* Track a page view */\n  analytics.page()\n\n  /* Track a custom event */\n  analytics.track('cartCheckout', {\n    item: 'pink socks',\n    price: 20\n  })\n\n  /* Identify a visitor */\n  analytics.identify('user-id-xyz', {\n    firstName: 'bill',\n    lastName: 'murray'\n  })\n\n  ```\n\n</details>\n\n<details>\n  <summary>Using in HTML</summary>\n\n  Below is an example of importing via the unpkg CDN. Please note this will pull in the latest version of the package.\n\n  ```html\n  <!DOCTYPE html>\n  <html>\n    <head>\n      <title>Using @analytics/intercom in HTML</title>\n      <script src=\"https://unpkg.com/analytics/dist/analytics.min.js\"></script>\n      <script src=\"https://unpkg.com/@analytics/intercom/dist/@analytics/intercom.min.js\"></script>\n      <script type=\"text/javascript\">\n        /* Initialize analytics */\n        var Analytics = _analytics.init({\n          app: 'my-app-name',\n          plugins: [\n            analyticsIntercom({\n              appId: '123-xyz'\n            })\n          ]\n        })\n\n        /* Track a page view */\n        analytics.page()\n\n        /* Track a custom event */\n        analytics.track('cartCheckout', {\n          item: 'pink socks',\n          price: 20\n        })\n\n        /* Identify a visitor */\n        analytics.identify('user-id-xyz', {\n          firstName: 'bill',\n          lastName: 'murray'\n        })\n      </script>\n    </head>\n    <body>\n      ....\n    </body>\n  </html>\n\n  ```\n\n</details>\n\n<details>\n  <summary>Using in HTML via ES Modules</summary>\n\n  Using `@analytics/intercom` in ESM modules.\n\n  ```html\n  <!DOCTYPE html>\n  <html>\n    <head>\n      <title>Using @analytics/intercom in HTML via ESModules</title>\n      <script>\n        // Polyfill process.\n        // **Note**: Because `import`s are hoisted, we need a separate, prior <script> block.\n        window.process = window.process || { env: { NODE_ENV: 'production' } }\n      </script>\n      <script type=\"module\">\n        import analytics from 'https://unpkg.com/analytics/lib/analytics.browser.es.js?module'\n        import analyticsIntercom from 'https://unpkg.com/@analytics/intercom/lib/analytics-plugin-intercom.browser.es.js?module'\n        /* Initialize analytics */\n        const Analytics = analytics({\n          app: 'analytics-html-demo',\n          debug: true,\n          plugins: [\n            analyticsIntercom({\n              appId: '123-xyz'\n            })\n            // ... add any other third party analytics plugins\n          ]\n        })\n\n        /* Track a page view */\n        analytics.page()\n\n        /* Track a custom event */\n        analytics.track('cartCheckout', {\n          item: 'pink socks',\n          price: 20\n        })\n\n        /* Identify a visitor */\n        analytics.identify('user-id-xyz', {\n          firstName: 'bill',\n          lastName: 'murray'\n        })\n      </script>\n    </head>\n    <body>\n      ....\n    </body>\n  </html>\n\n  ```\n\n</details>\n\n\n<!-- AUTO-GENERATED-CONTENT:END -->\n\n## Custom browser methos\n\nThis plugin exposes some custom intercom methods thanks to [custom methods](https://getanalytics.io/plugins/writing-plugins/#adding-custom-methods) on plugins.\n\nSee [reference api](https://developers.intercom.com/installing-intercom/docs/intercom-javascript) for additional information\n\n### actions\n\n`startTour(tourId)`\n`shutdown()`\n`hide()`\n`show()`\n`showMessages()`\n`showNewMessage()`\n\n### hooks\n\nThe following methods require a function as an argument\n`onShow(callback)`\n`onUnreadCountChange(callback)`\n\n### Browser Example\n\n```js\nimport Analytics from \"analytics\";\nimport intercomPlugin from \"@analytics/intercom\";\n\n// Initialize analytics instance with plugins\nconst analytics = Analytics({\n  app: \"your-app-name\",\n  plugins: [\n    intercomPlugin({\n      appId: \"123-xyz\",\n    }),\n  ],\n});\n\n// Usage:\n// Now you can call intercom.startTour in your app like so\nanalytics.plugins.intercom.startTour(\"tourID\");\n\n// hook usage:\nanalytics.plugins.intercom.onShow(() => {\n  console.log(\"fires when intercom launcher is shown\");\n});\n```\n","readmeFilename":"README.md"}