Capacitor plugin to enable features from Intercom
- registerIdentifiedUser
- registerUnidentifiedUser
- updateUser
- logout
- logEvent
- displayMessenger
- displayMessageComposer
- displayHelpCenter
- hideMessenger
- displayLauncher
- hideLauncher
- displayInAppMessages
- hideInAppMessages
- setUserHash
- setBottomPadding
import { Intercom } from "capacitor-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" } })
ionic start my-cap-app --capacitor
cd my-cap-app
npm install —-save capacitor-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.
ionic start my-cap-app --capacitor
cd my-cap-app
npm install —-save capacitor-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 addimport io.stewan.capacitor.intercom.IntercomPlugin;
and then inside the init callbackadd(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.
(coming soon)
Cheers 🍻
Follow me @Twitter
MIT