Code Monkey home page Code Monkey logo

capacitor-intercom's Introduction


Capacitor Intercom

@capacitor-community/intercom

Capacitor community plugin for enabling Intercom capabilities


Maintainers

Maintainer GitHub Social
Stewan Silva stewwan @StewanSilva

Notice ๐Ÿš€

We're starting fresh under an official org. If you were using the previous npm package capacitor-intercom, please update your package.json to @capacitor-community/intercom. Check out changelog for more info.

Installation

Using npm:

npm install @capacitor-community/intercom

npm install https://github.com/Fiksuruoka-fi/capacitor-intercom --save

Using yarn:

yarn add @capacitor-community/intercom

yarn add https://github.com/Fiksuruoka-fi/capacitor-intercom

Sync native files:

npx cap sync

API

  • registerIdentifiedUser
  • registerUnidentifiedUser
  • updateUser
  • logout
  • logEvent
  • displayMessenger
  • displayMessageComposer
  • displayHelpCenter
  • hideMessenger
  • displayLauncher
  • hideLauncher
  • displayInAppMessages
  • hideInAppMessages
  • setUserHash
  • setBottomPadding
  • sendPushTokenToIntercom
  • handlePush
  • sendPushTokenToIntercom
  • receivePush
  • displayCarousel

Usage

import { Intercom } from "@capacitor-community/intercom";
import { PushNotifications } from "@capacitor/push-notifications";

/**
 * Register for push notifications from Intercom
 */
PushNotifications.register()

/**
 * Register an indetified user
 */
Intercom
  .registerIdentifiedUser({ userId: 123456, email: "[email protected]" })

/**
 * Register a log event
 */
Intercom
  .logEvent({ name: "my-event", data: { pi: 3.14 } })

/**
 * Display the message composer
 */
Intercom
  .displayMessageComposer({ message: "Hello there!" } })

/**
 * Identity Verification
 * https://developers.intercom.com/installing-intercom/docs/ios-identity-verification
 */
Intercom
  .setUserHash({ hmac: "xyz" } })


/**
 * Launch mobile carousels 
 * https://www.intercom.com/help/en/articles/4605339-launch-mobile-carousels-from-a-button-in-your-mobile-app
 */
Intercom
  .displayCarousel({ id: "123456" } })


//////////////////////////////////////////////
// To receive push notifications in Android you'll have to send push token to Intercom
// and start listening received notifications in PushNotifications plugin:
//////////////////////////////////////////////

/**
 * Register Push notification listener for "registration" action
 * to send push token to Intercom in Android devices
 * 
 * Only for Android
 */
PushNotifications.addListener('registration', async ({ value }) => {
  // Send token to Intercom if platform is Android
  if (Capacitor.getPlatform() === 'android') {
    Intercom.sendPushTokenToIntercom({ value })
  }
})

/**
 * Register Push notification listener for "pushNotificationReceived" handler
 * to check if push is from Intercom and handle it their way
 * 
 * Only for Android
 */
PushNotifications.addListener('pushNotificationReceived', (notification) => {
  // Handle push received in Intercom if platform is Android and push notification is coming from Intercom
  if (Capacitor.getPlatform() === 'android') {
    Intercom.receivePush(notification.data)
  }
})

iOS setup

  • ionic start my-cap-app --capacitor
  • cd my-cap-app
  • npm install โ€”-save @capacitor-community/intercom
  • mkdir www && touch www/index.html
  • npx cap add ios
  • add intercom keys to capacitor's configuration file
{
 โ€ฆ
  "plugins": {
   "Intercom": {
      "ios-apiKey": "ios_sdk-xxx",
      "ios-appId": "yyy"
    }
  }
โ€ฆ
}
  • npx cap open ios
  • sign your app at xcode (general tab)

Tip: every time you change a native code you may need to clean up the cache (Product > Clean build folder) and then run the app again.

Android setup

  • ionic start my-cap-app --capacitor
  • cd my-cap-app
  • npm install โ€”-save @capacitor-community/intercom
  • mkdir www && touch www/index.html
  • npx cap add android
  • add intercom keys to capacitor's configuration file
{
 โ€ฆ
  "plugins": {
   "Intercom": {
      "android-apiKey": "android_sdk-xxx",
      "android-appId": "yyy",
      "android-senderId": "123"
    }
  }
โ€ฆ
}
  • npx cap open android

Tip: every time you change a native code you may need to clean up the cache (Build > Clean Project | Build > Rebuild Project) and then run the app again.

License

MIT

Example

Contributors โœจ

Thanks goes to these wonderful people (emoji key):


Stew

๐Ÿ’ป ๐Ÿ“–

David Seek

๐Ÿ’ป

Roman Nikitin

๐Ÿ’ป

Anne Tomassoni

๐Ÿ’ป ๐Ÿ‘€

Maciej Modzelewski

๐Ÿ’ป

Oleg Yuzvik

๐Ÿšง

This project follows the all-contributors specification. Contributions of any kind welcome!

capacitor-intercom's People

Contributors

stewones avatar eljass avatar asangadev avatar atomassoni avatar davidseek avatar mmodzelewski avatar spaghettiguru avatar rnikitin avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.