Skip to content

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

License

Notifications You must be signed in to change notification settings

NathanWalker/nativescript-iadvize

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

79 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.2.2, iOS v2.2.5).

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.

About

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

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 91.9%
  • Shell 6.6%
  • Ruby 1.5%