How to get started

The FlowUp SDK is plug and play by design. You just need to create an account in our portal and add the SDK to your project with your personalized API key. You will find all documentation once logged in. Essentially you will find a step by step installation guide.

1. Add the SDK to your build.gradle file.

			
dependencies {
	compile 'io.flowup:android-sdk:<LAST_VERSION_RELEASED>'
	testCompile 'io.flowup:android-sdk-no-op:<LAST_VERSION_RELEASED>'
}
			
		

2. Initialize the SDK from your Application onCreate method.

			
FlowUp.Builder.with(this)
	.apiKey("YOUR_API_KEY")
	.forceReports(BuildConfig.DEBUG)
	.start();
			
		

3. Build and run your application. In just a few seconds, you will see how the SDK starts reporting data into the dashboards.


All the issues reported by our users and the Android SDK changelog can be found in this GitHub repository.

If your project uses lint remember to add this configuration to your project as follows.

			
android {
  ...
  lintOptions {
    abortOnError true
    disable 'InvalidPackage'
  }
}
			
		

If you face any error related to the build configuration or the application startup like this:

			
java.lang.IllegalArgumentException: There is no GcmTaskService component registered within this package. Have you extended GcmTaskService correctly? 
at com.google.android.gms.common.internal.zzx.zzb(Unknown Source)
at com.google.android.gms.gcm.GcmNetworkManager.zzdi(Unknown Source) 
at com.google.android.gms.gcm.GcmNetworkManager.schedule(Unknown Source) 
at io.flowup.config.android.a.a(Unknown Source) 
at io.flowup.FlowUp.p(Unknown Source) 
at io.flowup.FlowUp.d(Unknown Source) 
at io.flowup.FlowUp$1.run(Unknown Source) 
at java.lang.Thread.run(Thread.java:841)			
		

Remember to review the Google Play Services dependencies you have the version 9.6.1 or to exclude it from the Android SDK as follows:

			
compile ("io.flowup:android-sdk:<LAST_VERSION_RELEASED>") {
         exclude group: 'com.google.android.gms'
}
			
		

Additionally, remember you can send an email to support@flowup.io asking for any doubt or issue.

How does it work

Once FlowUp is initialized, it starts collection and storing every metric right away. Once FlowUp detects that the user is connected to a WiFi network, the SDK will synchronize the performance metrics automatically.

We do not want you to modify your production code to collect performance metrics you need. The FlowUp SDK is fully transparent to developers, so that with one single line SDK, you will tackle all metrics that matters to monitor your app performance.

Advanced configuration

The FlowUp SDK is distributed with a not-operational version. This way you avoid reporting data whenever your are executing your tests or developing the application. This configuration is optional, all you need to do is changing how you import the Android SDK.

This configuration will not initialize FlowUp if the used build type is the DEBUG one. As a result, your application will recollect data just if the build is the release one.

	        
dependencies {
	releaseCompile 'io.flowup:android-sdk:<LAST_VERSION_RELEASED>'
	debugCompile 'io.flowup:android-sdk-no-op:<LAST_VERSION_RELEASED>'
	testCompile 'io.flowup:android-sdk-no-op:<LAST_VERSION_RELEASED>'
}
			
		

Additionally, you can configure the SDK to force the reports every ten seconds or to show the SDK log traces as follows:

			
FlowUp.Builder.with(this)
	.apiKey("YOUR_API_KEY")
	.logEnabled(true)
	.forceReports(true)
	.start();
			
		

Let your app flow up and to the right!