ionic-native
Version:
Native plugin wrappers for Cordova and Ionic with TypeScript, ES6+, Promise and Observable support
234 lines • 8.84 kB
JavaScript
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var plugin_1 = require('./plugin');
/**
* @name Google Analytics
* @description
* This plugin connects to Google's native Universal Analytics SDK
* Prerequisites:
* - A Cordova 3.0+ project for iOS and/or Android
* - A Mobile App property through the Google Analytics Admin Console
* - (Android) Google Play Services SDK installed via [Android SDK Manager](https://developer.android.com/sdk/installing/adding-packages.html)
* @usage
* ```typescript
* import { GoogleAnalytics } from 'ionic-native';
*
* GoogleAnalytics.startTrackerWithId('YOUR_TRACKER_ID')
* .then(() => {
* console.log('Google analytics is ready now');
* // Tracker is ready
* // You can now track pages or set additional information such as AppVersion or UserId
* })
* .catch(e => console.log('Error starting GoogleAnalytics', e));
*
*
* ```
*/
var GoogleAnalytics = (function () {
function GoogleAnalytics() {
}
/**
* In your 'deviceready' handler, set up your Analytics tracker.
* https://developers.google.com/analytics/devguides/collection/analyticsjs/
* @param {string} id Your Google Analytics Mobile App property
* @param {number} interval Optional dispatch period in seconds. Defaults to 30.
* @returns {Promise<any>}
*/
GoogleAnalytics.startTrackerWithId = function (id, interval) { return; };
/**
* Enabling Advertising Features in Google Analytics allows you to take advantage of Remarketing, Demographics & Interests reports, and more
* @param allow {boolean}
* @returns {Promise<any>}
*/
GoogleAnalytics.setAllowIDFACollection = function (allow) { return; };
/**
* Set a UserId
* https://developers.google.com/analytics/devguides/collection/analyticsjs/user-id
* @param {string} id User ID
* @returns {Promise<any>}
*/
GoogleAnalytics.setUserId = function (id) { return; };
/**
* Set a anonymize Ip address
* @param anonymize {boolean} Set to true to anonymize the IP Address
* @returns {Promise<any>}
*/
GoogleAnalytics.setAnonymizeIp = function (anonymize) { return; };
/**
* Sets the app version
* @param appVersion {string} App version
* @returns {Promise<any>}
*/
GoogleAnalytics.setAppVersion = function (appVersion) { return; };
/**
* Set OptOut
* @param optout {boolean}
* @returns {Promise<any>}
*/
GoogleAnalytics.setOptOut = function (optout) { return; };
/**
* Enable verbose logging
* @returns {Promise<any>}
*/
GoogleAnalytics.debugMode = function () { return; };
/**
* Track custom metric
* @param key {string}
* @param value {any}
* @returns {Promise<any>}
*/
GoogleAnalytics.trackMetric = function (key, value) { return; };
/**
* Track a screen
* https://developers.google.com/analytics/devguides/collection/analyticsjs/screens
*
* @param title {string} Screen title
* @param campaignUrl {string} Campaign url for measuring referrals
* @param newSession {boolean} Set to true to create a new session
* @returns {Promise<any>}
*/
GoogleAnalytics.trackView = function (title, campaignUrl, newSession) { return; };
/**
* Add a Custom Dimension
* https://developers.google.com/analytics/devguides/platform/customdimsmets
* @param key {number}
* @param value {string}
* @returns {Promise<any>}
*/
GoogleAnalytics.addCustomDimension = function (key, value) { return; };
/**
* Track an event
* https://developers.google.com/analytics/devguides/collection/analyticsjs/events
* @param category {string}
* @param action {string}
* @param label {string}
* @param value {number}
* @param newSession {boolean} Set to true to create a new session
* @returns {Promise<any>}
*/
GoogleAnalytics.trackEvent = function (category, action, label, value, newSession) { return; };
/**
* Track an exception
* @param description {string}
* @param fatal {boolean}
* @returns {Promise<any>}
*/
GoogleAnalytics.trackException = function (description, fatal) { return; };
/**
* Track User Timing (App Speed)
* @param category {string}
* @param intervalInMilliseconds {number}
* @param variable {string}
* @param label {string}
* @returns {Promise<any>}
*/
GoogleAnalytics.trackTiming = function (category, intervalInMilliseconds, variable, label) { return; };
/**
* Add a Transaction (Ecommerce)
* https://developers.google.com/analytics/devguides/collection/analyticsjs/ecommerce#addTrans
* @param id {string}
* @param affiliation {string}
* @param revenue {number}
* @param tax {number}
* @param shipping {number}
* @param currencyCode {string}
* @returns {Promise<any>}
*/
GoogleAnalytics.addTransaction = function (id, affiliation, revenue, tax, shipping, currencyCode) { return; };
/**
* Add a Transaction Item (Ecommerce)
* https://developers.google.com/analytics/devguides/collection/analyticsjs/ecommerce#addItem
* @param {string} id
* @param {string} name
* @param {string} sku
* @param {string} category
* @param {number} price
* @param {number} quantity
* @param {string} currencyCode
* @returns {Promise<any>}
*/
GoogleAnalytics.addTransactionItem = function (id, name, sku, category, price, quantity, currencyCode) { return; };
/**
* Enable/disable automatic reporting of uncaught exceptions
* @param shouldEnable {boolean}
* @returns {Promise<any>}
*/
GoogleAnalytics.enableUncaughtExceptionReporting = function (shouldEnable) { return; };
__decorate([
plugin_1.Cordova({
successIndex: 2,
errorIndex: 3
})
], GoogleAnalytics, "startTrackerWithId", null);
__decorate([
plugin_1.Cordova()
], GoogleAnalytics, "setAllowIDFACollection", null);
__decorate([
plugin_1.Cordova()
], GoogleAnalytics, "setUserId", null);
__decorate([
plugin_1.Cordova()
], GoogleAnalytics, "setAnonymizeIp", null);
__decorate([
plugin_1.Cordova()
], GoogleAnalytics, "setAppVersion", null);
__decorate([
plugin_1.Cordova()
], GoogleAnalytics, "setOptOut", null);
__decorate([
plugin_1.Cordova()
], GoogleAnalytics, "debugMode", null);
__decorate([
plugin_1.Cordova({
successIndex: 2,
errorIndex: 3
})
], GoogleAnalytics, "trackMetric", null);
__decorate([
plugin_1.Cordova({
successIndex: 3,
errorIndex: 4
})
], GoogleAnalytics, "trackView", null);
__decorate([
plugin_1.Cordova()
], GoogleAnalytics, "addCustomDimension", null);
__decorate([
plugin_1.Cordova({
successIndex: 5,
errorIndex: 6
})
], GoogleAnalytics, "trackEvent", null);
__decorate([
plugin_1.Cordova()
], GoogleAnalytics, "trackException", null);
__decorate([
plugin_1.Cordova()
], GoogleAnalytics, "trackTiming", null);
__decorate([
plugin_1.Cordova()
], GoogleAnalytics, "addTransaction", null);
__decorate([
plugin_1.Cordova()
], GoogleAnalytics, "addTransactionItem", null);
__decorate([
plugin_1.Cordova()
], GoogleAnalytics, "enableUncaughtExceptionReporting", null);
GoogleAnalytics = __decorate([
plugin_1.Plugin({
pluginName: 'GoogleAnalytics',
plugin: 'cordova-plugin-google-analytics',
pluginRef: 'ga',
repo: 'https://github.com/danwilson/google-analytics-plugin',
platforms: ['Android', 'iOS', 'Browser']
})
], GoogleAnalytics);
return GoogleAnalytics;
}());
exports.GoogleAnalytics = GoogleAnalytics;
//# sourceMappingURL=googleanalytics.js.map
;