首页 > 解决方案 > InstallReferrerReceiver 在实时应用程序中不起作用

问题描述

我正在 android studio 中开发一个应用程序并使用推荐链接跟踪推荐人,但我的应用程序无法在实时状态下运行

当我使用以下命令发送推荐人时,我的应用程序工作正常

adb shell
am broadcast -a com.android.vending.INSTALL_REFERRER -n com.example.app/.InstallReferrerReceiver --es "referrer" "123456"

但是当我使用 Play 商店链接安装我的应用程序时,我的应用https://play.google.com/store/apps/details?com.example.app&referrer=123456程序没有收到推荐人

我已经在应用程序标签下的清单文件中添加了接收器。

<receiver
    android:name=".InstallReferrerReceiver"
    android:exported="true"
    android:permission="android.permission.INSTALL_PACKAGES">
    <intent-filter>
        <action android:name="com.android.vending.INSTALL_REFERRER" />
    </intent-filter>
</receiver>

我的安装ReferrerReciver

public class InstallReferrerReceiver extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {
        String referrer = intent.getStringExtra("referrer");
        SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context);
        if (referrer != null) {
            preferences.edit().putString("referral_code", referrer).apply();
        }
    }
}

标签: androidandroid-studioinstall-referrer

解决方案


自 2020 年 3 月起,INSTALL_REFERRER 不再向接收方广播。现在,如果您想在 android 应用程序中使用推荐程序,那么您需要使用Google Play Install Referrer API


推荐阅读