Android Open Source - android-sdk Adcash Referrer Receiver






From Project

Back to project page android-sdk.

License

The source code is released under:

Copyright (c) 2013 Adcash OU. All rights reserved under Creative Commons Attribution 3.0 Unported http://creativecommons.org/licenses/by/3.0/ Redistribution and use in source and binary forms, with or...

If you think the Android project android-sdk listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package com.adcash.mobileads;
/*from  ww w  . j  a v a2s .  c o m*/
import static android.content.Context.MODE_PRIVATE;

import java.util.Iterator;
import java.util.Set;

import android.content.BroadcastReceiver;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.pm.ActivityInfo;
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageManager;
import android.content.pm.PackageManager.NameNotFoundException;
import android.net.UrlQuerySanitizer;
import android.os.Bundle;

public class AdcashReferrerReceiver extends BroadcastReceiver {
  // See http://code.google.com/p/android/issues/detail?id=16006

  private SharedPreferences mSharedPreferences;
  
  @Override
  public void onReceive(Context context, Intent intent) {
    String referrer = "";
    Bundle extras = intent.getExtras();
    if (extras != null) {
      referrer = extras.getString("referrer");
    }

    Log.d("Adcash", "Received install referrer: " + referrer);

    UrlQuerySanitizer referralParameters = new UrlQuerySanitizer();
    referralParameters.setAllowUnregisteredParamaters(true);

    referralParameters.parseQuery(referrer);
    String adcashTrackingId = referralParameters.getValue("adcash_tid");


        mSharedPreferences = context.getSharedPreferences(AdcashConversionTracker.PREFERENCE_NAME, MODE_PRIVATE);

    Log.d("Adcash", "Read previous click ID parameter from settings: " + mSharedPreferences.getString("adcashTrackingId", ""));

    Log.d("Adcash", "Read Click ID parameter: " + adcashTrackingId);
    if (adcashTrackingId.length() > 1)
    {
          mSharedPreferences
        .edit()
        .putString("adcashTrackingId", adcashTrackingId)
        .commit();
    }
    else
    {
      Log.d("Adcash", "Not updating click ID parameter because new one was not supplied");
    }
    
    Log.d("Adcash", "Read Click ID parameter from settings: " + mSharedPreferences.getString("adcashTrackingId", ""));

    // We read the metadata to forward the INSTALL_REFERRER intent
    try {
      ActivityInfo ai = context.getPackageManager().getReceiverInfo(new ComponentName(context, "com.adcash.mobileads.AdcashReferrerReceiver"), PackageManager.GET_META_DATA);
        Bundle bundle = ai.metaData;
        
      Set<String> keys = bundle.keySet();
      //iterate through all metadata tags
      Iterator<String> it = keys.iterator();
      while (it.hasNext())
      {
        String k = it.next();
        String v = bundle.getString(k);
        try {
           Log.d("Adcash", "Forwarding INSTALL_REFERRER intent to " + v.toString());
        ((BroadcastReceiver)Class.forName(v).newInstance()).onReceive(context, intent);
          } catch (InstantiationException e) {
        // TODO Auto-generated catch block
        // e.printStackTrace();
         } catch (IllegalAccessException e) {
        // TODO Auto-generated catch block
        // e.printStackTrace();
         } catch (ClassNotFoundException e) {
        // TODO Auto-generated catch block
        // e.printStackTrace();
         } //send intent by dynamically creating instance of receiver
         Log.d("Adcash", "Forwarded INSTALL_REFERRER intent to " + v.toString());
      }
        
    } catch (NameNotFoundException e) {
        Log.e("Adcash", "Failed to load meta-data, NameNotFound: " + e.getMessage());
    } catch (NullPointerException e) {
        Log.e("Adcash", "Failed to load meta-data, NullPointer: " + e.getMessage());         
    }
  }
}




Java Source Code List

