Documentation & Resources

API Documentation

Android SDK

Download XCopy Android SDK

Installing Xcopy Android SDK

Installing Android SDK requires several very easy steps. Xcopy Android SDK uses OpenUDID (which comes ready with the zip file). First you need to make sure that OpenUDID requirements are met, following the steps below:

1. Add this to your manifest:

<service android:name="org.openudid.OpenUDID_service">


        <action android:name="org.openudid.GETUDID" />



2. Add main Xcopy SDK to your project using steps below:

In any case make sure that INTERNET permission is set if there's none in your manifest file.
Note:Make sure you use App Key (found under Management -> Applications) and not API Key. Entering API Key will not work.
Note: Call init only once during onCreate of main activity. After that, for each onStart and onStop for each activity, call Xcopy onStart and onStop.

Software SDK

Download XCopy Software SDK

It contains 3 dlls: Newtonsoft.Json.dll, OpenUDIDCSharp.dll, XCopy.dll. Add reference to each of them in your project.

Go to your admin panel at (if you have not yet registered your app, and yourself as a developer - please, go to, make registration and follow all the instructions in email).

Go to "Manage"/"Applications", choose an application and copy to buffer App key (not APP ID!!!).

Use namespace XCopySDK in a file, where you plan to call our SDK methods:

C# example:
using XCopySDK;

To call a form for asking apikey you should declare a string variable and call AskApi:

C# example:
string apikey;
XCopy.AskApi(out apikey, "Your App Key");

which returns true if apikey is correct and false if user could not enter a proper apikey. Also it returns apikey, that a user entered. The valuable feature of our SDK is that you may paste that code in any place of your program, game or system - at start of application or after passing some levels (if you develop some game) or after some time passed.

So to start counting time, that the user spends in your application, call a function StartSession with 2 params: 1- Application Key, that you copied to buffer and 2 - apikey, that was returned from AskApi method:

C# example:
XCopy.StartSession("Your App Key",apikey);

After that the time (in other words, money) started to be counted. If you want to stop time counter - simple call StopSession method:

C# example:

Also you can do it anywhere in your program - when a user passes some level or a user goes in in-game shop, for example, if your app is a game. After that you may start seeing all the analytics in admin of, when a user comes into your app


Download XCopy Web SDK

It contains 2 files: XCopy.min.js and Index.php. Copy XCopy.min.js somewhere in your server. Index.php contains an example of how XCopy can be integrated in your web site. It shows simple input box for apikey. If apikey being entered is correct, the content of the main site will be shown, time tracking will start in our system.

Open Index.php for editing. Goto 12 line and replace

with your real site name.

Goto admin panel of and copy your app key. Then find a line number 53 in Index.php and replce

with the key from admin.

Developer Guide

1. Dashboard Overview

Xcopy provides a dashboard for a quick glimpse of the latest status of application usage. There are three things you notice here.

  • Navigation bar
  • Real-time panel
  • Quick date selector
  • Analytics panel
  • Xcopy analytics panel
Revenue Analytics
  • Total revenue
  • Avgerage revenue per user
  • Avgerage revenue per paying user
  • Paying user count
  • Paying/total users

There are two steps to start using Xcopy analytics right away;

Available for paid plan: Enterprise Edition Xcopy analytics panel is shown (seen) only a custom event is selected for Xcopy analytics. For more information about how to define a custom in-app purchase event, let’s have a look at each component.

Navigation bar

At the top of the navigation bar, you’ll see a list of applications. Each can be selected at once, and dashboard will adopt itself showing the numbers for the selected application. Dashboard is the initial view, and Analytics menu includes several other views that can be of interest, including detailed carrier, country, user retention and session frequency metrics. User and application management is also carried out using links here. At the bottom of this part, you can see the current user, together with a link to logout and password change option.

Real-time panel

Have you ever wondered how many users are currently using your application at that moment? This tiny but powerful widget shows you exactly this: online users and newcoming online users. There's also a live, flowing chart on the right hand side that shows the status of your users - you can easily have an insight about whether number of online & new users are increasing and decreasing.

Quick date selector

