Cordova bridge API calls (Mapp Cloud)

Implement the plugin

Call this method as soon as possible in your app initialization process to register the device and receive a push.
The method must be called on every app launch.
Notification methods (pushMessageReceived, richMessageReceived) are only available after this method is called.
@param {string} sdkID - The SDK ID for your account.
@param {string} googleProjectID - The Google project id from your Firebase console for the chosen app.
@param {string} server - The Server, which will be use for engagement, this info will be provided by account managers.
@param {string} tenantID - The ID which recognise you at the Mapp Engage system, will be also provided by account managers.
@callback {string} successCallback - A json string with a response for this operation with information.
@callback {string} errorCallback - A json string with a response for this operation with information.

MappPlugin.prototype.engage = function (sdkID, appSecret, successCallback, errorCallback) {}

Engage
function engage() {
    if (device.platform == "iOS") {

        // No need to engage.
        // Engaging is performed under the hood, by supplying the AppoxeeConfig.plist file.

    } else {

        MappPlugin.engage("sdkID",
            "googleProjectID",
            "server",
            "appID",
            "tenantID",
            function (json) {
                alert(JSON.stringify(json)); 
            },
            function (json) {
                alert(JSON.stringify(json)); 
            });

    }
}

Check if the device is registered in Mapp

Returns "true" if registration is completed, "false" if failed or not yet completed.
MappPlugin.prototype.isReady = function (successCallback, errorCallback)

Alias

Set device alias

@param {string} alias - A string to be identified as the device alias.
@callback {string} successCallback - A json string with a response for this operation with information.
@callback {string} errorCallback - A json string with a response for this operation with information.
MappPlugin.prototype.setDeviceAlias = function (alias, successCallback, errorCallback) {}

Example
 function setDeviceAlias() {
    
    MappPlugin.setDeviceAlias("Phonegap Alias",
                                 function (json) {
                                 alert(JSON.stringify(json));
                                 },
                                 function (json) {
                                 alert(JSON.stringify(json));
                                 });
}

Get device alias

@callback {string} successCallback - A json string with a response for this operation with information.
@callback {string} errorCallback - A json string with a response for this operation with information.
MappPlugin.prototype.getAlias = function (successCallback, errorCallback) {}

Example
 function getAlias() {
    
    MappPlugin.getAlias(function (json) {
                           alert(JSON.stringify(json));
                           },
                           function (json) {
                           alert(JSON.stringify(json));
                           });
}

Remove alias

Remove the alias associated with this device. Empty string is need to be sent as an alias, because Engage system does not support NULL as an alias value. 
@callback {string} successCallback - A json string with a response for this operation with information.
@callback {string} errorCallback - A json string with a response for this operation with information.
MappPlugin.prototype.removeDeviceAlias = function (successCallback, errorCallback) {}

Example
 function removeDeviceAlias() {
    
    MappPlugin.removeDeviceAlias("", function (json) {
            alert(JSON.stringify(json));
        },
        function (json) {
            alert(JSON.stringify(json));
        });
}

Device API 

Device Information

Get information associated with this device.
@callback {string} successCallback - A json string with a response for this operation with information.
@callback {string} errorCallback - A json string with a response for this operation with information.
MappPlugin.prototype.deviceInformation = function (successCallback, errorCallback) {}

Example
 function deviceInformation() {
    
    MappPlugin.deviceInformation(function (json) {
                                    alert(JSON.stringify(json));
                                    },
                                    function (json) {
                                    alert(JSON.stringify(json));
                                    });
}

Get Rich Messages

Get rich messages for this device.
@callback {string} successCallback - A json string with a response for this operation with information.
@callback {string} errorCallback - A json string with a response for this operation with information.
MappPlugin.prototype.getRichMessages = function (successCallback, errorCallback) {}

Example
 function getRichMessages() {
    
    MappPlugin.getRichMessages(function (json) {
                                  alert(JSON.stringify(json));
                                  },
                                  function (json) {
                                  alert(JSON.stringify(json));
                                  });
}

Delete Messages (iOS only)

Delete a Rich Message.
@param {string} msgID - A string representing the message ID. Message ID's can be retrieved in MappPlugin.refreshInbox()
@callback {string} successCallback - A json string with a response for this operation with information.
@callback {string} errorCallback - A json string with a response for this operation with information.
MappPlugin.prototype.deleteRichMessage = function (msgID, successCallback, errorCallback) {}

Example
 function deleteRichMessage() {
    
    MappPlugin.deleteRichMessage("0",
                                    function (json) {
                                    alert(JSON.stringify(json));
                                    },
                                    function (json) {
                                    alert(JSON.stringify(json));
                                    });
}

Refresh Inbox (iOS only)

Sync inbox messages with Mapp servers.
@callback {string} successCallback - A json string with a response for this operation with information.
@callback {string} errorCallback - A json string with a response for this operation with information.
MappPlugin.prototype.refreshInbox = function (successCallback, errorCallback) {}

