The cordova.exec() function

You can structure your plugin's JavaScript according to your preference. However, you must use the cordova.exec() function to communicate between the Cordova JavaScript and the native environment. The cordova.exec() function is defined in the cordova.js file and has the following signature:
exec (<successFunction>, <failFunction> , <service> , <action> , [< args >]);
The parameters are:
<successFunction>
Success function callback. Assuming your exec() call completes successfully, this function is invoked (optionally with any parameters you pass back to it).
<failFunction>
Error function callback. If the operation doesn't complete successfully, this function is invoked (optionally with an error parameter).
<service>
The name of the service to call into on the native side. This is mapped to a native class.
<action>
The name of the action to call into. This is picked up by the native class receiving the cordova.exec() call, and essentially maps to a class's method.
< args >
Arguments to pass into the native environment.

The cordova.exec() function is the key to your plugin—it provides the link between the JavaScript and the native APIs. For more information about cordova.exec(), see the Apache Cordova documentation.