2013-08-01 20 views
8

Ich habe eine Android-App, bei der sich der Benutzer registrieren muss. Beim Senden der Registrierung möchte ich die Parameter aus der PlayStore (utm_source, usw.) senden, um zu erfahren, von welcher Kampagne Benutzer kommt.Kampagnenmessung mit eigenem BroadcastReceiver

Also die Idee war eine eigene BroadcastReceiver für INSTALL_REFERRER, wo ich Parameter in eine Datei speichern. Wenn sich der Benutzer anmeldet, lese ich die Datei und sende den Inhalt.

Also machte ich Empfänger:

public class CampaignBroadcastReceiver extends BroadcastReceiver { 
@Override 
public void onReceive(Context context, Intent intent) { 


    String refferer = intent.getExtras().getString("referrer"); 
    try { 
     FileOutputStream fos = context.openFileOutput("campaign", Context.MODE_PRIVATE); 
     fos.write(refferer.getBytes()); 
     fos.close(); 
    } catch (FileNotFoundException e) { 

    } catch (IOException e) { 

    } 


    new CampaignTrackingReceiver().onReceive(context, intent); 
} 

Und in AndroidManifest.xml ich benutze:

<service android:name="com.google.analytics.tracking.android.CampaignTrackingService"/> 
    <receiver android:name=".receiver.CampaignBroadcastReceiver" android:exported="true"> 
     <intent-filter> 
      <action android:name="com.android.vending.INSTALL_REFERRER" /> 
     </intent-filter> 
    </receiver> 

Wenn ich das Testszenario von Google funktioniert es und die OnReceive Methode in meinem BroadcastReceiver ist namens.

./adb shell am broadcast -a com.android.vending.INSTALL_REFERRER -n 
mypackage/mypackage.receiver.CampaignBroadcastReceiver --es "referrer" 
"utm_source%3Dtest%26utm_medium%3Dbanner%26utm_term%3Dmailstuff" 

Aber wenn ich es von PlayStore versuche, dann wird nichts genannt.

Hat jemand Idee, wie die Kampagne Parameter aus der PlayStore in App zu erfassen?

+0

jetzt habe ich herausgefunden, dass es funktioniert, wenn der Benutzer am Telefon die App installiert direkt mit der Play Store App. Aber wenn der Benutzer die Playstore-Site verwendet und Remote installiert, funktioniert es nicht. Hat jemand eine Idee für einen Workaround in diesem Fall? – user2641233

+0

Mit Blick auf den vorherigen Kommentar scheint dies zu duplizieren [Installieren Referrer verfolgt nicht auf Android-Web-Markt] (http://stackoverflow.com/questions/10072467/install-referrer-is-not-tracking-on-android-web -market) –

Antwort

3

Ich kenne keine Problemumgehung, aber das Problem ist Google bekannt.

Google Play Kampagnenmessung unterstützt derzeit keine Web-to-Device-Installationen, die über den Play Store im Web initiiert wurden.

Known Issues

+0

Die Dokumentation Link und "bekannte Probleme" Abschnitt ist für Legacy v2. Ab der späteren Version fehlt der gesamte Abschnitt "Bekannte Probleme". Also, sollte das Feature jetzt funktionieren? Für mich scheint es nicht so zu sein, d. H. Das Problem "kein Referrer über den Webmarkt" existiert immer noch. Siehe auch http://stackoverflow.com/q/10072467/1097104 –