React Native Flurry Analytics
React Native wrapper for flurry analytics.
Table of contents
Installation
Common
- Install package via npm:
npm install react-native-flurry-analytics --save
- Link native part
react-native link react-native-flurry-analytics
- 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
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
Configure Proguard (optional)
Add following to android/app/proguard-rules.pro
-keep class com.flurry.** { *; }
-dontwarn com.flurry.**
-keepattributes *Annotation*,EnclosingMethod,Signature
-keepclasseswithmembers class * {
public (android.content.Context, android.util.AttributeSet, int);
}
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'});
setUserId(string userId)
FlurryAnalytics.setUserId('userId');
setUserAge(int age)
FlurryAnalytics.setUserAge(28);
setUserGender(string gender)
FlurryAnalytics.setUserGender('m');
FlurryAnalytics.setUserGender('f');
setEventLoggingEnabled(bool enabled)
!!! method must be called prior to invoking __startSession
FlurryAnalytics.setEventLoggingEnabled(true);
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.