दिलचस्प पोस्ट
पोस्टग्रेज़ पासवर्ड प्रमाणीकरण विफल रहता है किसी लाइव छवि को कैप्चर करने के लिए एंड्रॉइड एमुलेटर में वेब कैमरा का उपयोग कैसे करें? क्या मैं जावास्क्रिप्ट में एचटीएमएल विशेष वर्णों से बच सकता हूं? cout << के साथ char * तर्क मुद्रित स्ट्रिंग, पॉइंटर वैल्यू नहीं चरित्र सेट और मिलान का मतलब क्या है? प्रत्येक समूह में अधिकतम मूल्य के साथ पंक्तियों का चयन कैसे करें? एक्सएमएल की तुलना करते समय मैं कुछ तत्वों को कैसे अनदेखा कर सकता हूं? एक .NET धागा को मारना बाएं / दाएं और ऊपर / नीचे के बीच कड़ी चोट की दिशा का पता लगाने के लिए कैसे करें सीएसएस में फ़ॉन्ट का आकार -% या एम? क्या आईओएस में कस्टम स्पंदन के लिए एपीआई हैं? VBA में कन्स्ट्रक्टर को तर्क दें पायथन में वर्ण के ASCII मान गोटो का उपयोग करने में क्या गलत है? PHP – स्ट्रीम खोलने में असफल: ऐसा कोई फ़ाइल या निर्देशिका नहीं

Android Google Analytics रेफ़रलकर्ता टैग प्राप्त करें

हम ऐडवर्ड्स मार्केट के माध्यम से विज्ञापन क्लिक-थ्रू रेफरल को ट्रैक करने के लिए Google Analytics का उपयोग करने की योजना बना रहे हैं।

Google प्रलेखन के अनुसार रेफरर टैग एक इरादे के माध्यम से आता है, और स्वचालित रूप से Google Analytics लाइब्रेरी द्वारा दर्ज किया गया है।

यह महान है, लेकिन हमें अपने स्वयं के आंतरिक विश्लेषिकी के लिए उस रेफ़रल टैग को निकालने की आवश्यकता है। दस्तावेज़ प्रारम्भिक लॉन्च इरादे से इसे कैसे उखाड़ फेंकने के बारे में विवरणों पर शर्म महसूस करता है, और लाइव होने से पहले इसे अनुकरण कैसे करें।

क्या किसी के पास इसका अनुभव है?

वेब के समाधान से एकत्रित समाधान "Android Google Analytics रेफ़रलकर्ता टैग प्राप्त करें"

मैंने आगे बढ़कर इरादे पर स्नूपिंग के साथ खेलने के लिए एक मृत पिक्सेल खोजक ऐप प्रकाशित किया किसी कारण के लिए, जब मैंने दो अलग-अलग प्रसारण रिसीवर्स (यानी com.google.android.apps.analytics.AnalyticsReceiver और मेरा अपना) पंजीकृत कर लिया था, तो मैंने इसे अपने दम पर कभी नहीं मिला।

इसलिए इसके बजाय, मैं केवल अपना खुद का रिसीवर पंजीकृत कर चुका हूं, जानकारी को संसाधित करता हूं, और इसे Google Analytics के साथ पास कर देता हूं। यह नहीं पता कि यह कैसे कोषेर है, लेकिन यह काम करता है। कोड निम्नानुसार है

public class ZSGoogleInterceptor extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { Bundle extras = intent.getExtras(); String referrerString = extras.getString("referrer"); // Next line uses my helper function to parse a query (eg "a=b&c=d") into key-value pairs HashMap<String, String> getParams = Utility.getHashMapFromQuery(referrerString); String source = getParams.get("utm_campaign"); if (source != null) { SharedPreferences preferences = context.getSharedPreferences("my_prefs", Context.MODE_PRIVATE); Editor preferencesEditor = preferences.edit(); preferencesEditor.putString("ga_campaign", source); preferencesEditor.commit(); } // Pass along to google AnalyticsReceiver receiver = new AnalyticsReceiver(); receiver.onReceive(context, intent); } } 

फिर, जब आपका आवेदन वास्तव में लॉन्च किया जाता है, तो आप साझा वरीयताओं से वापस मूल्य खींच सकते हैं और इसे उपयोगकर्ता साइनअप के साथ या जो कुछ भी कर सकते हैं मैंने अपने उद्देश्यों के लिए अभियान टैग का उपयोग किया था, लेकिन आप इस उपकरण के साथ बनाए गए रेफ़रलर स्ट्रिंग से कोई भी पैरामीटर प्राप्त कर सकते हैं।

@ डुग्स का उत्तर Analytics एसडीके 4 के लिए अपडेट किया गया

https://developers.google.com/analytics/devguides/collection/android/v4/campaigns

 import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.SharedPreferences; import android.os.Bundle; import android.util.Log; import com.google.android.gms.analytics.CampaignTrackingReceiver; import java.io.UnsupportedEncodingException; import java.net.URLDecoder; import java.util.LinkedHashMap; import java.util.Map; /** * Created by dave on 15-05-05. */ public class ReferrerReceiver extends BroadcastReceiver { public static final String REFERRER = "REF"; public static final String UTM_CAMPAIGN = "utm_campaign"; public static final String UTM_SOURCE = "utm_source"; public static final String UTM_MEDIUM = "utm_medium"; public static final String UTM_TERM = "utm_term"; public static final String UTM_CONTENT = "utm_content"; private final String[] sources = { UTM_CAMPAIGN, UTM_SOURCE, UTM_MEDIUM, UTM_TERM, UTM_CONTENT }; @Override public void onReceive(Context context, Intent intent) { Bundle extras = intent.getExtras(); String referrerString = extras.getString("referrer"); try { Map<String, String> getParams = getHashMapFromQuery(referrerString); SharedPreferences preferences = context .getSharedPreferences(REFERRER, Context.MODE_PRIVATE); SharedPreferences.Editor preferencesEditor = preferences.edit(); for (String sourceType : sources) { String source = getParams.get(sourceType); if (source != null) { preferencesEditor.putString(sourceType, source); } } preferencesEditor.commit(); } catch (UnsupportedEncodingException e) { Log.e("Referrer Error", e.getMessage()); } finally { // Pass along to google CampaignTrackingReceiver receiver = new CampaignTrackingReceiver(); receiver.onReceive(context, intent); } } public static Map<String, String> getHashMapFromQuery(String query) throws UnsupportedEncodingException { Map<String, String> query_pairs = new LinkedHashMap<String, String>(); String[] pairs = query.split("&"); for (String pair : pairs) { int idx = pair.indexOf("="); query_pairs.put(URLDecoder.decode(pair.substring(0, idx), "UTF-8"), URLDecoder.decode(pair.substring(idx + 1), "UTF-8")); } return query_pairs; } } 

आपके द्वारा प्रकट फ़ाइल में:

  <service android:name="com.google.android.gms.analytics.CampaignTrackingService" /> <receiver android:name="com.google.android.gms.analytics.CampaignTrackingReceiver" /> <!-- Make sure this points to the location of Referrer Receiver in your package --> <receiver android:name=".ReferrerReceiver" android:exported="true"> <intent-filter> <action android:name="com.android.vending.INSTALL_REFERRER" /> </intent-filter> </receiver> 

चेक इन करें:

एंड्रॉइड मार्केट से ऐप इंस्टॉल करने के बाद रेफरर प्राप्त करें

समाधान के लिए

Tobia