import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core'; import { Injectable } from '@angular/core'; /** * @name Intercom * @description * This is a plugin that allows your Ionic app to use Intercom for iOS and/or Intercom for Android. * Follow the offical documentation to setup this plugin correctly: https://developers.intercom.com/docs/cordova-phonegap-configuration * * @usage * ```typescript * import { Intercom } from '@ionic-native/intercom'; * * * constructor(private intercom: Intercom) { } * * ... * * this.intercom.registerUnidentifiedUser(); * ... * this.intercom.registerForPush(); * * ``` */ @Plugin({ pluginName: 'Intercom', plugin: 'cordova-plugin-intercom', pluginRef: 'intercom', repo: 'https://github.com/intercom/intercom-cordova', platforms: ['Android', 'iOS'], }) @Injectable() export class Intercom extends IonicNativePlugin { /** * Register a identified user * @param options {any} Options * @return {Promise} Returns a promise */ @Cordova() registerIdentifiedUser(options: any): Promise { return; } /** * Register a unidentified user * @param options {any} Options * @return {Promise} Returns a promise */ @Cordova() registerUnidentifiedUser(options: any): Promise { return; } /** * This resets the Intercom integration's cache of your user's identity and wipes the slate clean. * @return {Promise} Returns a promise */ @Cordova() reset(): Promise { return; } /** * * @param secureHash {string} * @param secureData {any} * @return {Promise} Returns a promise * @deprecated Use setUserHash instead as of Intercom Cordova 4.0.0 and higher https://github.com/intercom/intercom-cordova/blob/master/CHANGELOG.md#400-2017-08-29 */ @Cordova() setSecureMode(secureHash: string, secureData: any): Promise { return; } /** * * @param secureHash {string} * @return {Promise} Returns a promise */ @Cordova() setUserHash(secureHash: string): Promise { return; } /** * * @param attributes {any} * @return {Promise} Returns a promise */ @Cordova() updateUser(attributes: any): Promise { return; } /** * * @param eventName {string} * @param metaData {any} * @return {Promise} Returns a promise */ @Cordova() logEvent(eventName: string, metaData: any): Promise { return; } /** * * @return {Promise} Returns a promise */ @Cordova() displayMessenger(): Promise { return; } /** * * @return {Promise} Returns a promise */ @Cordova() displayMessageComposer(): Promise { return; } /** * * @param initialMessage {string} * @return {Promise} Returns a promise */ @Cordova() displayMessageComposerWithInitialMessage(initialMessage: string): Promise { return; } /** * * @return {Promise} Returns a promise */ @Cordova() displayConversationsList(): Promise { return; } /** * * @return {Promise} Returns a promise */ @Cordova() unreadConversationCount(): Promise { return; } /** * * @param visibility {string} * @return {Promise} Returns a promise */ @Cordova() setLauncherVisibility(visibility: string): Promise { return; } /** * * @param visibility {string} * @return {Promise} Returns a promise */ @Cordova() setInAppMessageVisibility(visibility: string): Promise { return; } /** * * @return {Promise} Returns a promise */ @Cordova() hideMessenger(): Promise { return; } /** * * @return {Promise} Returns a promise */ @Cordova() registerForPush(): Promise { return; } }