如何在 android 中获取 UTM 属性?

How can I get UTM attributes in android?

我想跟踪 UTM 属性以跟踪将用户带到我的应用程序并将它们存储在数据库中的来源,但是在花了两天多之后我没有在 google 上发现任何有用的东西。

您需要注册一个广播接收器,它会在您的应用首次打开时自动触发,您可以使用下面的示例来实现,

public class InstallTrackersReceiver extends BroadcastReceiver {
    private static final String KEY_REFERRER = "referrer";

    @Override
    public void onReceive(Context context, Intent intent) {
        Log.i("Install Referrer", "onReceive");
        if (intent != null && !intent.getStringExtra(KEY_REFERRER).equalsIgnoreCase("")) {
            Log.i("Referrer", intent.getStringExtra(KEY_REFERRER));
        } else {
            Log.e("Install Referrer", "not found");
        }
    }
}

在您的清单中,像下面这样注册您的接收器,

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

已更新

您可以使用以下 adb 命令来测试安装 referrer,

adb shell am broadcast -a com.android.vending.INSTALL_REFERRER -n <your.package>/.<path.up.until.your.InstallTrackersReceiver> --es "referrer" "utm_source=test_source\&utm_medium=test_medium\&utm_term=test_term\&utm_content=test_content\&utm_campaign=test_name"