2013-08-01 16 views
8

我有一个Android应用程序,用户必须注册。在发送注册时,我想发送PlayStore(utm_source等)的参数来知道用户来自哪个活动。使用自己的BroadcastReceiver进行广告活动测量

所以这个想法是使用自己的BroadcastReceiver INSTALL_REFERRER,其中我保存 参数到一个文件。当用户注册时,我会阅读文件并发送内容。

所以我做了接收器:

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); 
} 

而且,在AndroidManifest.xml中我使用:

<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> 

当我使用的测试场景,从谷歌它的工作原理和方法的onReceive在我的广播接收器是调用。

./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" 

但是,当我尝试从PlayStore,然后没有什么被称为。

有没有人想法如何在应用程序中抓取PlayStore的广告系列参数?

+0

现在我发现,如果用户直接与Play商店应用安装在手机上的应用程序的工作原理。 但是,当用户使用playstore网站并安装它远程时,它不起作用。 有没有人在这种情况下提出解决方法? – user2641233

+0

看着以前的评论,这似乎重复[安装referrer是不跟踪在Android网络市场](http://stackoverflow.com/questions/10072467/install-referrer-is-not-tracking-on-android-web -market) –

回答

3

我不知道解决方法,但Google已知问题。

Google Play Campaign Measurement目前不支持 从网络Play商店启动的网络到设备安装。

Known Issues

+0

文档链接和“已知问题”部分适用于旧版v2。从更高版本开始,整个“已知问题”部分丢失。那么,该功能现在应该工作吗?对我而言,它似乎不是,即“没有通过网络市场的推荐人”问题依然存在。另见http://stackoverflow.com/q/10072467/1097104 –

相关问题