com.adcash.mobileads.AdAlertGestureListener.java
com.adcash.mobileads.AdAlertReporter.java
com.adcash.mobileads.AdConfiguration.java
com.adcash.mobileads.AdFetchTask.java
com.adcash.mobileads.AdFetcher.java
com.adcash.mobileads.AdLoadTask.java
com.adcash.mobileads.AdTypeTranslator.java
com.adcash.mobileads.AdUrlGenerator.java
com.adcash.mobileads.AdViewController.java
com.adcash.mobileads.AdcashActivity.java
com.adcash.mobileads.AdcashConversionTracker.java
com.adcash.mobileads.AdcashErrorCode.java
com.adcash.mobileads.AdcashInterstitial.java
com.adcash.mobileads.AdcashReferrerReceiver.java
com.adcash.mobileads.AdcashView.java
com.adcash.mobileads.Adcash.java
com.adcash.mobileads.BaseHtmlWebView.java
com.adcash.mobileads.BaseInterstitialActivity.java
com.adcash.mobileads.BaseUrlGenerator.java
com.adcash.mobileads.BaseVideoView.java
com.adcash.mobileads.BaseWebView.java
com.adcash.mobileads.CustomEventBannerAdapter.java
com.adcash.mobileads.CustomEventBanner.java
com.adcash.mobileads.CustomEventInterstitialAdapter.java
com.adcash.mobileads.CustomEventInterstitial.java
com.adcash.mobileads.DefaultBannerAdListener.java
com.adcash.mobileads.DefaultInterstitialAdListener.java
com.adcash.mobileads.DiskLruCache.java
com.adcash.mobileads.EventForwardingBroadcastReceiver.java
com.adcash.mobileads.FacebookKeywordProvider.java
com.adcash.mobileads.GpsHelper.java
com.adcash.mobileads.HtmlBannerWebView.java
com.adcash.mobileads.HtmlBanner.java
com.adcash.mobileads.HtmlInterstitialWebView.java
com.adcash.mobileads.HtmlInterstitial.java
com.adcash.mobileads.HtmlWebViewClient.java
com.adcash.mobileads.HtmlWebViewListener.java
com.adcash.mobileads.Log.java
com.adcash.mobileads.MraidAbstractController.java
com.adcash.mobileads.MraidActivity.java
com.adcash.mobileads.MraidBanner.java
com.adcash.mobileads.MraidBrowserController.java
com.adcash.mobileads.MraidBrowser.java
com.adcash.mobileads.MraidCommandFactory.java
com.adcash.mobileads.MraidCommandRegistry.java
com.adcash.mobileads.MraidCommand.java
com.adcash.mobileads.MraidDisplayController.java
com.adcash.mobileads.MraidInterstitial.java
com.adcash.mobileads.MraidProperty.java
com.adcash.mobileads.MraidVideoPlayerActivity.java
com.adcash.mobileads.MraidVideoView.java
com.adcash.mobileads.MraidView.java
com.adcash.mobileads.ResponseBodyInterstitial.java
com.adcash.mobileads.SharedPreferencesHelper.java
com.adcash.mobileads.TaskTracker.java
com.adcash.mobileads.Utils.java
com.adcash.mobileads.VastVideoDownloadTask.java
com.adcash.mobileads.VastVideoInterstitial.java
com.adcash.mobileads.VastVideoView.java
com.adcash.mobileads.ViewGestureDetector.java
com.adcash.mobileads.factories.AdFetchTaskFactory.java
com.adcash.mobileads.factories.AdFetcherFactory.java
com.adcash.mobileads.factories.AdViewControllerFactory.java
com.adcash.mobileads.factories.AdcashViewFactory.java
com.adcash.mobileads.factories.CustomEventBannerAdapterFactory.java
com.adcash.mobileads.factories.CustomEventBannerFactory.java
com.adcash.mobileads.factories.CustomEventInterstitialAdapterFactory.java
com.adcash.mobileads.factories.CustomEventInterstitialFactory.java
com.adcash.mobileads.factories.HtmlBannerWebViewFactory.java
com.adcash.mobileads.factories.HtmlInterstitialWebViewFactory.java
com.adcash.mobileads.factories.HttpClientFactory.java
com.adcash.mobileads.factories.MraidViewFactory.java
com.adcash.mobileads.factories.VastManagerFactory.java
com.adcash.mobileads.factories.VastVideoDownloadTaskFactory.java
com.adcash.mobileads.factories.ViewGestureDetectorFactory.java
com.adcash.mobileads.resource.Drawables.java
com.adcash.mobileads.resource.MraidJavascript.java
com.adcash.mobileads.util.AsyncTasks.java
com.adcash.mobileads.util.Base64.java
com.adcash.mobileads.util.DateAndTime.java
com.adcash.mobileads.util.Dips.java
com.adcash.mobileads.util.Files.java
com.adcash.mobileads.util.HttpClients.java
com.adcash.mobileads.util.HttpResponses.java
com.adcash.mobileads.util.HttpUtils.java
com.adcash.mobileads.util.Json.java
com.adcash.mobileads.util.Lists.java
com.adcash.mobileads.util.Mraids.java
com.adcash.mobileads.util.Reflection.java
com.adcash.mobileads.util.ResponseHeader.java
com.adcash.mobileads.util.Streams.java
com.adcash.mobileads.util.Strings.java
com.adcash.mobileads.util.VersionCode.java
com.adcash.mobileads.util.Views.java
com.adcash.mobileads.util.WebViews.java
com.adcash.mobileads.util.vast.VastManager.java
com.adcash.mobileads.util.vast.VastXmlManager.java