android - gratis - descargar app market original
Obtenga referencia despuĆ©s de instalar la aplicaciĆ³n desde Android Market (8)
Acepto que la documentación de Google no es la mejor. Sin embargo, solo pude obtener la intención de disparar al cargar la aplicación en Market Place y luego descargarla / instalarla. El intento se inicia inmediatamente después de la descarga / instalación: el usuario no tiene que iniciar la aplicación. Estoy usando esto para comenzar un servicio de fondo también.
Intento registrar un Broadcast Receiver que capte las intenciones de "com.android.vending.INSTALL_REFERRER" lanzadas por Android después de que se haya instalado una aplicación en Market.
Estoy siguiendo los detalles aquí: http://code.google.com/mobile/analytics/docs/android/#referrals
Sin embargo, no puedo usar Google Analytics, así que he creado mi propia solución. He agregado lo siguiente a mi archivo de manifiesto:
<receiver android:name="com.test.Receiver" android:exported="true">
<intent-filter>
<action android:name="com.android.vending.INSTALL_REFERRER" />
</intent-filter>
</receiver>
y creó una clase básica de BroadcastReceiver:
public class Receiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Bundle extras = intent.getExtras();
String referrerString = extras.getString("referrer");
Log.w("TEST", "Referrer is: " + referrerString);
}
}
Sin embargo, cuando la aplicación está instalada, el receptor no parece captar el Intento (si el Intento se transmite incluso?) Y no obtengo ningún resultado de registro.
¿Me estoy equivocando en algún lugar o el Market ya no está lanzando estos Intents cuando se instala una aplicación?
Bien, entonces encontré la razón por la cual Intent no se lanzó. Aparentemente DEBE usar los mismos nombres de parámetros que se describen aquí: http://code.google.com/mobile/analytics/docs/android/#referrals
No puede usar sus propios nombres de parámetros como lo estaba haciendo: S
Creo que estas respuestas deben haberse escrito antes de Android 3.1, porque las cosas han cambiado de una manera importante.
El sistema ahora marca la aplicación como inactiva cuando están instaladas: no recibirán INSTALL_REFERRER ni ninguna otra transmisión hasta que el usuario active explícitamente la aplicación ejecutándola (o colocando el widget).
De hecho, puede haber enlaces como market: // ... o http: // market ... o funcionan bien. Además, no importa qué tipo de parámetros estarán en el campo de referencia. Funciona bien con cualquier texto allí.
El problema principal que este tipo de evento "com.android.vending.INSTALL_REFERRER" no envía por difusión. Este evento SÓLO va a la aplicación recién instalada.
UPD: Y solo hay una forma de probarlo: despliega tu aplicación en Market y luego instálala en el teléfono.
Esto puede ser un poco tarde, pero PUEDE probar la referencia de instalación sin usar Google Play, solo use ADB :)
Ejecuta esto desde adb.exe
adb shell
am broadcast -a com.android.vending.INSTALL_REFERRER -n your.package/path.to.your.BroadcastReceiver --es "referrer" "test_referrer=test"
Si tiene la configuración de inicio de sesión en su BroadcastReceiver, lo verá emergente en LogCat.
¡Espero que esto ayude!
Intentaría ayudar a alguien que, como yo, no puede hacer que install_referrer funcione y que no encuentre CUALQUIER información útil sobre estas funciones.
Notas:
- El intento
com.android.vending.INSTALL_REFERRER
se detectará durante el proceso de instalación, no cuando la aplicación se inicie por primera vez. - El referente ...
extras.getString("referrer")
... está fijo, pero los contenidos pueden ser cualquier valor de cadena que respete la sintaxis http get ...referrer=thatsthevalue&thisisnot=xxx
El código anterior está bien, solo algunas explicaciones para completar la información:
- Manifiesto de Android. Las etiquetas
<receiver>
deben estar dentro de las etiquetas<application>
. - La URL correcta para vincular el mercado no es el resultado de las famosas formas de google en sdk
pero este
Obviamente, debe seguir el enlace desde el dispositivo móvil y la única forma de realizar una prueba completa es publicar una aplicación de prueba en el mercado.
Y una nota final y personal.
No entiendo por qué esa información se omite por completo y espero que Google actúe para detallarla.
Tenga en cuenta que este no es el primer intento de inicio, sino solo un intento relacionado con el mercado de Android que se envía al mercado de Android de Google. Si instala la aplicación a través de un recurso diferente al del mercado Android, no se activará.
Utiliza el enlace que puedes construir allí: http://code.google.com/mobile/analytics/docs/android/#android-market-tracking obtén la referencia de la intención y deshazte de ella para obtener los diferentes parámetros.
referrer = intent.getStringExtra("referrer");
Map<String, String> params = Toolbox.getQueryMap(referrer);
PD: No necesita leer para leer el ID de dispositivo / IMEI para hacer esto, como lo hacen algunas aplicaciones. No deberías querer espiar a tus usuarios.
Utilice la API de referencia de Google Play (desde el 20 de noviembre de 2017) de forma muy fácil y segura, ya que respondí aquí