A NativeScript plugin for integration of iAdvize chat into Android/iOS app.
This is a plugin to show the conversation from a iAdvize chat, using the iAdvize SDK (Android v2.2.2, iOS v2.2.5).
- 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
Run the following command from the root of your project:
npm install nativescript-iadvize
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.');
});
To open the chat window call presentChat()
:
IAdvize.presentChat();
To hide default chat button call hideDefaultChatButton()
:
IAdvize.hideDefaultChatButton();
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);
To preserve the confidentiality of user conversation call logout()
.
IAdvize.logout();
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);
});
To be informed of chat messages received when your app is not running call registerPushToken()
IAdvize.registerPushToken('your-token', isProduction);
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.
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.