Git Product home page Git Product logo

react-native-flurry-analytics's Introduction

React Native Flurry Analytics

React Native wrapper for flurry analytics.

logo

Table of contents

Installation

Common

  1. Install package via npm:
npm install react-native-flurry-analytics --save
  1. Link native part
react-native link react-native-flurry-analytics
  1. Inside your code include JS part by adding
import FlurryAnalytics from 'react-native-flurry-analytics';

iOS

sudo gem install cocoapods
cd ios
pod init
open Podfile

Add this line

pod 'Flurry-iOS-SDK/FlurrySDK'

Then run

pod install

Android

Add these lines in AndroidManifest.xml

<!-- Required permissions - Internet access -->
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<!-- Recommended permission - External memory pre-caching -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
Configure Proguard (optional)

Add following to android/app/proguard-rules.pro

# Required to preserve the Flurry SDK
-keep class com.flurry.** { *; }
-dontwarn com.flurry.**
-keepattributes *Annotation*,EnclosingMethod,Signature
-keepclasseswithmembers class * {
   public (android.content.Context, android.util.AttributeSet, int);
 }

 # Google Play Services library
  -keep class * extends java.util.ListResourceBundle {
   protected Object[ ][ ] getContents();
}

 -keep public class com.google.android.gms.common.internal.safeparcel.SafeParcelable {
  public static final *** NULL;
 }

 -keepnames @com.google.android.gms.common.annotation.KeepName class *
 -keepclassmembernames class * {
    @com.google.android.gms.common.annotation.KeepName *;
  }

 -keepnames class * implements android.os.Parcelable {
  public static final ** CREATOR;
 }

Usage

startSession(string apiKey)

FlurryAnalytics.startSession('YOUR_API_KEY');

setAppVersion(string version)

!!! method must be called prior to invoking startSession

FlurryAnalytics.setAppVersion('1.0.0');

setDebugLogEnabled(bool enabled)

!!! method must be called prior to invoking startSession

FlurryAnalytics.setDebugLogEnabled(false)

setSessionContinueSeconds(int seconds)

!!! method must be called prior to invoking startSession

FlurryAnalytics.setSessionContinueSeconds(10);

setCrashReportingEnabled(bool enabled)

!!! method must be called prior to invoking startSession

FlurryAnalytics.setCrashReportingEnabled(true);

logEvent(string eventName, object params, bool timed)

FlurryAnalytics.logEvent('eventName');
FlurryAnalytics.logEvent('eventName', true);
FlurryAnalytics.logEvent('eventName', {param: 'true'});
FlurryAnalytics.logEvent('eventName', {param: 'true'}, true);

endTimedEvent(string eventName, object params)

FlurryAnalytics.endTimedEvent('eventName');
FlurryAnalytics.endTimedEvent('eventName', {param: 'true'});

logPageView()

FlurryAnalytics.logPageView();

setUserId(string userId)

FlurryAnalytics.setUserId('userId');

setUserAge(int age)

FlurryAnalytics.setUserAge(28);

setUserGender(string gender)

FlurryAnalytics.setUserGender('m');
// or
FlurryAnalytics.setUserGender('f');

For more information read official docs iOS Android

Contributing

Just submit a pull request!

Copyright and license

Code and documentation copyright 2016 Dmitriy Kolesnikov. Code released under the MIT license.

react-native-flurry-analytics's People

Contributors

augustoalegon avatar domir avatar njt1982 avatar oblador avatar stereu avatar xxsnakerxx 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.