我正在开发一款基于手机钱和其他应用程序的应用程序,所以如何检测到任何应用程序是通过我的链接而不是从Play商店安装的
答案 0 :(得分:0)
跟踪下载源的最佳方法是使用添加了引用参数的playstore,并使用app中的广播接收器来理解源代码。
Playstore链接应该看起来有点像 https://play.google.com/store/apps/details?id=com.hellochatty&referrer=tracking_id%3D123456789
配置您的应用 Android Manifest
首先,您需要在AndroidManifest.xml中注册广播消费者。
<receiver
android:name=".receivers.InstallReceiver"
android:exported="true" >
<intent-filter>
<action android:name="com.android.vending.INSTALL_REFERRER" />
</intent-filter>
</receiver>
这里我们正在配置我们的应用程序以侦听意图INSTALL_REFERRER并通过InstallReceiver接收广播事件。
InstallReceiver
public class InstallReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
String rawReferrer = intent.getStringExtra("referrer");
if (rawReferrer != null) {
trackReferrerAttributes(rawReferrer, context);
}
}
private void trackReferrerAttributes(String rawReferrer, Context context) {
String referrer = "";
try {
referrer = URLDecoder.decode(rawReferrer, "UTF-8");
} catch (UnsupportedEncodingException e) {
return;
}
if (Strings.isNullOrEmpty(referrer)) {
return;
}
Uri uri = Uri.parse('?' + referrer); // appends ? for Uri to pickup query string
String memberCode;
try {
referringMember = uri.getQueryParameter("mcode");
} catch (UnsupportedOperationException e) {
return;
}
SharedPreferences.Editor editor = context.getSharedPreferences(
BuildConfig.PACKAGE_NAME, Context.MODE_PRIVATE).edit();
if (!Strings.isNullOrEmpty(memberCode)) {
editor.putString(Constants.REFERRER_CODE, memberCode);
}
String referralMedium = uri.getQueryParameter("tc");
if (!Strings.isNullOrEmpty(referralMedium)) {
editor.putString("referral_medium", referralMedium);
}
editor.apply();
}
}
您还可以查看并下载this git repo
中的示例代码