Example
function refreshInbox() {
    
    MappPlugin.refreshInbox(function (json) {
                               alert(JSON.stringify(json));
                               },
                               function (json) {
                               alert(JSON.stringify(json));
                               });
} 

Push API

Push Enabled

Check if the feature is enabled.
@callback {string} successCallback - A json string with a response for this operation with information.
@callback {string} errorCallback - A json string with a response for this operation with information.
MappPlugin.prototype.isPushEnabled = function (successCallback, errorCallback) {}

Example
 function isPushEnabled() {
    
    MappPlugin.isPushEnabled(function (json) {
                                alert(JSON.stringify(json));
                                },
                                function (json) {
                                alert(JSON.stringify(json));
                                });
}

Disable Push

Method will disable / enable the feature.
@param {string} disable - a string with a value of "true" or "false".
@callback {string} successCallback - A json string with a response for this operation with information.
@callback {string} errorCallback - A json string with a response for this operation with information.
MappPlugin.prototype.disablePushNotifications = function (disable, successCallback, errorCallback) {}

Example
 function disablePushNotifications() {
    
    MappPlugin.disablePushNotifications("true",
                                           function (json) {
                                           alert(JSON.stringify(json));
                                           },
                                           function (json) {
                                           alert(JSON.stringify(json));
                                           });
}

Custom Fields API

Set Date Field

Set a date value for a key.
@param {string} key - A key to be paired with the value.
@param {string} value - A value which conforms 'yyyy-MM-dd hh:mm:ss'.
@callback {string} successCallback - A json string with a response for this operation with information.
@callback {string} errorCallback - A json string with a response for this operation with information.
MappPlugin.prototype.setDateField = function (key, value, successCallback, errorCallback) {}

Example
 function setDateField() {
    
    MappPlugin.setDateField("myDateKey",
                               "2015-03-16 00:00:00",
                               function (json) {
                               alert(JSON.stringify(json));
                               },
                               function (json) {
                               alert(JSON.stringify(json));
                               });
}

Set Numeric Field

Set a number value for a key.
@param {string} key - A key to be paired with the value.
@param {string} value - A value which contains a number, i.e. "34", "34.54".
@callback {string} successCallback - A json string with a response for this operation with information.
@callback {string} errorCallback - A json string with a response for this operation with information.
MappPlugin.prototype.setNumericField = function (key, value, successCallback, errorCallback) {}

Example
 function setNumericField() {
    
    MappPlugin.setNumericField("myNumericKey",
                                  "2133",
                                  function (json) {
                                  alert(JSON.stringify(json));
                                  },
                                  function (json) {
                                  alert(JSON.stringify(json));
                                  });
}

Set String Field

Set a string value for a key.
@param {string} key - A key to be paired with the value.
@param {string} value - A value which contains string.
@callback {string} successCallback - A json string with a response for this operation with information.
@callback {string} errorCallback - A json string with a response for this operation with information.
MappPlugin.prototype.setStringField = function (key, value, successCallback, errorCallback) {}

Example
 function setStringField() {
    
    MappPlugin.setStringField("myStringKey",
                                 "some string value",
                                 function (json) {
                                 alert(JSON.stringify(json));
                                 },
                                 function (json) {
                                 alert(JSON.stringify(json));
                                 });
}

Get Custom Field

Get a key-value pair for a given key.
@param {string} key - A key paired with a value.
@callback {string} successCallback - A json string with a response for this operation with information.
@callback {string} errorCallback - A json string with a response for this operation with information.
MappPlugin.prototype.fetchCustomFieldByKey = function (key, successCallback, errorCallback) {}

Example
 function fetchCustomFieldByKey() {
    
    MappPlugin.fetchCustomFieldByKey("myStringKey",
                                        function (json) {
                                        alert(JSON.stringify(json));
                                        },
                                        function (json) {
                                        alert(JSON.stringify(json));
                                        });
}

Notifications

Get Last Push 

Get last push payload. This method will only return the payload once.

@callback {string} successCallback - A json string with a response for this operation with information.
@callback {string} errorCallback - A json string with a response for this operation with information.

MappPlugin.prototype.getLastPushPayload = function (successCallback, errorCallback) {}

Example
function getLastPushPayload() {

	MappPlugin.getLastPushPayload(function (json) {
									alert(JSON.stringify(json));
									},
									function (json) {
									alert(JSON.stringify(json));
									});
}

Badge Number (iOS only)

Method sets the application badge number on iOS only, and only if notifications are approved.
@param {string} badgeNumber - a string with a value of an Integer, to set as the application badge number.
@callback {string} successCallback - A json string with a response for this operation with information.
@callback {string} errorCallback - A json string with a response for this operation with information.

MappPlugin.prototype.setApplicationBadgeNumber = function (badgeNumber, successCallback, errorCallback){}

Set badge
function setApplicationBadgeToZero() {

	    MappPlugin.setApplicationBadgeNumber("0", // Pass the Badge number you want the application icon to present.
                                           function (json) {
                                           alert(JSON.stringify(json));
                                           },
                                           function (json) {
                                           alert(JSON.stringify(json));
                                           });
}

