मैं आगे बढ़ गया और इरादे पर स्नूपिंग के साथ खेलने के लिए एक मृत पिक्सेल खोजक ऐप प्रकाशित किया। किसी कारण से, जब मैंने दो अलग-अलग प्रसारण रिसीवर पंजीकृत किए (यानी 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);
}
}
तब, जब आपके आवेदन वास्तव में शुरू की है, तो आप मूल्य वापस साझा वरीयताओं से बाहर निकलने और यह उपयोगकर्ता साइनअप या जो कुछ भी के साथ पारित कर सकते हैं। मैंने अपने उद्देश्यों के लिए अभियान टैग का उपयोग किया, लेकिन आप with this tool बनाए गए रेफरर स्ट्रिंग से बाहर के किसी भी पैरामीटर को पकड़ सकते हैं। पर
कारण एक से अधिक रिसीवर नहीं करता ' टी काम यह है कि आप एक ही इरादे फ़िल्टर के लिए एक से अधिक रिसीवर पंजीकृत नहीं कर सकते हैं। यह भ्रमित दस्तावेज का मुद्दा यहां है - http://code.google.com/apis/analytics/docs/mobile/android.html#google-play-tracking - ऐसा लगता है कि आपके पास और अधिक नहीं हो सकता एक आवेदन में किसी भी * प्रकार के ब्रॉडकास्ट रिसीवर की तुलना में, जो निश्चित रूप से सत्य नहीं है। –
@ डेवसिम्स - हाँ, उन्होंने इस पोस्ट को बनाने के बाद लंबे समय तक नोट जोड़ा। हालांकि विशेष रूप से स्पष्ट नहीं है, मैं सहमत हूं। – DougW
@DougW मेरी que यह है कि मैं इस लिंक से कैसे प्राप्त कर सकता हूं "http://market.android.com/details?id=com.lifestreet.android.TestInstallationIntent&referrer=bb%3DAAAAAAAAAA&feature=search_result" referre = bb मान लीजिए कि मैंने जोड़ा है मेनिफेस्ट कोड में इस com.google.android.apps.analytics.AnalyticsReceiver के डिफ़ॉल्ट Google की चार पंक्तियों में मुझे अपने कोड – Khan