Downloading and Installing SDKs

Follow

Countly has several SDKs to choose from. Some are officially supported by Countly, and others are contributed by the community.

Below you may see a list of mobile and desktop SDKs.

Subscribe to SDK GitHub repositories

To receive notifications regarding SDK changes, you should be subscribed to the corresponding SDK repositories on GitHub. This will help to keep you up to date on any new releases.

Officially Supported SDKs

This table includes a list of all the officially supported SDKs maintained by Countly.

SDK name Download link Documentation link
iOS SDK (Objective-C) with watchOS, tvOS & macOS support Click to get Click for documentation
Android SDK (Java) Click to get Click for documentation
Web SDK (JavaScript) to track web sites Click to get Click for documentation
Node.js SDK (JavaScript) to track Node.js running apps and devices Click to get Click for documentation
PhoneGap & Cordova SDK (JavaScript) with Icenium, MeteorJS, Ionic support Click to get Click for documentation
React Native SDK (JavaScript) Click to get Click for documentation
Flutter SDK (Dart) Click to get

Click for documentation

Windows Phone & Windows SDK (C#) Click to get from Nuget Click for documentation
C++ SDKs (C++) Click to get Click for documentation
Unity SDK (C#) Click to get Click for documentation

Countly Code Generator

If you would like to generate mobile or web code easily for events, user profiles, crash reporting, and have access to all the other features that generally come with Countly, we suggest using the Countly Code Generator, which is a point-and-click service that builds necessary code for you.

Community Supported SDKs

These client libraries are developed and supported by the Countly community and not by Countly directly. Refer to the corresponding author for support and more information.

Feature comparison

This is a feature comparison for officially supported SDKs.

SDK Analytics Push Notifications User Profiles Crash Reports A/B Testing Performance Monitoring Feedback widgets
iOS YES YES YES YES YES YES YES
Android YES YES YES YES YES YES YES
PhoneGap/Cordova YES YES YES YES YES YES NO
Web YES N/A YES YES YES YES YES
Node.js YES N/A YES YES YES YES NO
React Native YES YES YES YES YES YES NO
Flutter YES YES YES YES YES YES NO
Windows  YES NO YES YES NO NO NO
C++ YES NO YES NO NO NO NO
Unity YES YES YES YES NO NO NO

 

Example of iOS application for testing

We have built a sample iOS application that may be used to send different types of data (e.g. events, sessions, crashes, user profiles, etc.) to the Countly servers. Please see https://github.com/Countly/countly-sample-ios.

Example of Android application for testing

Similar to iOS, we have a sample Android application that can send events, sessions, crashes, user profiles, etc. to the Countly servers. Below you may see the instructions on how to use the example Android application.

  • Download/clone Android SDK git repository.
  • Open downloaded project in Android Studio.
  • Edit App.java in the app module to specifying the correct server/credentials/preferences.
  • Hit "Run".

FAQ and Troubleshooting

What is the hostname meant to write inside the SDK?

Inside the SDK, you'll see the API HOST directive that you need to fill in. This is the same as the IP or hostname of your server. For example, if you have Countly installed on 192.168.1.1, then inside the SDK you will need to write https://192.168.1.1. If there is a server name associated with your IP, the server name may also be used (e.g. https://analytics.mycompany.com).

I integrated the SDK, but cannot see, or can only partially see, data on the dashboard

There are a few steps to check when you integrate your Countly SDK and have a problem viewing data.

1. Enable debug logging in the SDK

First, we need to understand if the SDK is working properly and whether it is sending data to the server, and if the server is accepting it. Check if requests are being created - this means, you need to check whether you are calling SDK methods to actually send information to the server and that the SDK has been implemented correctly.

Also check if requests fail or are successfully sent to the server, because if they fail, maybe the server is not reachable from this specific network, or you made a mistake when providing the URL to the server.

2. Check if the SDK requests are arriving to the server

Please check under Utilities > Request Logs to see that your server is indeed receiving data from the SDK and see if there are any errors/problems displayed alongside your requests. Should there be an issue, the request logs usually state what this problem is about, why the request was not processed, or why incoming data may be incorrect - such as sending data for the incorrect app type, sending duplicate requests, incorrectly set-up parameter tampering, etc.

You may also click on any button on the top right-hand side of the screen in the Request Logs to filter down different types of data, such as sessions, events, metrics, user details, and crashes.

3. Check the server for errors

Check countly/log/countly-api.log for errors. Chances are there is a problem/bug with a specific plugin processing information, so you should recheck if there are any new errors in the log.

4. Check host URL

You may be using the wrong host URL. Assure your host URL is in the form of http://SERVER_URL or https://SERVER_URL .

5. Check app key

You may be using the wrong App key. Assure you are using the App key in your application, and not the API key. If you use the API key, then you also won’t be able to see requests under Utilities > Request logs.

6. Check Filtering rules

Events or requests may be blocked. In this case, check Management > Filtering rules (previously named Blocking Rules) to see whether there are any rules that block events or any requests.

7. Check event limits

The event name limit may be exceeded (the limit is 500, by default), and may be adjusted under Management > Configurations > API > Max unique event key.

8. Check time zone

Your time zone may be different from the application’s time zone, explaining why it takes some time for you to be able to see events on the graph, something which should be available to you without delay.

Was this article helpful?
2 out of 2 found this helpful

Looking for help?