npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

cordova-plugin-analytics

v2.0.0

Published

Phonegap, Cordova, Ionic, Intel XDK Google Analytics Firebase plugin for iOS/Android with full support for views, events, timings, ecommerce and social.

Downloads

45

Readme

Google Analytics Firebase Plugin

Phonegap, Cordova, Ionic, Intel XDK Google Analytics Firebase plugin for iOS/Android with full support for views, events, timings, ecommerce and social. Ionic Native on the way.

WARNING: the previous version (1.5) is broken as Google no longer supports native app analytics without Firebase

Prerequisites:

  • A Cordova 3.0+ project for iOS and/or Android
  • A Firebase project
  • Download Google-services.json (android) and GoogleService-info.plist (ios) from Firebase console Note: Ionic Demo Project on the way.

Platform SDK supported

  • iOS, using Google Analytics Firebase
  • Android, using Google Analytics Firebase

Quick start

To install this plugin, follow the Command-line Interface Guide. You can use the following command line:

  • cordova plugin add cordova-plugin-analytics --save

Make sure to review the Google Analytics terms and SDK Policy


Javascript API

Note: All success callbacks are in the form 'function () {}', and all failure callbacks are in the form 'function (err) {}' where err is a String explaining the error reason.

  • {function()} success: (Optional) success callback.
  • {function()} failure: (Optional) failure callback.

setCurrentScreen(screenName, success, error)

