Я изначально спросил этот вопрос, про передачу параметров через рыночную ссылку в мое приложение при установке.
Кажется, что все говорят, чтобы создать BroadcastListener
с действием intent-filter
com.android.vending.INSTALL_REFERRER
. Вся документация по этому поводу подразумевает, что это возможность Google Analytics (документация находится в версии v1, но я могу только загрузить v2 SDK в этот момент... так, чтобы то, что я использую). Я не могу получить эти ссылки для передачи данных. У меня есть мой полный манифест и мой прослушиватель. Я включил Google Analytics только в том случае, если это было необходимо.
- Ссылка Google Analytics
- Сгенерированная ссылка на рынок отсюда
- Ссылка на мое приложение в магазине
- Ссылка с параметрами в магазине
Это не работает вообще. Мой прослушиватель вещания никогда не вызывается, ничего не распечатывается в журналах. Помогите!
AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.robotsidekick.webbrowser"
android:versionCode="4"
android:versionName="4.0">
<uses-sdk android:minSdkVersion="17"/>
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<application
android:label="@string/app_name"
android:icon="@drawable/ic_launcher">
<activity
android:name="WebBrowser"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
<receiver
android:exported="true"
android:name="com.robotsidekick.webbrowser.InstallReceiver">
<intent-filter>
<action android:name="com.android.vending.INSTALL_REFERRER" />
</intent-filter>
</receiver>
</application>
</manifest>
Широковещательный прослушиватель
public class InstallReceiver extends BroadcastReceiver
{
private static final String TAG = "InstallReceiver";
public void onReceive(Context context, Intent intent)
{
Log.e(TAG, "Context: " + context);
Bundle extras = intent.getExtras();
if (extras != null)
{
Log.e(TAG, "Extras:");
for (String keys : extras.keySet())
{
Log.e(TAG, keys + " -> " + extras.get(keys));
}
}
else
{
Log.e(TAG, "Extras are null");
}
}
}