On the top right of the screen you’ll see a list of days. Here, you can either use a defined time frame, or select a date from time selector. Note that if you select a time here, it’ll be automatically selected as you click on other natigation links (e.g UsersCarriers, etc). In order to select a date, click on the selector, then start and finish dates and click on Apply. Graphs and corresponding boxed widgets will automatically be updated.

Analytics panel

This panel gives a brief overview of what’s happening on the dashboard. On the top, there are 6 widgets. When clicked, the chart under these widgets are automatically refreshed to show relevant data group.

Each widget shows the following:

  1. Total sessions: Number of times your application is opened. Click this item to see a time series representation of total sessions.
  2. Total users: Number of unique devices your application is used from. Click this item to see a time series representation of total users.
  3. New users: Number of first time users. Click this item to see a time series representation of new users.
  4. Time spent: Total time spent in  your application. this time -  we calculate with And computers this time all in real time and you can check how much your profit in real time
  5. Click this item to see a time series representation of average time spent per user.
  6. Average time spent: Total time spent using your application divided by total user count. Click this item to see a time series representation of average time spent per user.
  7. Average requests received: Number of write API requests Xcopy Server received for this application divided by total user count. Click this item to see a time series representation of average events per user.

For each time series chart, there is a light gray and dark gray line. Ligh gray line shows the previous time frame for comparison purposes.

For example:

  • Click on 7 days and light lines will show stats between -14 days & -7 days.
  • Click on Today and light lines will show stats for yesterday.
  • Click on Apr and light lines will show corresponding days of March.

Below the chart, there are 4 black widgets that show the top platform (e.g Android or iOS), top resolution, top carrier as retrieved from device and top users. If you move your mouse over the line graphics here, you’ll see that data will change and show you 2nd and 3rd larges data source (if exists).

Under black widgets, there’s a colorful world map showing which countries use your application more. The greener a country is, the more your application is used in corresponding geographic area. On the left to the world map, you’ll see a list of countries (top 7) where your application is used most. Each number next to a country name shows the total number of session.

2. Getting in-depth analytics

Xcopy’s dashboard provides a quick analysis and gives a glimpse of how your application is performing. It’s mostly useful for marketing people with an intent to understand what’s going on immediately. Navigation pane on the left gives more, detailed information about users, sessions, countries, carriers and more. Below we’ll have a look at each menu item.


Users tab is one of the most important part of the analytics. Here you’ll see an overview of total, new and returning users based on day. This is the menu you’ll need to keep track of most. This tab will give you the answer to the question "How many users do I have?"


If the user opens an application, it counts as a session until he closes it. This menu shows an overview of sessions, together with total sessions, unique sessions and new sessions, broken into time. This menu will give you the answer to the question "How many times your application is opened?"


This menu gives an overview of which countries your applications are used most. Table below the world map total users, total sessions and new users. This menu will give you the answer to the question "Where do my users connect from?"


In this menu, you’ll see 3 main blocks of device information. On the top, there’s a list of devices, and at the bottom, these devices are shown in a table. In the middle, there are 3 blocks of information, showing top platform, top operating system version and top resolution, respectively. Try hovering on each color line and you’ll see other top information. This menu will give you the answer to the question "Which smartphone types do my users have?"


This menu shows two pie charts - total users and new users in terms of device resolution (width x height). This screen is important as it gives insights about which resolutions are used most so you can focus on these screen types.

Application versions

This page shows different versions of applications, in case they are defined. A stacked chart shows totel sessions and new users. The table under the chart shows total sessions, total users and new users, respectively for each application version. This menu will give you the answer to the question "How do my application versions compare?"


Carriers page shows a table of all carriers, together with total sessions, total users and new users for a given period. On the top of the page, there are two pie charts; showing total users and new users of top carriers. There are only 3 carriers shown in this chart for compatibility, so refer to the table for a detailed carrier breakdown. This menu will give you the answer to the question "Which operator do they use?"


Xcopy provides an intuitive interface to show how different platforms (operating systems) perform. If you use the same app key (Management > Applications), then it’s possible to aggregate this information and see it under this menu. This menu will give you the answer to the question "Which operating systems do my users have?"

