Use of smartphones has seen some explosive growth over the last decade. For this reason, many companies and independent developers see publishing an app on either Google Play or Apple’s app store as a good way of making money.
This, in turn, has flooded the play store and app store with over 2 million apps each. There are hundreds and thousands of apps that all do about the same thing. While some of those apps have been developed by amateurs, others have been created by professionals. The cut-throat competition makes it very hard for new apps to become popular.
To stand out, you have to provide a great experience that compels users to give you nothing less than a five-star rating. Not only that, but you also have to get rid of bugs in your app as quickly as possible, so that any frustrated users don’t end up giving you poor ratings.
This requires you to have access to detailed bug reports, which would be possible only if you knew the steps a user followed and many other device-related details and logs. Having access to network logs and allowing users or beta testers to file bug reports directly from within the app would significantly speed up the process.
In this tutorial, you will learn about a tool called Instabug, which does exactly that.
Getting Started With Instabug
The good news is that you don’t need to do a lot of work to follow this tutorial and see how Instabug works. As you will see, the integration process is quite easy. You can use Instabug free of cost for the first 14 days, so you can just go and sign up for the service.
After signing up, you will be asked to integrate the SDK into your app. I will be using an Android app to show you all the features of Instabug, but you can easily integrate it with native iOS apps or Hybrid apps.
You don’t even need to have an app at first. Just download the sample app provided by Instabug and start seeing bug reports in your Instabug dashboard. If you want to use your own app, you will have to make two small changes in order to integrate the SDK:
build.gradle file, add Instabug as a dependency and then synchronize the gradle files. If you have downloaded the sample app, you should still check that it is requesting the latest version of the dependency, which at the time of writing this tutorial was 4.5.0.
The next step would be to initialize Instabug inside your application’s
onCreate() method using the following code:
new Instabug.Builder(this, "APP_TOKEN") .setInvocationEvent(InstabugInvocationEvent.SHAKE) .build();
You can find your own
APP_TOKEN by selecting the SDK tab from your Instabug dashboard.
After performing these two steps, you are now ready to squash any bugs that your users might report.
Instabug will automatically add some permissions to the
AndroidManifest.xml file. This will enable the app to get information about the network and WiFi connection. Other permissions will allow the users to attach images, videos, and audio recording with their bug reports.
The process of integrating the SDK is just as simple for iOS and hybrid apps. The documentation is easy to follow and lists all the steps in great detail.
One very important feature of Instabug is that it goes to great lengths to make sure that users feel very comfortable with any app that integrates Instabug and nothing seems out of place. This is achieved by allowing you to control everything from invocation and popups to the design and locale of the SDK.
By default, the SDK will automatically use the current locale of the device. However, you can change it to any other language using the
setLocale() method. If you are using the sample app provided by Instabug, you will notice that the locale has been set to German. Upon inspecting the
SampleApplication.java file, you will find the following code inside it:
Instabug.setLocale(new Locale(InstabugLocale.SIMPLIFIED_CHINESE.getCode(), InstabugLocale.SIMPLIFIED_CHINESE.getCountry())); Instabug.setLocale(new Locale(InstabugLocale.FRENCH.getCode())); Instabug.setLocale(Locale.GERMAN);
These are three different methods to specify the language that you want the SDK to use. The locale value set by the first two calls to
setLocale() is overridden by the last method, and that’s why you see the SDK instructions in German. If you want the SDK to use the current locale of the device, you can remove all these lines from the
SampleApplication.java file. Similar instructions to specify the locale are also available for
See more from Net Tuts