Sets the current screen name, which specifies the current visual context in your app. This helps identify the areas in your app where users spend their time and how they interact with your app. (https://firebase.google.com/docs/reference/android/com/google/firebase/analytics/FirebaseAnalytics.html#setCurrentScreen)

  • {String} screenName: (Required) the name of the screen to track.

Note: All screens classes will be tracked as MainActivity in android, and MainViewController in ios, as it is cordova default. You should filter by screen names. It is not possible to change screen class.

logEvent(eventName, options, success, failure)

Logs an app event. The event can have up to 25 parameters. Events with the same name must have the same parameters. Up to 500 event names are supported. Using predefined FirebaseAnalytics.Event and/or FirebaseAnalytics.Param is recommended for optimal reporting. (https://firebase.google.com/docs/reference/android/com/google/firebase/analytics/FirebaseAnalytics.html#logEvent)

  • {String} eventName: (Required) the name of the event to track (custom or predefined, see below).
  • {Object} options: (Optional) JSON object with additional options (see options).

eventName: predefined events available see Firebase:

| Type | Event name | Description | | ---- | ---------- | ----------- | | String | ADD_PAYMENT_INFO | Add Payment Info event. | | String | ADD_TO_CART | E-Commerce Add To Cart event. | | String | ADD_TO_WISHLIST | E-Commerce Add To Wishlist event. | | String | APP_OPEN | App Open event. | | String | BEGIN_CHECKOUT | E-Commerce Begin Checkout event. | | String | CAMPAIGN_DETAILS | Log this event to supply the referral details of a re-engagement campaign. | | String | CHECKOUT_PROGRESS | Checkout progress. | | String | EARN_VIRTUAL_CURRENCY | Earn Virtual Currency event. | | String | ECOMMERCE_PURCHASE | E-Commerce Purchase event. | | String | GENERATE_LEAD | Generate Lead event. | | String | JOIN_GROUP | Join Group event. | | String | LEVEL_END | Level End event. | | String | LEVEL_START | Level Start event. | | String | LEVEL_UP | Level Up event. | | String | LOGIN | Login event. | | String | POST_SCORE | Post Score event. | | String | PRESENT_OFFER | Present Offer event. | | String | PURCHASE_REFUND | E-Commerce Purchase Refund event. | | String | REMOVE_FROM_CART | Remove from cart event. | | String | SEARCH | Search event. | | String | SELECT_CONTENT | Select Content event. | | String | SET_CHECKOUT_OPTION | Set checkout option. | | String | SHARE | Share event. | | String | SIGN_UP | Sign Up event. | | String | SPEND_VIRTUAL_CURRENCY | Spend Virtual Currency event. | | String | TUTORIAL_BEGIN | Tutorial Begin event. | | String | TUTORIAL_COMPLETE | Tutorial End event. | | String | UNLOCK_ACHIEVEMENT | Unlock Achievement event. | | String | VIEW_ITEM | View Item event. | | String | VIEW_ITEM_LIST | View Item List event. | | String | VIEW_SEARCH_RESULTS | View Search Results event. | Way to use predefined events:

analytics.logEvent(analytics.DEFAULT_EVENTS.ADD_PAYMENT_INFO, {});

eventParams: predefined params, see Firebase Params:

| Type | Param name | Description | | ---- | ---------- | ----------- | | String | ACHIEVEMENT_ID | Game achievement ID (String). | | String | ACLID | CAMPAIGN_DETAILS click ID. | | String | AFFILIATION | The store or affiliation from which this transaction occurred. | | String | CAMPAIGN | CAMPAIGN_DETAILS name; used for keyword analysis to identify a specific product promotion or strategic campaign. | | String | CHARACTER | Character used in game (String). | | String | CHECKOUT_OPTION | Some option on a step in an ecommerce flow. | | String | CHECKOUT_STEP | The checkout step (1..N). | | String | CONTENT | CAMPAIGN_DETAILS content; used for A/B testing and content-targeted ads to differentiate ads or links that point to the same URL. | | String | CONTENT_TYPE | Type of content selected (String). | | String | COUPON | Coupon code for a purchasable item (String). | | String | CP1 | CAMPAIGN_DETAILS custom parameter. | | String | CREATIVE_NAME | The name of a creative used in a promotional spot. | | String | CREATIVE_SLOT | The name of a creative slot. | | String | CURRENCY | Purchase currency in 3 letter ISO_4217 format (String). | | String | DESTINATION | Flight or Travel destination (String). | | String | END_DATE | The arrival date, check-out date, or rental end date for the item (String). | | String | FLIGHT_NUMBER | Flight number for travel events (String). | | String | GROUP_ID | Group/clan/guild id (String). | | String | INDEX | The index of an item in a list. | | String | ITEM_BRAND | Item brand. | | String | ITEM_CATEGORY | Item category (String). | | String | ITEM_ID | Item ID (String). | | String | ITEM_LIST | The list in which the item was presented to the user. | | String | ITEM_LOCATION_ID | The Google Place ID that corresponds to the associated item (String). | | String | ITEM_NAME | Item name (String). | | String | ITEM_VARIANT | Item variant. | | String | LEVEL | Level in game (long). | | String | LEVEL_NAME | The name of a level in a game (String). | | String | LOCATION | Location (String). | | String | MEDIUM | CAMPAIGN_DETAILS medium; used to identify a medium such as email or cost-per-click (cpc). | | String | METHOD | A particular approach used in an operation; for example, "facebook" or "email" in the context of a sign_up or login event. | | String | NUMBER_OF_NIGHTS | Number of nights staying at hotel (long). | | String | NUMBER_OF_PASSENGERS | Number of passengers traveling (long). | | String | NUMBER_OF_ROOMS | Number of rooms for travel events (long). | | String | ORIGIN | Flight or Travel origin (String). | | String | PRICE | Purchase price (double). | | String | QUANTITY | Purchase quantity (long). | | String | SCORE | Score in game (long). | | String | SEARCH_TERM | The search string/keywords used (String). | | String | SHIPPING | Shipping cost (double). | | String | SIGN_UP_METHOD | This constant was deprecated. Use METHOD instead. | | String | SOURCE | CAMPAIGN_DETAILS source; used to identify a search engine, newsletter, or other source. | | String | START_DATE | The departure date, check-in date, or rental start date for the item (String). | | String | SUCCESS | The result of an operation (long). | | String | TAX | Tax amount (double). | | String | TERM | CAMPAIGN_DETAILS term; used with paid search to supply the keywords for ads. | | String | TRANSACTION_ID | A single ID for a ecommerce group transaction (String). | | String | TRAVEL_CLASS | Travel class (String). | | String | VALUE | A context-specific numeric value which is accumulated automatically for each event type. | | String | VIRTUAL_CURRENCY_NAME | Name of virtual currency type (String). |

Way to use predefined params:

const params = {};
params[analytics.DEFAULT_PARAMS.CURRENCY] = 'Euro';
params['my param'] = 'my value';
analytics.logEvent(analytics.DEFAULT_EVENTS.ADD_PAYMENT_INFO, params);

resetAnalyticsData(success, error)

Clears all analytics data for this app from the device and resets the app instance id. (https://firebase.google.com/docs/reference/android/com/google/firebase/analytics/FirebaseAnalytics.html#resetAnalyticsData)

setAnalyticsCollectionEnabled(success, error)

Sets whether analytics collection is enabled for this app on this device. This setting is persisted across app sessions. By default it is enabled. (https://firebase.google.com/docs/reference/android/com/google/firebase/analytics/FirebaseAnalytics.html#setAnalyticsCollectionEnabled)

setMinimumSessionDuration(success, error)

Sets the minimum engagement time required before starting a session. The default value is 10000 (10 seconds). (https://firebase.google.com/docs/reference/android/com/google/firebase/analytics/FirebaseAnalytics.html#setMinimumSessionDuration)

setSessionTimeoutDuration(milliseconds, success, error)

Sets the duration of inactivity that terminates the current session. The default value is 1800000 (30 minutes). (https://firebase.google.com/docs/reference/android/com/google/firebase/analytics/FirebaseAnalytics.html#setSessionTimeoutDuration)

  • {number} milliseconds: (Required) The timeout in milliseconds

setUserId(userId, success, error)

Sets the user ID property. This feature must be used in accordance with Google's Privacy Policy. (https://firebase.google.com/docs/reference/android/com/google/firebase/analytics/FirebaseAnalytics.html#setUserId)

  • {string} userId: (Required) The user id

setUserProperty(userPropertyName, userPropertyValue, success, error)

Sets a user property to a given value. Up to 25 user property names are supported. Once set, user property values persist throughout the app lifecycle and across sessions. (https://firebase.google.com/docs/reference/android/com/google/firebase/analytics/FirebaseAnalytics.html#setUserProperty)

  • {string} serPropertyName: (Required) The user property name
  • {string} userPropertyValue: (Required) The user property value