大佬教程收集整理的这篇文章主要介绍了java – Android引荐跟踪不能与Google Play一起使用,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
adb sHell am broadcast -a com.android.vending.INSTall_REFERRER -n <my.myPackage>/.<path.up.until.my.CustomBroadcastReceiver> --es "referrer" "utm_source%3Dentity%26utm_medium%3Dsocial%26utm_campaign%3Dwo_referrer%26referrerId%3D173%26entity%3Dfacebook%26email%3Dmideeshp%40email.com"
运行此代码后,我将根据引荐字符串对引用字符串和我的服务器进行更新.但是当我将此应用程序部署到Google Play时,我没有从Google播放中获取任何推荐字符串.我正在使用Google Analytics(分析)V2进行分析跟踪和引荐跟踪.
下面是我的定制BroadcastReceiver.
public class InstallReferrerReceiver extends BroadcastReceiver { private static final String TAG = "InstallReferrerReceiver"; @Override public void onReceive(Context context,Intent intent) { HashMap<String,String> values = new HashMap<String,String>(); try { if (intent.hasExtra("referrer")) { Toast.makeText(context,"Inside app refferal",5000).show(); String url = intent.getStringExtra("referrer"); final String referrer = URLDecoder.decode(url,"UTF-8"); String referrers[] = referrer.split("&"); int i = 0; for (String referrerValue : referrers) { String keyValue[] = referrerValue.split("="); values.put(URLDecoder.decode(keyValue[0],"UTF-8"),URLDecoder.decode(keyValue[1],"UTF-8")); Log.i("" + i,keyValue[0] + "=" + keyValue[1]); } new AsyncTask<String,String,JSONObject>() { @Override protected void onPreExecute() { super.onPreExecute(); } @Override protected JSONObject doInBACkground(String... params) { // TODO Auto-generated method stub String referrerUrl = "MyserverUrl?action=storerefer&" + referrer; Log.i("purl address",referrerUrl); JSONObject json = RestJsonClient.connect(referrerUrl); return json; } @Override protected void onPostExecute(JSONObject result) { // TODO Auto-generated method stub try { if (result == null) { Log.i("json null","12"); } else { String status,error; status = result.getString("status"); error = result.getString("error"); if (status.equals("success")) { Log.i("referrer","referrer status success"); } if (status.equals("failure")) { Log.i("referrer","referrer status failure"); } } } catch (JSONException E) { e.printStackTrace(); } catch (Exception E) { e.printStackTrace(); } super.onPostExecute(result); } }.execute(); } } catch (Exception E) { } }
AndroidManifest.xml中
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://scheR_376_11845@as.android.com/apk/res/android" package="my.package.name" android:versionCode="4" android:versionName="1.2.1" > <supports-screens android:anyDensity="true" android:largeScreens="true" android:normalScreens="true" android:resizeable="true" android:smallScreens="true" /> <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="19" /> <uses-feature android:name="android.hardware.telephony" android:required="false" /> <uses-feature android:name="android.hardware.touchscreen" android:required="false" /> <uses-feature android:glEsVersion="0x00020000" android:required="true" /> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> <uses-permission android:name="android.permission.READ_CONTACTS" /> <uses-permission android:name="android.permission.READ_PHONE_STATE" /> <uses-permission android:name="android.permission.RECEIVE_SMS" /> <uses-permission android:name="android.permission.SEND_SMS" /> <uses-permission android:name="android.permission.GET_ACCOUNTS" /> <uses-permission android:name="android.permission.WAKE_LOCK" /> <uses-permission android:name="my.package.name.permission.C2D_messaGE" /> <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.VIBRATE" /> <uses-permission android:name="android.permission.RECEIVE_SMS" /> <permission android:name="my.package.name.permission.C2D_messaGE" android:protectionLevel="signature" /> <application android:allowBACkup="true" android:icon="@drawable/ic_launcher" android:label="@String/app_name" android:theme="@android:style/Theme.black.NotitleBar" > <activity android:name="my.package.name.Splash" android:configChanges="orientation|keyboardHidden|screenSize" android:label="@String/app_name" android:windowSofTinputMode="stateHidden" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <receiver android:name="my.package.name.InstallReferrerReceiver" android:exported="true" > <intent-filter> <action android:name="com.android.vending.INSTall_REFERRER" /> </intent-filter> </receiver> <receiver android:name="com.google.android.gcm.GCMBroadcastReceiver" android:permission="com.google.android.c2dm.permission.SEND" > <intent-filter> <action android:name="com.google.android.c2dm.intent.RECEIVE" /> <action android:name="com.google.android.c2dm.intent.REGISTRATION" /> <category android:name="my.package.name" /> </intent-filter> </receiver> <service android:name="my.package.name.GCMIntentservice" /> </application>
如何从Google Play获取推荐字串?
public class DetecTinstall extends BroadcastReceiver{ private String referrerId; @Override public void onReceive(Context context,Intent intent) { if ((null != intent) && (intent.getAction().equals("com.android.vending.INSTall_REFERRER"))) { Log.e("message","App is getTing installed first time.."); referrerId = intent.getStringExtra("referrer"); } }
}
<application android:hardwareAccelerated="true" android:icon="@drawable/ic_bmg" android:label="@String/app_name" android:screenOrientation="porTrait" android:theme="@style/AppTheme" > <receiver android:name=".DetecTinstall" android:exported="true" > <intent-filter> <action android:name="com.android.vending.INSTall_REFERRER" /> </intent-filter> </receiver>
那么您需要将referrer参数发送到google playstore URL,就像这样:
https://play.google.com/store/apps/details?id=you.package.name&hl=en&referrer=you将首次安装应用程序
引荐来源字段是必需的,无论您在引荐来源网址中传递什么字符串,您都可以在广播接收者中获取
以上是大佬教程为你收集整理的java – Android引荐跟踪不能与Google Play一起使用全部内容,希望文章能够帮你解决java – Android引荐跟踪不能与Google Play一起使用所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。