3. Engagement view

This menu includes submenu items related with user engagement (retention, loyalty, session frequency and session duration).

User retention

Retention is condition of keeping your customers. This page shows you active days (e.g days your customer used your application) after first session. On the top right corner, you can have a breakdown of daily, weekly and monthly retention. This is one of the most important metrics for app analytics.

Note: User retention module is not present in Community Edition.

User loyalty

User loyalty shows how many users started a specific number of sessions. Table shows number and percentage of each loyalty group compared with number of sessions (e.g one session, 2 sessions etc). This menu will give you the answer to the question "How many users started a specific number of sessions?"

Session frequency

Session frequency shows how often do you see your mobile users open your application. It can be used to calculate the trend - or how often your application is used during a given period of time. The session frequency graph is very straightforward - here you’ll see a breakdown of number of sessions and corresponding number and percentage of users for each group. Most of the time, you’ll see that many users will be accumulated in “1st session” and “2nd session” row.

This menu will give you the answer to the question "How often do you see your users open your app?"

Session durations

Session Durations view shows users categorized into predefined session duration buckets. In this view, your users are categorized into one of 0-10 seconds, 11-30 seconds, 31-60 seconds, 1-3 minutes, 3-10 minutes, 10-30 minutes, 30-60 minutes or > 1 hour according to this session duration.

This screen will give you the answer to the question "How long do my users stay inside my application?"

4. Managing applications & users

Xcopy provides a user interface to manage applications and system users.

Managing applications

Applications can be managed by global users (more information later). To add an application, follow the steps below:

  • Go to Management > Applications
  • Click “Add”
  • Enter your application name, category, the time zone you are in, and application icon.
  • Click “Add Application”

You’ll be given an app key which is unique to that application. This key should be written in the SDK code snippet which in turn will be embedded in your application - please see SDK integration guides on how to do it. Alternatively, you can enter your IAP Event Key in order to collect IAP Xcopys and see it immediately in your dashboard.

If you want to delete an application, simply click on “Delete”. There may be some cases where you only want to delete all data associated with an application, but keep the application keys and other information. In this case, use “Clear data” to remove all incoming data from this application and start fresh.

Managing users

Xcopy provides a way to manage different types of users (e.g global admin, admin or user). Each user will be able to do that’s assigned to them. For example, you may want your marketing team to be able to see the whole dashboard, whereas the website manager, as the global admin, can easily add/remove applications, define other users and manage whole interface.

Different types of users have different authorization levels:

  1. Global admin can add/remove/edit users, add/remove/edit applications and typically can do whatever is assigned them on the user interface. This is the most powerful user.
  2. Admin can manage applications, e.g add an application, edit it or remove it completely from the management dashboard. If you are the global admin and your organization controls other sub-organizations or companies, then probably you’ll want to add different admins to manage different applications.
  3. User is basically at the bottom of the hieararchy, and can only see the dashboard, without having the ability to manage other applications and users.

In order to add a user, you must be global admin. Click “Create a new user” to have a drop-down menu where you can enter user information and credentials. Fill in the details here and click “Create user”. Editing a user is straightforward - go to the user row, and click. You’ll be presented with an editable form.

Changing interface language

Xcopy is available in several languages, including German, Spanish, Turkish, Italian, Dutch, Russian, Chinese and more. You can easily switch language from the menu on left hand side. Click on your name and then language button, there you'll see available languages.

Getting help

Xcopy provides inline help for users. In order to enable help mode, toggle Management > Help button. In this mode, hover on the window you want to get help about. Until you toggle the help button again, user interface autorefreshing is disabled.

App Publisher Guide

What is Xcopy

Xcopy is saas subscription billing - Our technology allow any Mobile app to run in saas model we also Support Web app and Software desktop.

App Publisher Plan

Free Plan -  App Publisher  get 1 app and Pay a fee 10%
Paid Plan -  App Publisher get Unlimited apps & Setup price & Pay a fee 2%

Set Up Price

It is available in Paid plan - App Publisher Charging customers no limit on price and time

How to Start

