diff options
Diffstat (limited to 'mobile/android/thirdparty/com/adjust/sdk/AdjustReferrerReceiver.java')
-rw-r--r-- | mobile/android/thirdparty/com/adjust/sdk/AdjustReferrerReceiver.java | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/mobile/android/thirdparty/com/adjust/sdk/AdjustReferrerReceiver.java b/mobile/android/thirdparty/com/adjust/sdk/AdjustReferrerReceiver.java new file mode 100644 index 000000000..cfeecd8d0 --- /dev/null +++ b/mobile/android/thirdparty/com/adjust/sdk/AdjustReferrerReceiver.java @@ -0,0 +1,35 @@ +package com.adjust.sdk; + +import android.content.BroadcastReceiver; +import android.content.Context; +import android.content.Intent; + +import java.io.UnsupportedEncodingException; +import java.net.URLDecoder; + +import static com.adjust.sdk.Constants.ENCODING; +import static com.adjust.sdk.Constants.MALFORMED; +import static com.adjust.sdk.Constants.REFERRER; + +// support multiple BroadcastReceivers for the INSTALL_REFERRER: +// http://blog.appington.com/2012/08/01/giving-credit-for-android-app-installs + +public class AdjustReferrerReceiver extends BroadcastReceiver { + @Override + public void onReceive(Context context, Intent intent) { + String rawReferrer = intent.getStringExtra(REFERRER); + if (null == rawReferrer) { + return; + } + + String referrer; + try { + referrer = URLDecoder.decode(rawReferrer, ENCODING); + } catch (UnsupportedEncodingException e) { + referrer = MALFORMED; + } + + AdjustInstance adjust = Adjust.getDefaultInstance(); + adjust.sendReferrer(referrer); + } +} |