【发布时间】:2016-01-25 10:19:38
【问题描述】:
我必须在我的应用程序中实现推荐链接功能,例如 mCent 应用程序。为此,我完成了以下代码行。
我的应用程序Manifest 文件。在<application >..... </application>,我已经为它做了一些条目。
<service android:name="com.google.android.gms.analytics.CampaignTrackingService" />
<receiver
android:name=".receivers.InstallReceiver"
android:exported="true" >
<intent-filter>
<action android:name="com.android.vending.INSTALL_REFERRER" />
</intent-filter>
</receiver>
我的BrodcastRecevier类如下,请查看。
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();
}
}
但我没有收到来自上述代码的任何推荐... 我已经创建了这样的推荐链接
https://play.google.com/store/apps/details?id=tv.CaseGaurd&referrer=ravindrakushwaha
我上面的推荐链接或朋友有什么错误,我在BroadcastRecevier 班级或Manifest file 中做错了什么
【问题讨论】:
-
编辑您的问题,展示您如何/在哪里启动意图或要求广播以接收
InstallReceiver -
@Bonatti ...感谢您的建议.. 但是这些 Brodcast 接收者不需要任何 Intent 来接收事件..我们知道,谷歌播放会抛出 com.android.vending.INSTALL_REFERRER ,当我们安装了应用程序,而不是我的班级从上面的代码中收到这些......我的问题是我没有收到我用我的应用程序链接创建的数据
-
我真的很惊讶为什么人们只在有人问这个问题时才投反对票......如果他们不知道问题的解决方案,那么他们为什么要投反对票......这些网站适用于不要帮助反对投票的人