It's very simple, only three steps:
Step 1: SignUp (Registration) 
Step 2: Download SDKs 
Step 3: Installation SDKs

Customers Plan

pay as you go (Saas model) - The customer pay only for the time they use

Fees Plan

We charge between 2% to 10% percent - This is according to your plan

Payment date

You can withdraw your earnings After obtaining profits $25 -  Or on the 15th of each month

Hosting & storage

We are not Hosting any Apps or Code

General FAQ

What's Xcopy?

Xcopy is Subscription Saas Model that allow any Mobile app to run in saas model we also Support Web app and Software desktop Real-time mobile analytics software, focusing on ease of use, extensibility and feature richness. Xcopy is an innovative, real-time , It collects data from mobile phones, and visualizes this information to analyze mobile application usage and end-user behavior.

How does Xcopy work

Xcopy tracks mobile applications and mobile devices using a small plugin (SDK) that you integrate in your application in under 10 minutes. After you submit your application to relevant application store, Xcopy immediately starts collecting data.

Which languages does Xcopy support

Xcopy supports more than 11 languages.

Where can I download Xcopy mobile SDKs

All source code can be found on Xcopy web site only on SDK-API page  Click Here

Which mobile operating systems are supported

Xcopy officially offers integration with world's four leading smartphone operating systems, Android, iOS, Windows Phone and Blackberry. However, Xcopy can also track desktop applications and any devices which are capable of sending HTTP requests in general. For a list of SDKs, see this page.

How can I use Xcopy for desktop analytics

Xcopy uses same SDK for iOS and Mac OS X. Use this SDK to track your Mac OS X applications.

Can I check my stats from my iPhone Android

Soon we will be launching our apps

Can I use one account for several applications

Yes, one account can control more than one application.

How can I help you with your efforts

Glad you asked. We need ideas, feedbacks and constructive comments. If you want to see Xcopy in your own language, please send us to mail : Do not forget to subscribe to our Twitter & Facebook pages, in order to follow our fast progress.

Technical FAQ

 How does Xcopy platform work?

 After your install Xcopy SDK in your application, users of this application start sending event data to Xcopy server. From    these events, Xcopy gathers information about what they do, how they behave. We are using CMS Keystone with Node.js and MongoDB. Both backend and frontend are completely written in javascript. You can take a look at the API CODE  which collects data from client SDKs and writes this data to database.

How are event and session data sent to Xcopy?

As the user opens the application, Xcopy SDK starts collecting data the way you define. Events and sessions are collected and then sent to Xcopy (or your) servers using HTTP request every 60 seconds.

Does Xcopy show my data in real-time?

All reports and charts are shown in real-time. There are no batch processes running in the background to visualize or collect data, so you don't have to wait for the next process to run.

Will Xcopy slow down my mobile application?

Our lightweight SDK works asynchronously and doesn't block any function calls inside your code.

What happens if SDK cannot send requests?

If your mobile application cannot send an event information (mainly due to the fact that device is not connected to internet, user is on a plane or underground), then this information is stored in memory. As soon as the connection is established, it's sent to the server.

How many users can a Xcopy server handle?

In our tests, a high configuration server can handle 700 events per second, which is roughly 20.000 concurrent mobile users.  However, do not take this number as a reference as it depends a lot on number of events, network load, configuration, disk speed, RAM size and many other criteria.

Are there any video tutorials for installing and configuring Xcopy?

Yes will add video soon
Where should I put my Xcopy start code for Android?
you can Dawnload  XCopy SDK Click Here
Tutorials how to install Click Here
In as much activity as you can, preferably in each activity.

Where should I put my Xcopy start code for Android?

In as much activity as you can, preferably in each activity.

When I compare iTunes data with Xcopy dashboard, I see slight   difference regarding new users. What can be causing this?

Xcopy counts new user as unique device IDs + API Key new user (Customers) , that is, if a user downloads the same app to iPhone and iPad, it's counted twice. Apple counts it once.

How do you calculate online users?

Online users are unique users that we received a begin_session for and has an ongoing session extended by session_duration and/or event requests. We consider the user as offline as soon as we receive an end_session request for him or 30 seconds passed since last request received.