play juego integradas google fire dispositivo descargar dentro compras app aplicaciones admitidas android google-play amazon-appstore

juego - Detectar si una aplicación de Android se descargó de Google Play vs Amazon vs Other



play store apk (2)

La forma más fácil es usar diferentes códigos de versión o nombres entre Amazon y Google Play. Luego, puede usar PackageManager.getPackageInfo para recuperar esos valores y elegir el enlace de la tienda de aplicaciones de manera apropiada desde allí.

Ejemplo: sufije todos los nombres de sus versiones de Amazon con ''.65'', es decir, 1.0.65. Entonces use

public boolean isAmazon(Context context) { String versionName = ""; try { versionName = context.getPackageManager().getPackageInfo( getPackageName(), 0).versionName; } catch (NameNotFoundException e) { // Can''t find itself... } return versionName.endsWith(".65"); }

Sé que esto es probablemente un tiro largo, pero ¿hay alguna forma de detectar programáticamente si una aplicación se hospedó en la tienda de aplicaciones de Amazon en comparación con Google Play? Me gustaría enlazar a la tienda de aplicaciones de la que se descargó la aplicación, y preferiría no tener dos APK diferentes con esta diferencia si se puede evitar.


Recientemente, Amazon Appstore devuelve valores PackageManager.getInstallerPackageName() para PackageManager.getInstallerPackageName()

PackageManager pm = context.getPackageManager(); String installerPackageName = pm.getInstallerPackageName(context.getPackageName()); if ("com.android.vending".equals(installerPackageName)) { //do google things } else if ("com.amazon.venezia".equals(installerPackageName)) { //do amazon things }

Consulte aquí: https://forums.developer.amazon.com/forums/thread.jspa?threadID=680

Ejemplos para calificar los enlaces de esta aplicación:

Google Play-

mercado: // detalles? id = PACKAGANAME

Tienda Amazon

http://www.amazon.com/gp/mas/dl/android?p=PACKAGENAME

o

amzn: // apps / android? p = com.amazon.mp3