Jealvia / intercom

Enable Intercom for Capacitor apps

Home Page:https://capacitor.ionicframework.com/docs/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool


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

Using yarn:

yarn add @capacitor-community/intercom

Sync native files:

npx cap sync

API

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

Usage

import { Intercom } from "@capacitor-community/intercom";
const intercom = new Intercom();

import { Plugins } from "@capacitor/core";
const { PushNotifications } = Plugins;

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

//
// Register an indetified user
intercom
  .registerIdentifiedUser({ userId: 123456 }) // or email or both

//
// 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" } })

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": {
   "IntercomPlugin": {
      "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": {
   "IntercomPlugin": {
      "android-apiKey": "android_sdk-xxx",
      "android-appId": "yyy"
    }
  }
…
}
  • npx cap open android
  • [extra step] in android case we need to tell Capacitor to initialise the plugin:

on your MainActivity.java file add import com.getcapacitor.community.intercom.IntercomPlugin; and then inside the init callback add(IntercomPlugin.class);

Now you should be set to go. Try to run your client using ionic cap run android --livereload.

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!

About

Enable Intercom for Capacitor apps

https://capacitor.ionicframework.com/docs/

License:MIT License


Languages

Language:TypeScript 29.2%Language:Swift 20.4%Language:Java 20.0%Language:SCSS 16.9%Language:JavaScript 4.1%Language:Objective-C 3.5%Language:Ruby 3.2%Language:HTML 2.7%