diff --git a/android/AndroidManifest.xml b/android/AndroidManifest.xml
index ab8a9755eb..f001f628b1 100644
--- a/android/AndroidManifest.xml
+++ b/android/AndroidManifest.xml
@@ -273,15 +273,25 @@
android:exported="false">
-
+
+
+
+
+
+
+
+
+
+
diff --git a/android/src/com/mapswithme/util/MultipleTrackerReferrerReceiver.java b/android/src/com/mapswithme/util/MultipleTrackerReferrerReceiver.java
new file mode 100644
index 0000000000..daf61c0439
--- /dev/null
+++ b/android/src/com/mapswithme/util/MultipleTrackerReferrerReceiver.java
@@ -0,0 +1,53 @@
+package com.mapswithme.util;
+
+import android.content.BroadcastReceiver;
+import android.content.Context;
+import android.content.Intent;
+
+import com.mapswithme.maps.MWMApplication;
+import com.mapswithme.util.statistics.AlohaHelper;
+
+import ru.mail.mrgservice.MRGSBroadcastReceiver;
+
+/**
+ * Custom broadcast receiver to send intent to MRGS & Alohalytics at the same time
+ */
+public class MultipleTrackerReferrerReceiver extends BroadcastReceiver
+{
+ @Override
+ public void onReceive(Context context, Intent intent)
+ {
+ MWMApplication.get().initStats();
+ // parse & send referrer to Aloha
+ try
+ {
+ if (intent.hasExtra("referrer"))
+ {
+ final String referrer = intent.getStringExtra("referrer");
+ final String referrerSplitted[] = referrer.split("&");
+ if (referrerSplitted.length != 0)
+ {
+ final String[] parsedValues = new String[referrerSplitted.length * 2];
+ int i = 0;
+ for (String referrerValue : referrerSplitted)
+ {
+ String keyValue[] = referrerValue.split("=");
+ parsedValues[i++] = keyValue[0];
+ parsedValues[i++] = keyValue.length == 2 ? keyValue[1] : "";
+ }
+
+ org.alohalytics.Statistics.logEvent(AlohaHelper.GPLAY_INSTALL_REFERRER, parsedValues);
+ }
+ else
+ org.alohalytics.Statistics.logEvent(AlohaHelper.GPLAY_INSTALL_REFERRER, referrer);
+ }
+ } catch (Exception e)
+ {
+ e.printStackTrace();
+ }
+ intent.setComponent(null);
+ // now send intent to MRGS tools
+ MRGSBroadcastReceiver receiver = new MRGSBroadcastReceiver();
+ receiver.onReceive(context, intent);
+ }
+}
diff --git a/android/src/com/mapswithme/util/statistics/AlohaHelper.java b/android/src/com/mapswithme/util/statistics/AlohaHelper.java
index effb9d3038..eedd2d8ebf 100644
--- a/android/src/com/mapswithme/util/statistics/AlohaHelper.java
+++ b/android/src/com/mapswithme/util/statistics/AlohaHelper.java
@@ -58,4 +58,6 @@ public class AlohaHelper
// installation of Parse
public static final String PARSE_INSTALLATION_ID = "Android_Parse_Installation_Id";
public static final String PARSE_DEVICE_TOKEN = "Android_Parse_Device_Token";
+ // installation
+ public static final String GPLAY_INSTALL_REFERRER = "$googlePlayInstallReferrer";
}