Show Notifications on Foreground (iOS10 Only)

Method will show / hide notification when app is in foreground. Default is false. Available for ios10 and above.
@param {string} show - a string with a value of "true" or "false".
@callback {string} successCallback - A json string with a response for this operation with information.
@callback {string} errorCallback - A json string with a response for this operation with information.

MappPlugin.prototype.showNotificationsOnForeground = function (show, successCallback, errorCallback){}

Show Notifications On Foreground iOS10
function showNotificationOnForeground() {
	
	    MappPlugin.showNotificationsOnForeground("true", // Pass 'true' or 'false' to indicate if notifications should be displayed on foreground.
                                           function (json) {
                                           alert(JSON.stringify(json));
                                           },
                                           function (json) {
                                           alert(JSON.stringify(json));
                                           });
}

Rich Received (iOS Only)

Method is called when a rich message is received.
@param {string} jsonArg - A json string with the rich message payload.
MappPlugin.prototype.richMessageReceived = function richMessageReceived(jsonArg) {}

Example
 MappPlugin.prototype.richMessageReceived = function richMessageReceived(jsonArg) {
      alert("Rich Message:\n" + jsonArg);
            
      /* Add your own implementation here. */ 
}

On Push Message Listener (Android Only)

There are 4 types of messages in messageHandlerType field onPushOpened, onPushDismissed, onSilentPush, onPushReceived 

* @callback {string} successCallback - A json string with a response for this operation with information.
* @callback {string} errorCallback - A json string with a response for this operation with information.

Example
function setOnPushMessageListener() {


    MappPlugin.setOnPushMessageListener(
        function (json) {
            alert(JSON.stringify(json));
        },
        function (json) {
            alert(JSON.stringify(json));
        });
}


Fetch inapp inbox messages


The method fetches all inbox In-App messages.

@callback {string} successCallback - A json string with a response for this operation with information.
@callback {string} errorCallback - A json string with a response for this operation with information.

MappInappPlugin.prototype.fetchInboxMessages = function (successCallback, errorCallback){}


Example
function fetchInboxMessages() {


    MappInappPlugin.fetchInboxMessages()(
        function (json) {
            alert(JSON.stringify(json));
        },
        function (json) {
            alert(JSON.stringify(json));
        });
}

Show In-App message

The method triggers an In-App message.
@param {string} event  - specific DCM event trigger. 

MappPlugin.prototype.fireInAppEvent = function fireInAppEvent(event,successCallback,errorCallback) {}

Example
function fireInAppEvent() {


    MappPlugin.fireInAppEvent("app_open",
        function (json) {
            alert(JSON.stringify(json));
        },
        function (json) {
            alert(JSON.stringify(json));
        });
}

onActionListener (Android Only)

The method is called when an In-App message is clicked or deep-link push is received.
@callback {string} successCallback - A json string with a response for this operation with information.
@callback {string} errorCallback - A json string with a response for this operation with information.

MappPlugin.prototype.setApplicationBadgeNumber = function (badgeNumber, successCallback, errorCallback){}


Example
 MappPlugin.onActionListener(
    function (json) {
        alert(JSON.stringify(json));
    },
    function (json) {
        alert(JSON.stringify(json));
    });

Remove Badge Number (Android only)

Method to erase badge number.
@callback {string} successCallback - A json string with a response for this operation with information.
@callback {string} errorCallback - A json string with a response for this operation with information.

MappPlugin.prototype.removeBadgeNumber = function (successCallback, errorCallback){}

Set badge
function removeBadgeNumber() {
    MappPlugin.removeBadgeNumber(
        function (json) {
            alert(JSON.stringify(json));
        },
        function (json) {
            alert(JSON.stringify(json));
        });
}


Location API  (will be implement soon for Android)

For iOS the request for location permission will be started at the AppDelegate method, if user does not want to use it, it can be turn on by calling stopGeo method. 

Start location monitoring

Location manager will be enabled and it will collect the location change events.
@callback {string} successCallback - A json string with a response for this operation with information.
@callback {string} errorCallback - A json string with a response for this operation with information.
MappPlugin.prototype.startGeo = function (successCallback, errorCallback) {}

Example
 function startGeoLocation() {


    MappPlugin.startGeo(
        function (json) {
            alert(JSON.stringify(json));
        },
        function (json) {
            alert(JSON.stringify(json));
        });
}


Stop location monitoring

Location manager will be disabled.
@callback {string} successCallback - A json string with a response for this operation with information.
@callback {string} errorCallback - A json string with a response for this operation with information.
MappPlugin.prototype.stopGeo = function (successCallback, errorCallback) {}

Example
function stopGeoLocation() {


    MappPlugin.stopGeo(
        function (json) {
            alert(JSON.stringify(json));
        },
        function (json) {
            alert(JSON.stringify(json));
        });
}