SlideShare a Scribd company logo
1 of 12
Download to read offline
How to Integrate Flurry in Android
Flurry Analytics integration in Android 
What is Flurry Analytics? 
Analytics  
Analytics gives us change to get insights of user behaviour. It Shows us 
exactly how people are using the mobile applications. Analytics can play a 
vital part in application development process. It enables us to identify areas 
of improvement and maximize Success in market. 
Why Flurry Analytics? 
You can gain deep insight into your customer's behaviour very quickly and 
with little effort using Flurry's Analytics service. The SDK integration 
process is designed to be as easy as possible. It provide an effective and 
efficient process to discover new user and their relevant uses. It provide 
behavioural features like event tracking and can shows user interactions 
(Custom Event). Check the loyalty and visit Frequency, provide a way to 
find app Crashes, Exceptions and much more. 
Note:- ​Before Going forward, Be sure that your development environment 
(Eclipse, Android developer tools and JDK) are setup Correctly. To ensure 
that follow ​Android Developer 
Set Up Flurry Analytics  
Step 1:-. Download the ​Flurry Android SDK 
● If you have Flurry Account Login otherwise or you need to Sign up 
and Create account 
● Create Your Application 
● Select your platform Android 
● Then provide you application details and category 
● Verify your mail and download SDK.   
The archive should contain these files: 
FlurryAnalytics_ver.jar:- The library containing Flurry's analytic collection 
and reporting code. This contains all Classes and interface required.  
FlurryAds_ver.jar:- The optional library to incorporate Flurry's ads into your 
application (where ver denotes the latest version of Flurry SDK).This library 
provide way to Monetize your applications. 
ProjectApiKey.txt:- This file contains the name of your project and your 
project's API key. 
Analytics-README.pdf: These are Pdf files Contains useful information. It 
decribes Flurry Analytics bottom to top Content.   
Step 2:- Add the FlurryAnalytics_x.y.z.jar to your 
classpath  
If you're using Eclipse, modify your Java Build Path, and choose Add 
External JAR. 
To use a Flurry Analyics (JAR file) inside your Android project, you can 
simple copy the JAR file into the folder called libs in your application. 
The Android tooling adds the JAR file automatically to the classpath of 
your project. During deployment the Android tooling compiles the .class 
files in the Android .dex file which contains the Android byte-code. 
Step 3:- Configure your AndroidManifest.xml to: 
Get Internet permission in Manifest. 
Specify a versionName attribute in the manifest to have data reported 
under that version name 
Declare min version of Android OS the application supports. 
Note: Flurry Supports Android OS Version 
10(Gingerbread 2.3.6) and above   
<manifest xmlns:android=”​http://schemas.android.com/apk/res/android” 
package=”com.your.package” 
android:versionCode=”1″ 
android:versionName=”1.0″ > 
  
<uses-sdk 
android:minSdkVersion=”10″ 
android:targetSdkVersion=”20″ /> 
   
<uses-permission android:name=”android.permission.INTERNET” /> 
<uses-permission android:name=”android.permission.ACCESS_NETWORK_STATE”/> 
   
</manifest> 
Step 4:- Add calls to onStartSession and onEndSession  
The following lines of the code need to be added to the each Activity of 
your application to accurately capture duration of users' interaction with 
the application. 
import com.flurry.android.FlurryAgent; 
Import FlurryAgent classes from android package of flurry SDK. 
@Override 
protected void onStart(){ 
super.onStart(); 
FlurryAgent.onStartSession(this, “YOUR_API_KEY”); 
} 
Insert a call to FlurryAgent.onStartSession(Context, String), passing it a 
reference to a Context object (such as an Activity or Service), and your 
project's API key. I recommend using the onStart method of each Activity 
in your application, and passing the ​Activity (or Service) itself as 
the Context object – passing the global Application 
context is not recommended. 
  
@Override 
protected void onStop() 
{ 
super.onStop();   
FlurryAgent.onEndSession(this); 
} 
  
