私は Appbrain SDK と Inmobi SDK をテストしました。そして、この共通のレシーバーを見つけました。そしてカスタムレシーバーを作りました。Googleマーケットでアプリをダウンロードすると、Googleマーケットが「リファラー」値をアプリに送信すると思いました。しかし、私は何も受け取っていません。問題は何ですか?
//This is Appbrain's receiver
<receiver android:exported="true" android:name="com.appbrain.ReferrerReceiver" >
<intent-filter>
<action android:name="com.android.vending.INSTALL_REFERRER" />
</intent-filter>
</receiver>
//This is Inmobi's receiver
<receiver android:name="com.inmobi.adtracker.androidsdk.IMAdTrackerInstallRefererReciever" android:exported="true" >
<intent-filter>
<action android:name="com.android.vending.INSTALL_REFERRER" />
<action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
</intent-filter>
</receiver>
//This is My Custom receiver
<receiver android:name="com.xgame.adproject2.TestReceiver" android:exported="true" >
<intent-filter>
<action android:name="com.android.vending.INSTALL_REFERRER" />
</intent-filter>
</receiver>
// source
public class TestReceiver extends BroadcastReceiver{
public static final String TAG = "TEST";
String referrerString = "";
@Override
public final void onReceive(Context context, Intent intent) {
Log.e(TAG, "11111111");
if(intent.getAction().equals("com.android.vending.INSTALL_REFERRER")) {
Bundle extras = intent.getExtras();
referrerString = extras.getString("referrer");
Log.e(TAG, "REFERRER: " + referrerString);
}
}
}
アプリをダウンすると、Android WebブラウザーにこのURLが入力されました。しかし、アプリをダウンロードした後、リファラー値を受け取っていません。