UNPKG

instabug-cordova

Version:

The purpose of this plugin is to simplify the process of integrating the Instabug SDK in a hybrid application, as well as to provide an interface to interfacing with the SDK through JavaScript.

229 lines (184 loc) 7.29 kB
var exec = require('cordova/exec'); var getInvocationEvents = function () { return { shake: 'shake', button: 'button', screenshot: 'screenshot', swipe: 'swipe', none: 'none' }; }; var getReproStepsMode = function () { return { enabled: 'enabled', disabled: 'disabled', enabledWithNoScreenshots: 'enabledWithNoScreenshots' }; }; var getWelcomeMessageMode = function () { return { welcomeMessageModeLive: 'welcomeMessageModeLive', welcomeMessageModeBeta: 'welcomeMessageModeBeta', welcomeMessageModeDisabled: 'welcomeMessageModeDisabled' } }; var getLocales = function () { return { arabic: 'arabic', chineseSimplified: 'chineseSimplified', chineseTraditional: 'chineseTraditional', english: 'english', french: 'french', german: 'german', italian: 'italian', japanese: 'japanese', korean: 'korean', polish: 'polish', portugueseBrazil: 'portugueseBrazil', russian: 'russian', spanish: 'spanish', swedish: 'swedish', turkish: 'turkish', czech: 'czech' }; }; var Instabug = function () { }; Instabug.activate = function (token, event, options, success, error) { var validatedEvent = getInvocationEvents()[event]; if (validatedEvent) { console.warn("This method is now deprecated, and will be removed in an upcoming version.") exec(success, error, 'IBGPlugin', 'activate', [token, event, options]); } else { console.log('Could not activate Instabug - invocation event "' + event + '" is not valid.'); } }; Instabug.show = function (success, error) { exec(success, error, 'IBGPlugin', 'show'); } Instabug.startWithToken = function (token, events, options, success, error) { var i; var validatedEvents = []; for (i = 0; i < events.length; i++) { var validatedEvent = getInvocationEvents()[events[i]]; if(validatedEvent) { validatedEvents.push(validatedEvent); } } if (validatedEvents !== undefined || validatedEvents.length != 0) { exec(success, error, 'IBGPlugin', 'startWithToken', [token, validatedEvents, options]); } else { console.log('Could not activate Instabug - invocation event is not valid.'); } }; Instabug.setPrimaryColor = function (colorInteger, success, error) { exec(success, error, 'IBGPlugin', 'setPrimaryColor', [colorInteger]); }; Instabug.setViewHierarchyEnabled = function (enabled, success, error) { exec(success, error, 'IBGPlugin', 'setViewHierarchyEnabled', [enabled]); }; Instabug.setAutoScreenRecordingEnabled = function (enabled, success, error) { exec(success, error, 'IBGPlugin', 'setAutoScreenRecordingEnabled', [enabled]); }; Instabug.setAutoScreenRecordingMaxDuration = function (duration, success, error) { exec(success, error, 'IBGPlugin', 'setAutoScreenRecordingMaxDuration', [duration]); }; Instabug.logUserEventWithName = function (userEvent, success, error) { exec(success, error, 'IBGPlugin', 'logUserEventWithName', [userEvent]); }; Instabug.setShakingThreshold = function (shakingThreshold, success, error) { exec(success, error, 'IBGPlugin', 'setShakingThreshold', [shakingThreshold]); }; Instabug.setReproStepsMode = function (reproStepsMode, success, error) { var validatedReproStepsMode = getReproStepsMode()[reproStepsMode]; if (validatedReproStepsMode) { exec(success, error, 'IBGPlugin', 'setReproStepsMode', [validatedReproStepsMode]); } else { console.log('Could not set user steps mode - "' + validatedReproStepsMode + '" is not valid.'); } }; Instabug.showWelcomeMessage = function (welcomeMessageMode, success, error) { var validatedWelcomeMessageMode = getWelcomeMessageMode()[welcomeMessageMode]; if (validatedWelcomeMessageMode) { exec(success, error, 'IBGPlugin', 'showWelcomeMessage', [validatedWelcomeMessageMode]); } else { console.log('Could not set welcome message mode - "' + validatedWelcomeMessageMode + '" is not valid.'); } }; Instabug.setUserData = function (data, success, error) { exec(success, error, 'IBGPlugin', 'setUserData', [data]); }; Instabug.addFile = function (filePath, success, error) { exec(success, error, 'IBGPlugin', 'addFile', [filePath]); } Instabug.addLog = function (content, success, error) { exec(success, error, 'IBGPlugin', 'addLog', [content]); }; Instabug.clearLog = function (success, error) { exec(success, error, 'IBGPlugin', 'clearLog', []); }; /** * @deprecated use {@link Replies.getUnreadRepliesCount} */ Instabug.getUnreadMessagesCount = function (success, error) { exec(success, error, 'IBGPlugin', 'getUnreadRepliesCount', []); }; /** * @deprecated use {@link Replies.setInAppNotificationEnabled} */ Instabug.setChatNotificationEnabled = function (isEnabled, success, error) { exec(success, error, 'IBGPlugin', 'setChatNotificationEnabled', [isEnabled]); }; Instabug.setIBGLogPrintsToConsole = function (isEnabled, success, error) { exec(success, error, 'IBGPlugin', 'setIBGLogPrintsToConsole', [isEnabled]); }; Instabug.disable = function (success, error) { exec(success, error, 'IBGPlugin', 'disable', []); }; Instabug.enable = function (success, error) { exec(success, error, 'IBGPlugin', 'enable', []); }; Instabug.isEnabled = function (success, error) { exec(success, error, 'IBGPlugin', 'isEnabled', []); }; Instabug.setUserAttribute = function (key, value, success, error) { exec(success, error, 'IBGPlugin', 'setUserAttribute', [key, value]); }; Instabug.removeUserAttribute = function (key, success, error) { exec(success, error, 'IBGPlugin', 'removeUserAttribute', [key]); }; Instabug.getAllUserAttributes = function (success, error) { exec(success, error, 'IBGPlugin', 'getAllUserAttributes', []); }; Instabug.getUserAttribute = function (key, success, error) { exec(success, error, 'IBGPlugin', 'getUserAttribute', [key]); }; Instabug.identifyUserWithEmail = function (email, name, success, error) { exec(success, error, 'IBGPlugin', 'identifyUserWithEmail', [email, name]); }; Instabug.setPreSendingHandler = function (success, error) { exec(success, error, 'IBGPlugin', 'setPreSendingHandler', []); }; Instabug.setVideoRecordingFloatingButtonPosition = function (position, success, error) { exec(success, error, 'IBGPlugin', 'setVideoRecordingFloatingButtonPosition', [position]); }; Instabug.logOut = function (success, error) { exec(success, error, 'IBGPlugin', 'logOut', []); }; Instabug.setDebugEnabled = function (isDebugEnabled, success, error) { exec(success, error, 'IBGPlugin', 'setDebugEnabled', [isDebugEnabled]); if(success) { console.log("setting debug enabled to " + isDebugEnabled); } else if(error) { console.log("setting debug enabled not successful"); } }; Instabug.setLocale = function (locale, success, error) { var validatedLocale = getLocales()[locale]; if (validatedLocale) { exec(success, error, 'IBGPlugin', 'setLocale', [validatedLocale]); } else { console.log('Could not set locale - "' + locale + '" is not valid.'); } }; module.exports = Instabug;