2014-10-30 216 views
0

我一直在試圖知道,當用戶點擊我的應用程序中的一個鏈接,將它們重定向到Play商店時,是否安裝了一個應用程序。我沒有使用Google的任何廣告系列或工具。android:跟蹤從谷歌播放安裝

基本上,在我的活動,用戶點擊後,

Intent inte = new Intent(Intent.ACTION_VIEW, Uri.parse(
       "market://details?id=com.example.example&referrer=utm_source%3Dmy_referrer")); 
     startActivity(inte); 

我有一個廣播接收器,在清單中的應用標籤:

<!-- Install Referrer --> 
     <receiver 
      android:name="com.ex.ex.ReferrerReceiver" 
      android:exported="true" > 
      <intent-filter> 
       <action android:name="com.android.vending.INSTALL_REFERRER" > 
       </action> 
      </intent-filter> 
     </receiver> 

廣播接收器代碼:

package com.ex.ex; 

import android.content.BroadcastReceiver; 
import android.content.Context; 
import android.content.Intent; 
import android.os.Bundle; 
import android.util.Log; 

public class ReferrerReceiver extends BroadcastReceiver { 
    private final String TAG = "my_package"; 

    private String referrer = ""; 

    @Override 
    public void onReceive(Context context, Intent intent) { 

     Log.i(TAG, "Install received"); 

     Bundle extras = intent.getExtras(); 
      if(extras != null){ 
       referrer = extras.getString("referrer"); 

      } 

      Log.w(TAG,"Referrer is: "+ referrer); 

    } 

} 

但是,這個廣播接收機從來沒有被觸發。

這不是安裝跟蹤器應該如何工作?

回答

0

我做到了,這樣在我的活動:

private BroadcastReceiver mInstallReceiver = new BroadcastReceiver() { 
    @Override 
    public void onReceive(Context context, Intent intent) { 
     // Your code 
     // Package name is in intent.getData() or intent.getDataString() 
     // intent.getDataString() == "package:com.some.packagename" 
    } 
}; 

private void registerReceiver() { 
    IntentFilter installFilter = new IntentFilter(); 
    installFilter.addAction(Intent.ACTION_PACKAGE_ADDED); 
    installFilter.addDataScheme("package"); 
    registerReceiver(mInstallReceiver, installFilter); 
} 

@Override 
protected void onStart() { 
    super.onStart(); 
    registerReceiver(); 
} 

@Override 
protected void onStop() { 
    super.onStop(); 
    unregisterReceiver(mInstallReceiver); 
} 
+0

不能在此意圖過濾器在XML中設置?即使應用程序未運行,我也需要觸發它。 – zed 2014-10-30 13:48:02

+0

在''標籤處放置了'和''。 – 2014-10-30 14:45:53