Code Monkey home page Code Monkey logo

ios-ga-tracker's Introduction

⚠️ This tracker is no longer supported: On July 1, 2023, Google Analytics 4 (GA4) replaced Universal Analytics. For information about Airship's support for GA4 please visit this documentation.

UrbanAirship-iOS-GA-Tracker

Version License Platform

Installation

UrbanAirship-iOS-GA-Tracker is available through CocoaPods. To install it, simply add the following line to your Podfile:

pod "UrbanAirship-iOS-GA-Tracker"

To run the example project, clone the repo, and run pod install from the Example directory first.

Usage

Overview

The Urban Airship Google Analytics tracker consumes Google Analytics events via a UATracker instance then uses this data to generate Custom Events. The UATracker is configured by default to upload the generated Custom Events to Urban Airship, then forward the original event data to Google Analytics. The UATracker generates custom events with a pre-defined subset of Google analytics fields that can be customized by with a customization block, or defined completely with a creation block.

Examples

Configuring the UATracker:

// Set the googleAnalyticsEnabled flag to NO to prevent forwarding events to Google Analytics
tracker.googleAnalyticsEnabled = NO;

// Set the urbanAirshipEnabled flag to NO to prevent forwarding custom events to Urban Airship
tracker.urbanAirshipEnabled = NO;

Creating a screen tracking event:

// Initialize a Google Analytics tracker
NSObject<GAITracker> *googleAnalyticsTracker = [[GAI sharedInstance] trackerWithTrackingId:@"GA_tracker"];

// Initialize a Urban Airship tracker
UATracker *tracker = [UATracker trackerWithGATracker:googleAnalyticsTracker]; 

// Enable GA tracker (enabled by default)
tracker.googleAnalyticsEnabled = YES;

// Enable UA tracker (enabled by default)
tracker.urbanAirshipEnabled = YES;

// Add screen tracking event
[tracker set:kGAIScreenName value:@"Home Screen"];

// Send screen tracking event
[tracker send:[[GAIDictionaryBuilder createScreenView] build]];

Adding Custom Event properties with the customization block:

// Add event customization block to add properties to the generated customEvent
tracker.eventCustomizationBlock = ^void(UACustomEvent *customEvent, NSDictionary *parameters) {
    [customEvent setStringProperty:@"propertyValue" forKey:@"propertyKey"];
};

Creating a custom event using an event creation block:

tracker.eventCreationBlock = ^UACustomEvent *(NSDictionary *parameters,  NSObject<GAITracker> *tracker) {

    UACustomEvent *customEvent = [UACustomEvent eventWithName:@"eventName"];

    [customEvent setStringProperty:@"propertyValue" forKey:@"propertyKey"];

    return customEvent;
};

Author

Urban Airship, [email protected]

License

UrbanAirship-iOS-GA-Tracker is available under Apache License, Version 2.0. See the LICENSE file for more info.

ios-ga-tracker's People

Contributors

crow avatar gatlinhebert avatar

Watchers

Christian Metts avatar Brett Heckman avatar Mike Herrick avatar john greene avatar Kermit Auel avatar thezerobit avatar Oskar Stephens avatar Max Piepenbrink avatar Marc Sciglimpaglia avatar Colin Davis avatar Pascal Le Levier avatar Jason Bittel avatar James Cloos avatar Dan Reddell avatar Mele Sax-Barnett avatar Andy Quick avatar Emily Johnson avatar  avatar Kai Sorus avatar Michael Halka avatar Jonathan Waltner avatar Melissa Deziel avatar Devin Smythe avatar Kamlesh Pandey avatar Jeffrey Meyers avatar gemma m avatar amanda houle avatar Michael Cold avatar Stefan Schulz avatar Mike Oster avatar Misty DeGiulio avatar A Murphy avatar Vincent Coquart avatar Jeena Lee avatar Aaron Franco avatar  avatar Vishal Chandnani avatar Yinmeng Zhang avatar Siggy H. avatar  avatar Vincent Marzin avatar Zakaria MESSAI avatar Robert Imhoff avatar Scott Hirdes avatar Anna Currie avatar Matthew Reyes avatar Thang avatar Gina Yeon avatar Alexis avatar Ognjen Ristanović avatar Sabrina Wilbert avatar  avatar Scott Frazier avatar  avatar Tliba Maher avatar Joshua Branda avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.