Insert a call to FlurryAgent.onEndSession(Context) when a session is 
complete. We recommend using the onStop method of each Activity in your 
application. ​Make sure to match up a call to onEndSession 
for each call of onStartSession, passing in the same 
Context object that was used to call onStartSession. 
Note:  
You can use single sessions throughout your applications by using single 
context.  
Context : Context that has called onStartSession but not onEndSession, 
this allow session to continued. You should not call new sessions 
immedataly after session is end. Ther should be minimum 30 seconds 
difference between the onEndSession and next onStartSession. If this 
conditions happens last session will continued. 
So my recomdention is use Events.  
you can modify time window during which a session can be resumed, call 
FlurryAgent.setContinueSessionMillis(long milliseconds) before the first 
call to FlurryAgent.onStartSession. This provide you simple approach to 
change time Window during the application. 
Getting Deeper……..  
STEP 2: Custom Events 
User Specific actions that user take in your applications are called Events. 
These Events describes user action in your applications. 
Examples of event 
user Click on Share Button and share playlist of song. You can generate an 
event of Share. Every time user shared playlist of songs, Share event is 
generated. 
This helps you understand how users interact with your app. 
There are two level structure used in Custom Events. You can use each 
level separately in your applications. 
1. Event 
2. Event parameters 
Events 
Events have a two-level structure. The highest level is the specific action, in 
this case the playing song in media player. 
For example User clicked on play button of media player  
Only single line of code is required to track this Event: 
FlurryAgent.logEvent(“Play Button”); 
Events Limit Per Applications is 300. 
If events are added to your applicatiob , Flurry will automatically build User 
Paths based on this data so you can see how a user navigates through your 
application. 
Event Parameters 
The second level in the Event structure is the Event parameter – these are 
characteristics of the Event itself or the user performing it.  
You can capture Event parameters (which include the Event itself) with two 
lines of code: 
Map<String, String> SongParams = new HashMap<String, String>(); 
articleParams.put(“Singer”, “Eminem”);  
articleParams.put(“User_Status”, “Liked”);  
FlurryAgent.logEvent(“Song_played”, SongParams); 
Each Event can have up to 10 parameters​, and each 
parameter can have an infinite number of values associated with it. 
Event Duration 
Flurry provide a dimension of time(Event Duration), this dimension provide 
a way to track event time. Flurry will automatically record the duration of 
the Event and provide you metrics on average Event length overall, by 
session and by user. 
You can capture Event duration (along with the Event and its parameters) 
with a single log following this pattern: 
// Capture author info & user status 
Map<String, String> MediaParam= new HashMap<String, String>(); 
articleParams.put(“PlayList”, “Eminen”);  
articleParams.put(“Song”, “Won't back down “); 
FlurryAgent.logEvent(“Song Track”, MediaParam, true); 
// In a function that captures when a user navigates away from article   
FlurryAgent.endTimedEvent(“Song Track”); 
Flurry offers a number of advanced features that allow you to gain even 
greater insight into your users. Use the following methods to report this 
data: 
Track Geographic Location  
Add these permissions in your Manifest  
android.permission.ACCESS_COARSE_LOCATION  
android.permission.ACCESS_FINE_LOCATION 
These Locations Permission is used by Flurry to extract user Locations. 
Flurry will provide you Tracked User Locations. At the end ,Flurry will 
provide report to you about areas in which your application is used(City 
level).   
To disable​ detailed location reporting even when your app has 
permission, call ​FlurryAgent.setReportLocation(false)​ before 
calling FlurryAgent.onStartSession() and no detailed location information 
will be sent. 
Track Age and Gender  
FlurryAgent.setAge(int); 
Use this to log the user's age. ​Valid inputs​ are between ​1 and 109. 
FlurryAgent.setGender(byte); 
Use this to log the user's gender. Valid inputs are ​Constants.MALE​ or 
Constants.FEMALE. 
Track User ID 
FlurryAgent.setUserID(String); 
String or arguments should be non personal informations.you can not send 
personal informations as a argument. This will directly Violates the Flurry's 
Aggrement.  
Track Errors  
FlurryAgent.onError(String errorId, String message, String errorClass) 
Use onError to report application errors. Flurry will report the first 10 errors 
to occur in each session. The FlurryAgent will also notify you of uncaught 
exceptions in the same way. 
To ​disable​ this behaviour ,  
use ​setCaptureUncaughtExceptions(false) before 
onStartSession. 
Track page Views 
FlurryAgent.onPageView() 
Use onPageView to report ​page view count.​ You should call this 
method whenever a new page is shown to the user to increment the total 
count. you can detect user interaction within your applications. This 
provides valuable apporach to count user movement in your applications. 
NOTE: Page View method is different from Custom 
Events. 
PageView provide you Counts whereas Custome Events provide you a way 
to track specific user actions at different level of description 
  
Reports , Statistics and Metrics  
Page Contains​ a description and definition of all of the metrics and 
features in Flurry Analytics. 
Flurry Generats precise summarry reports and also provide its elaborated 
Informations  
Flurry Report  

More Related Content

Similar to Integrate Flurry Analytics in Android Apps

Android 101 Session @thejunction32
Android 101 Session @thejunction32Android 101 Session @thejunction32
Android 101 Session @thejunction32Eden Shochat
 
Mobile Application Guideline | Mobile App Development Company
Mobile Application Guideline | Mobile App Development Company Mobile Application Guideline | Mobile App Development Company
Mobile Application Guideline | Mobile App Development Company Arna Softech Private Limited
 
Android intents, notification and broadcast recievers
Android intents, notification and broadcast recieversAndroid intents, notification and broadcast recievers
Android intents, notification and broadcast recieversUtkarsh Mankad
 
Android building blocks and application life cycle-chapter3
Android building blocks and application life cycle-chapter3Android building blocks and application life cycle-chapter3
Android building blocks and application life cycle-chapter3Dr. Ramkumar Lakshminarayanan
 
android_mod_3.useful for bca students for their last sem
android_mod_3.useful for bca students for their last semandroid_mod_3.useful for bca students for their last sem
android_mod_3.useful for bca students for their last semaswinbiju1652
 
Android broadcast receiver tutorial
Android broadcast receiver   tutorialAndroid broadcast receiver   tutorial
Android broadcast receiver tutorialmaamir farooq
 
Android broadcast receiver tutorial
Android broadcast receiver  tutorialAndroid broadcast receiver  tutorial
Android broadcast receiver tutorialmaamir farooq
 
Data Transfer between activities and Database
Data Transfer between activities and Database Data Transfer between activities and Database
Data Transfer between activities and Database faiz324545
 
Android app fundamentals
Android app fundamentalsAndroid app fundamentals
Android app fundamentalsAmr Salman
 
Android application fundamentals
Android application fundamentalsAndroid application fundamentals
Android application fundamentalsJohn Smith
 
Will it run or will it not run? Background processes in Android 6 - Anna Lifs...
Will it run or will it not run? Background processes in Android 6 - Anna Lifs...Will it run or will it not run? Background processes in Android 6 - Anna Lifs...
Will it run or will it not run? Background processes in Android 6 - Anna Lifs...DroidConTLV
 
Android service, aidl - day 1
Android service, aidl - day 1Android service, aidl - day 1
Android service, aidl - day 1Utkarsh Mankad
 
Android Training (Services)
Android Training (Services)Android Training (Services)
Android Training (Services)Khaled Anaqwa
 
Hello android world
Hello android worldHello android world
Hello android worldeleksdev
 
Automated crime m_anagement-synopsis
Automated crime m_anagement-synopsisAutomated crime m_anagement-synopsis
Automated crime m_anagement-synopsisAditya Chauhan
 

Similar to Integrate Flurry Analytics in Android Apps (20)

Android 101 Session @thejunction32
Android 101 Session @thejunction32Android 101 Session @thejunction32
Android 101 Session @thejunction32
 
Android Development Basics
Android Development BasicsAndroid Development Basics
Android Development Basics
 
Mobile Application Guideline | Mobile App Development Company
Mobile Application Guideline | Mobile App Development Company Mobile Application Guideline | Mobile App Development Company
Mobile Application Guideline | Mobile App Development Company
 
Android intents, notification and broadcast recievers
Android intents, notification and broadcast recieversAndroid intents, notification and broadcast recievers
Android intents, notification and broadcast recievers
 
Android building blocks and application life cycle-chapter3
Android building blocks and application life cycle-chapter3Android building blocks and application life cycle-chapter3
Android building blocks and application life cycle-chapter3
 
android_mod_3.useful for bca students for their last sem
android_mod_3.useful for bca students for their last semandroid_mod_3.useful for bca students for their last sem
android_mod_3.useful for bca students for their last sem
 
Android broadcast receiver tutorial
Android broadcast receiver   tutorialAndroid broadcast receiver   tutorial
Android broadcast receiver tutorial
 
Android broadcast receiver tutorial
Android broadcast receiver  tutorialAndroid broadcast receiver  tutorial
Android broadcast receiver tutorial
 
Data Transfer between activities and Database
Data Transfer between activities and Database Data Transfer between activities and Database
Data Transfer between activities and Database
 
Android app fundamentals
Android app fundamentalsAndroid app fundamentals
Android app fundamentals
 
Android application fundamentals
Android application fundamentalsAndroid application fundamentals
Android application fundamentals
 
Dense And Hot 360 Flex
Dense And Hot 360 FlexDense And Hot 360 Flex
Dense And Hot 360 Flex
 
Will it run or will it not run? Background processes in Android 6 - Anna Lifs...
Will it run or will it not run? Background processes in Android 6 - Anna Lifs...Will it run or will it not run? Background processes in Android 6 - Anna Lifs...
Will it run or will it not run? Background processes in Android 6 - Anna Lifs...
 
Android service, aidl - day 1
Android service, aidl - day 1Android service, aidl - day 1
Android service, aidl - day 1
 
Lesson 10
Lesson 10Lesson 10
Lesson 10
 
Android Training (Services)
Android Training (Services)Android Training (Services)
Android Training (Services)
 
Hello android world
Hello android worldHello android world
Hello android world
 
Mobile testing android
Mobile testing   androidMobile testing   android
Mobile testing android
 
Automated crime m_anagement-synopsis
Automated crime m_anagement-synopsisAutomated crime m_anagement-synopsis
Automated crime m_anagement-synopsis
 
Dm36678681
Dm36678681Dm36678681
Dm36678681
 

More from adityakumar2080

A Guide to React Native App Development
A Guide to React Native App DevelopmentA Guide to React Native App Development
A Guide to React Native App Developmentadityakumar2080
 
A Guide to Amazon Web Services (AWS)
A Guide to Amazon Web Services (AWS)A Guide to Amazon Web Services (AWS)
A Guide to Amazon Web Services (AWS)adityakumar2080
 
React Native App Development- 2022 Guide for Developers
React Native App Development- 2022 Guide for DevelopersReact Native App Development- 2022 Guide for Developers
React Native App Development- 2022 Guide for Developersadityakumar2080
 
Why choose AWS as your cloud partner?
Why choose AWS as your cloud partner?Why choose AWS as your cloud partner?
Why choose AWS as your cloud partner?adityakumar2080
 
Ionic App Development: A Quick Overview
Ionic App Development: A Quick OverviewIonic App Development: A Quick Overview
Ionic App Development: A Quick Overviewadityakumar2080
 
Best Frameworks for Android App Development 2022
Best Frameworks for Android App Development 2022Best Frameworks for Android App Development 2022
Best Frameworks for Android App Development 2022adityakumar2080
 
How Do You Pick the Best Selenium Tool for Your Business?
How Do You Pick the Best Selenium Tool for Your Business?How Do You Pick the Best Selenium Tool for Your Business?
How Do You Pick the Best Selenium Tool for Your Business?adityakumar2080
 
Is Ionic good for Mobile app development?
Is Ionic good for Mobile app development?Is Ionic good for Mobile app development?
Is Ionic good for Mobile app development?adityakumar2080
 
Ionic Framework: Key Features
Ionic Framework: Key FeaturesIonic Framework: Key Features
Ionic Framework: Key Featuresadityakumar2080
 
What Features of MongoDB Development Make it an Ideal Choice for Developers i...
What Features of MongoDB Development Make it an Ideal Choice for Developers i...What Features of MongoDB Development Make it an Ideal Choice for Developers i...
What Features of MongoDB Development Make it an Ideal Choice for Developers i...adityakumar2080
 
Why is Selenium Software Testing Gaining Such a Huge Popularity?
Why is Selenium Software Testing Gaining Such a Huge Popularity?Why is Selenium Software Testing Gaining Such a Huge Popularity?
Why is Selenium Software Testing Gaining Such a Huge Popularity?adityakumar2080
 
How to Choose The Right Selenium Tool for Your Organizational Need?
How to Choose The Right Selenium Tool for Your Organizational Need?How to Choose The Right Selenium Tool for Your Organizational Need?
How to Choose The Right Selenium Tool for Your Organizational Need?adityakumar2080
 
What is MongoDB? Introduction and features
What is MongoDB? Introduction and featuresWhat is MongoDB? Introduction and features
What is MongoDB? Introduction and featuresadityakumar2080
 
Why are a Large Number of Enterprises Hiring AWS Managed Service Providers?
Why are a Large Number of Enterprises Hiring AWS Managed Service Providers?Why are a Large Number of Enterprises Hiring AWS Managed Service Providers?
Why are a Large Number of Enterprises Hiring AWS Managed Service Providers?adityakumar2080
 
Why should you learn Selenium?
Why should you learn Selenium?Why should you learn Selenium?
Why should you learn Selenium?adityakumar2080
 
When and why to use MongoDB?
When and why to use MongoDB?When and why to use MongoDB?
When and why to use MongoDB?adityakumar2080
 
Map Integrated App Development- The Need of the Hour
Map Integrated App Development- The Need of the HourMap Integrated App Development- The Need of the Hour
Map Integrated App Development- The Need of the Houradityakumar2080
 
Selenium Automation Testing- Features and Benefits
Selenium Automation Testing-  Features and BenefitsSelenium Automation Testing-  Features and Benefits
Selenium Automation Testing- Features and Benefitsadityakumar2080
 
Why hire an Apple Watch App development company?
Why hire an Apple Watch App development company?Why hire an Apple Watch App development company?
Why hire an Apple Watch App development company?adityakumar2080
 
Advantages of using MongoDB
Advantages of using MongoDBAdvantages of using MongoDB
Advantages of using MongoDBadityakumar2080
 

More from adityakumar2080 (20)

A Guide to React Native App Development
A Guide to React Native App DevelopmentA Guide to React Native App Development
A Guide to React Native App Development
 
A Guide to Amazon Web Services (AWS)
A Guide to Amazon Web Services (AWS)A Guide to Amazon Web Services (AWS)
A Guide to Amazon Web Services (AWS)
 
React Native App Development- 2022 Guide for Developers
React Native App Development- 2022 Guide for DevelopersReact Native App Development- 2022 Guide for Developers
React Native App Development- 2022 Guide for Developers
 
Why choose AWS as your cloud partner?
Why choose AWS as your cloud partner?Why choose AWS as your cloud partner?
Why choose AWS as your cloud partner?
 
Ionic App Development: A Quick Overview
Ionic App Development: A Quick OverviewIonic App Development: A Quick Overview
Ionic App Development: A Quick Overview
 
Best Frameworks for Android App Development 2022
Best Frameworks for Android App Development 2022Best Frameworks for Android App Development 2022
Best Frameworks for Android App Development 2022
 
How Do You Pick the Best Selenium Tool for Your Business?
How Do You Pick the Best Selenium Tool for Your Business?How Do You Pick the Best Selenium Tool for Your Business?
How Do You Pick the Best Selenium Tool for Your Business?
 
Is Ionic good for Mobile app development?
Is Ionic good for Mobile app development?Is Ionic good for Mobile app development?
Is Ionic good for Mobile app development?
 
Ionic Framework: Key Features
Ionic Framework: Key FeaturesIonic Framework: Key Features
Ionic Framework: Key Features
 
What Features of MongoDB Development Make it an Ideal Choice for Developers i...
What Features of MongoDB Development Make it an Ideal Choice for Developers i...What Features of MongoDB Development Make it an Ideal Choice for Developers i...
What Features of MongoDB Development Make it an Ideal Choice for Developers i...
 
Why is Selenium Software Testing Gaining Such a Huge Popularity?
Why is Selenium Software Testing Gaining Such a Huge Popularity?Why is Selenium Software Testing Gaining Such a Huge Popularity?
Why is Selenium Software Testing Gaining Such a Huge Popularity?
 
How to Choose The Right Selenium Tool for Your Organizational Need?
How to Choose The Right Selenium Tool for Your Organizational Need?How to Choose The Right Selenium Tool for Your Organizational Need?
How to Choose The Right Selenium Tool for Your Organizational Need?
 
What is MongoDB? Introduction and features
What is MongoDB? Introduction and featuresWhat is MongoDB? Introduction and features
What is MongoDB? Introduction and features
 
Why are a Large Number of Enterprises Hiring AWS Managed Service Providers?
Why are a Large Number of Enterprises Hiring AWS Managed Service Providers?Why are a Large Number of Enterprises Hiring AWS Managed Service Providers?
Why are a Large Number of Enterprises Hiring AWS Managed Service Providers?
 
Why should you learn Selenium?
Why should you learn Selenium?Why should you learn Selenium?
Why should you learn Selenium?
 
When and why to use MongoDB?
When and why to use MongoDB?When and why to use MongoDB?
When and why to use MongoDB?
 
Map Integrated App Development- The Need of the Hour
Map Integrated App Development- The Need of the HourMap Integrated App Development- The Need of the Hour
Map Integrated App Development- The Need of the Hour
 
Selenium Automation Testing- Features and Benefits
Selenium Automation Testing-  Features and BenefitsSelenium Automation Testing-  Features and Benefits
Selenium Automation Testing- Features and Benefits
 
Why hire an Apple Watch App development company?
Why hire an Apple Watch App development company?Why hire an Apple Watch App development company?
Why hire an Apple Watch App development company?
 
Advantages of using MongoDB
Advantages of using MongoDBAdvantages of using MongoDB
Advantages of using MongoDB
 

Recently uploaded

How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetEnjoy Anytime
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxnull - The Open Security Community
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 

Recently uploaded (20)

How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 

Integrate Flurry Analytics in Android Apps

  • 1. How to Integrate Flurry in Android Flurry Analytics integration in Android  What is Flurry Analytics?  Analytics   Analytics gives us change to get insights of user behaviour. It Shows us  exactly how people are using the mobile applications. Analytics can play a 
  • 2. vital part in application development process. It enables us to identify areas  of improvement and maximize Success in market.  Why Flurry Analytics?  You can gain deep insight into your customer's behaviour very quickly and  with little effort using Flurry's Analytics service. The SDK integration  process is designed to be as easy as possible. It provide an effective and  efficient process to discover new user and their relevant uses. It provide  behavioural features like event tracking and can shows user interactions  (Custom Event). Check the loyalty and visit Frequency, provide a way to  find app Crashes, Exceptions and much more.  Note:- ​Before Going forward, Be sure that your development environment  (Eclipse, Android developer tools and JDK) are setup Correctly. To ensure  that follow ​Android Developer  Set Up Flurry Analytics   Step 1:-. Download the ​Flurry Android SDK  ● If you have Flurry Account Login otherwise or you need to Sign up  and Create account  ● Create Your Application 
  • 3. ● Select your platform Android  ● Then provide you application details and category  ● Verify your mail and download SDK.    The archive should contain these files:  FlurryAnalytics_ver.jar:- The library containing Flurry's analytic collection  and reporting code. This contains all Classes and interface required.   FlurryAds_ver.jar:- The optional library to incorporate Flurry's ads into your  application (where ver denotes the latest version of Flurry SDK).This library  provide way to Monetize your applications.  ProjectApiKey.txt:- This file contains the name of your project and your  project's API key.  Analytics-README.pdf: These are Pdf files Contains useful information. It  decribes Flurry Analytics bottom to top Content.    Step 2:- Add the FlurryAnalytics_x.y.z.jar to your  classpath   If you're using Eclipse, modify your Java Build Path, and choose Add  External JAR. 
  • 4. To use a Flurry Analyics (JAR file) inside your Android project, you can  simple copy the JAR file into the folder called libs in your application.  The Android tooling adds the JAR file automatically to the classpath of  your project. During deployment the Android tooling compiles the .class  files in the Android .dex file which contains the Android byte-code.  Step 3:- Configure your AndroidManifest.xml to:  Get Internet permission in Manifest.  Specify a versionName attribute in the manifest to have data reported  under that version name  Declare min version of Android OS the application supports.  Note: Flurry Supports Android OS Version  10(Gingerbread 2.3.6) and above    <manifest xmlns:android=”​http://schemas.android.com/apk/res/android”  package=”com.your.package”  android:versionCode=”1″  android:versionName=”1.0″ >     <uses-sdk  android:minSdkVersion=”10″  android:targetSdkVersion=”20″ />      <uses-permission android:name=”android.permission.INTERNET” />  <uses-permission android:name=”android.permission.ACCESS_NETWORK_STATE”/>      </manifest> 
  • 5. Step 4:- Add calls to onStartSession and onEndSession   The following lines of the code need to be added to the each Activity of  your application to accurately capture duration of users' interaction with  the application.  import com.flurry.android.FlurryAgent;  Import FlurryAgent classes from android package of flurry SDK.  @Override  protected void onStart(){  super.onStart();  FlurryAgent.onStartSession(this, “YOUR_API_KEY”);  }  Insert a call to FlurryAgent.onStartSession(Context, String), passing it a  reference to a Context object (such as an Activity or Service), and your  project's API key. I recommend using the onStart method of each Activity  in your application, and passing the ​Activity (or Service) itself as  the Context object – passing the global Application  context is not recommended.     @Override  protected void onStop()  {  super.onStop();    FlurryAgent.onEndSession(this);  } 
  • 6.    Insert a call to FlurryAgent.onEndSession(Context) when a session is  complete. We recommend using the onStop method of each Activity in your  application. ​Make sure to match up a call to onEndSession  for each call of onStartSession, passing in the same  Context object that was used to call onStartSession.  Note:   You can use single sessions throughout your applications by using single  context.   Context : Context that has called onStartSession but not onEndSession,  this allow session to continued. You should not call new sessions  immedataly after session is end. Ther should be minimum 30 seconds  difference between the onEndSession and next onStartSession. If this  conditions happens last session will continued.  So my recomdention is use Events.   you can modify time window during which a session can be resumed, call  FlurryAgent.setContinueSessionMillis(long milliseconds) before the first 
  • 7. call to FlurryAgent.onStartSession. This provide you simple approach to  change time Window during the application.  Getting Deeper……..   STEP 2: Custom Events  User Specific actions that user take in your applications are called Events.  These Events describes user action in your applications.  Examples of event  user Click on Share Button and share playlist of song. You can generate an  event of Share. Every time user shared playlist of songs, Share event is  generated.  This helps you understand how users interact with your app.  There are two level structure used in Custom Events. You can use each  level separately in your applications.  1. Event  2. Event parameters 
  • 8. Events  Events have a two-level structure. The highest level is the specific action, in  this case the playing song in media player.  For example User clicked on play button of media player   Only single line of code is required to track this Event:  FlurryAgent.logEvent(“Play Button”);  Events Limit Per Applications is 300.  If events are added to your applicatiob , Flurry will automatically build User  Paths based on this data so you can see how a user navigates through your  application.  Event Parameters  The second level in the Event structure is the Event parameter – these are  characteristics of the Event itself or the user performing it.   You can capture Event parameters (which include the Event itself) with two  lines of code:  Map<String, String> SongParams = new HashMap<String, String>();  articleParams.put(“Singer”, “Eminem”);   articleParams.put(“User_Status”, “Liked”);   FlurryAgent.logEvent(“Song_played”, SongParams); 
  • 9. Each Event can have up to 10 parameters​, and each  parameter can have an infinite number of values associated with it.  Event Duration  Flurry provide a dimension of time(Event Duration), this dimension provide  a way to track event time. Flurry will automatically record the duration of  the Event and provide you metrics on average Event length overall, by  session and by user.  You can capture Event duration (along with the Event and its parameters)  with a single log following this pattern:  // Capture author info & user status  Map<String, String> MediaParam= new HashMap<String, String>();  articleParams.put(“PlayList”, “Eminen”);   articleParams.put(“Song”, “Won't back down “);  FlurryAgent.logEvent(“Song Track”, MediaParam, true);  // In a function that captures when a user navigates away from article    FlurryAgent.endTimedEvent(“Song Track”);  Flurry offers a number of advanced features that allow you to gain even  greater insight into your users. Use the following methods to report this  data:  Track Geographic Location   Add these permissions in your Manifest  
  • 10. android.permission.ACCESS_COARSE_LOCATION   android.permission.ACCESS_FINE_LOCATION  These Locations Permission is used by Flurry to extract user Locations.  Flurry will provide you Tracked User Locations. At the end ,Flurry will  provide report to you about areas in which your application is used(City  level).    To disable​ detailed location reporting even when your app has  permission, call ​FlurryAgent.setReportLocation(false)​ before  calling FlurryAgent.onStartSession() and no detailed location information  will be sent.  Track Age and Gender   FlurryAgent.setAge(int);  Use this to log the user's age. ​Valid inputs​ are between ​1 and 109.  FlurryAgent.setGender(byte);  Use this to log the user's gender. Valid inputs are ​Constants.MALE​ or  Constants.FEMALE. 
  • 11. Track User ID  FlurryAgent.setUserID(String);  String or arguments should be non personal informations.you can not send  personal informations as a argument. This will directly Violates the Flurry's  Aggrement.   Track Errors   FlurryAgent.onError(String errorId, String message, String errorClass)  Use onError to report application errors. Flurry will report the first 10 errors  to occur in each session. The FlurryAgent will also notify you of uncaught  exceptions in the same way.  To ​disable​ this behaviour ,   use ​setCaptureUncaughtExceptions(false) before  onStartSession.  Track page Views  FlurryAgent.onPageView() 
  • 12. Use onPageView to report ​page view count.​ You should call this  method whenever a new page is shown to the user to increment the total  count. you can detect user interaction within your applications. This  provides valuable apporach to count user movement in your applications.  NOTE: Page View method is different from Custom  Events.  PageView provide you Counts whereas Custome Events provide you a way  to track specific user actions at different level of description     Reports , Statistics and Metrics   Page Contains​ a description and definition of all of the metrics and  features in Flurry Analytics.  Flurry Generats precise summarry reports and also provide its elaborated  Informations   Flurry Report