nativescript-iadvize
by m.cetkovic | v1.0.3
iAdvize plugin for NativeScript.
npm i --save nativescript-iadvize

nativescript-iadvize

A NativeScript plugin for integration of iAdvize chat into Android/iOS app.

NativeScript plugin for iAdvize SDK

npm version

This is a plugin to show the conversation from a iAdvize chat, using the iAdvize SDK (Android v2.0.0-beta1, iOS v2.0.0-beta1).

Requirements

  • iOS 12.0 or higher, and Xcode 12.5
  • Minimum Android Version API 19, and Kotlin 1.5.10
  • NativeScript CLI 7.x
  • iAdvize account

Installation

Run the following command from the root of your project:

npm install nativescript-iadvize

Activation

When the user logs in to the your app call activate with your credentials (our example home.component.ts):

IAdvize.activate(XXXX, 'XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX', 'userId', () => {
console.log('IAdvize conversation activated.');
});

Chatting

To open the chat window call presentChat():

IAdvize.presentChat();

Optional functions

Hide default chat button

To hide default chat button call hideDefaultChatButton():

IAdvize.hideDefaultChatButton();

UI customization

To customize the chatbox UI call customize():

const configuration: ChatConfiguration = {
automaticMessage: 'Any question? Say Hello to Smart and we will answer you as soon as possible! 😊',
font: 'fontPath',
incomingMessageAvatar: 'avatar-icon',
mainColor: '#4103fc',
navigationBarBackgroundColor: '#4103fc',
navigationBarMainColor: '#ffffff',
navigationBarTitle: 'Chat Title'
};
IAdvize.customize(configuration);

Logging Out

To preserve the confidentiality of user conversation call logout().

IAdvize.logout();

Conversation events

To add a listener to be informed in real time about conversation events call registerConversationListener().

IAdvize.registerConversationListener((url: string) => {
console.log('Handle clicked url - ' + url);
return false;
}, (hasOngoingConversation: boolean) => {
console.log('Ongoing conversation status changed - ' + hasOngoingConversation);
});

Push Notifications

To be informed of chat messages received when your app is not running call registerPushToken()

IAdvize.registerPushToken('your-token', isProduction);

Development setup

For easier development and debugging purposes continue with the following steps:

Open a command prompt/terminal, navigate to src folder and run npm run demo.ios or npm run demo.android to run the demo.

Now go and make a change to your plugin. It will be automatically applied to the demo project.

Clean plugin and demo files

Sometimes you may need to wipe away all generated folders to reinstall them fresh. Run npm run clean to wipe those clean then you can can run plugin.prepare to install fresh dependencies.

Sometimes you just need to wipe out the demo's platforms, node_modules and hooks directory only. Run npm run demo.reset to delete those.