參考:Android集成
原理
點擊帶有referrer的鏈接(形如http://xxxx&referrer=test%3Dtest111)跳轉(zhuǎn)到Google Play后七问,Google Play會記錄(Capture)附帶的參數(shù)繁成,下載安裝后(經(jīng)測試疫稿,必須從Play商店點擊下載并安裝才可行)疾渣,首次打開APP時,Gooogle Play會將參數(shù)廣播(Deliver)給APP反浓。
流程
點擊帶有referrer的鏈接(形如http://xxxx&referrer=test%3Dtest111)>>跳轉(zhuǎn)到google play(Capture referrer for com.xxx.xxx )>>下載完成>>打開app(Delivered referrer for com.xxx.xxx)
配置
新建一個繼承自BroadcastReceiver的類,用于接收referrer
public class InstallReferrerReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
String referrer = intent.getStringExtra("referrer");
Log.e("zqj", "install referrer:" + referrer);
if(referrer != null && referrer.length() > 0){
Log.e("zqj", "install referrer:" + referrer);
return;
}
}
}
再在AndroidManifest中添加
<receiver
android:name="com.xxx.xxx.InstallReferrerReceiver"
android:exported="true"
android:permission="android.permission.INSTALL_PACKAGES" >
<intent-filter>
<action android:name="com.android.vending.INSTALL_REFERRER" />
</intent-filter>
</receiver>
幾種情況:
1.沒有安裝app任内,通過http://xxxx&referrer=test%3Dtest111跳轉(zhuǎn)到Google Play,可以正常Capture referrer融柬,安裝app死嗦,打開app,可以正常deliver referrer: test=test111
2.沒有安裝app粒氧,通過http://xxxx&referrer=test%3Dtest111跳轉(zhuǎn)到Google Play越除,再通過http://xxxx&referrer=test%3Dtest222跳轉(zhuǎn)google play,安裝app外盯,打開app摘盆,deliver referrer: test=test222
3.沒有安裝app,通過http://xxxx&referrer=test%3Dtest111跳轉(zhuǎn)到Google Play饱苟,安裝app孩擂,再通過http://xxxx&referrer=test%3Dtest222跳轉(zhuǎn)google play,無法再次Capture referrer(Dropped referrer for com.peoplefun.wordcross because dropped_already_captured)箱熬,打開app类垦,可以正常deliver referrer: test=test111
4.已經(jīng)安裝app,通過http://xxxx&referrer=test%3Dtest111跳轉(zhuǎn)到Google Play城须,無法Capture referrer(Dropped referrer for com.peoplefun.wordcross because dropped_already_installed)