Ich weiß, dass dies wahrscheinlich eine Longshot ist, aber gibt es eine Möglichkeit, programmatisch zu erkennen, ob eine App im Amazon Appstore vs bei Google Play gehostet wurde? Ich würde gerne auf den App-Store verlinken, von dem die App heruntergeladen wurde, und ich würde lieber nicht zwei verschiedene APKs mit nur diesem Unterschied haben, wenn es vermieden werden kann.Erkennen, ob eine Android-App von Google Play vs Amazon gegen andere heruntergeladen wurde
Antwort
Ab erst vor kurzem, gibt der Amazon Appstore vernünftige Werte für 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
}
Siehe hier: https://forums.developer.amazon.com/forums/thread.jspa?threadID=680
Beispiele für Rate Diese App Links:
Google Play-
Markt: // Details id = PACKAGANAME
Amazon Shop
oder
amzn: // apps/und roid? p = com.amazon.mp3
Danke, ich werde es versuchen! –
Hallo @ AlfieHanssen. Ich muss das noch überprüfen. –
Beachten Sie, dass getInstallerPackageName() möglicherweise null zurückgibt, wenn die App mithilfe von ADB installiert wurde –
Der einfachste Weg ist die Verwendung verschiedener Versionscodes oder Namen zwischen Amazon und Google Play. Dann können Sie PackageManager.getPackageInfo verwenden, um diese Werte abzurufen und den App-Store-Link entsprechend von dort auszuwählen.
Beispiel: Suffix alle Ihre Amazon-Versionsnamen mit '.65', also 1.0.65. Dann
verwendenpublic 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");
}
Danke. Dies ist eine Möglichkeit, dies zu tun, aber leider ist es eine Kompilierzeit-Änderung, die den speziellen Fall nicht löst. Ich könnte ebenso einfach ein Metadaten-Tag zu meinem Manifest hinzufügen, das auf lange Sicht wahrscheinlich sauberer ist, da Versionen für beide Pakete identisch bleiben können. –
Es ist besser, PackageName anstelle von VersionName zu verwenden, da es seltsam ist, einen Buchstaben zu einer Version hinzuzufügen (einfacher, den Bundle-Namen zu ändern). – Idan
Auch Amazon akzeptiert keinen anderen Versionsnamen als x.x.x.x.x, wobei x nur ganze Zahlen ist. Lies es hier: [Link] (https://developer.amazon.com/public/support/submitting-your-app/tech-docs/submitting-your-app) – ARLabs
- 1. Woher weiß man, ob eine App von Google Play oder Amazon heruntergeladen wurde?
- 2. Erkennen, ob App von Android Market heruntergeladen wurde
- 3. Testen, ob eine Datei heruntergeladen wurde Selenium/C# (Google Chrome)
- 4. Erkennen, ob eine andere Browserregisterkarte redeRecognition verwendet
- 5. erkennen, ob etwas geändert wurde
- 6. Erkennen, ob eine App deinstalliert wurde
- 7. Erkennen von Redirect auf eine andere URL
- 8. Programmgesteuert erkennen, welcher App-Speicher die App heruntergeladen wurde
- 9. Erkennen, ob die Kontrolle entsorgt wurde
- 10. Erzwingen, Play 2.1 zu kompilieren gegen andere Java-Version
- 11. Andere Auto-Update-Lösungen als Google Play
- 12. Developing Android App für Google Play und Amazon Store
- 13. Kann ich erkennen, ob eine höhere Teilansicht berührt wurde?
- 14. Erkennen, ob die iOS-App gehackt wurde
- 15. Geocoding Services - Grenzen - Google vs Yahoo vs andere?
- 16. VS Emulator für Android: Google Play Store Abstürze nach neuer Installation von Gapps (Google Play Services)
- 17. Android - kleine Tablette gegen großes Telefon erkennen?
- 18. Erkennen, ob eine andere Instanz der Anwendung bereits ausgeführt wird
- 19. Erkennen, ob eine andere Chrome-Erweiterung installiert ist
- 20. Update von Google Play
- 21. Pros & Contras von BigQuery vs. Amazon Redshift
- 22. Extract Statistiken von Google Play
- 23. Auto Updates Google Play
- 24. Amazon SimpleDB vs Amazon RDS
- 25. Android WebView - erkennen, ob eine JS-Funktion
- 26. Amazon EC2 vs. Amazon EMR
- 27. Google Play-Bestell-ID wurde auf neues Format aktualisiert
- 28. Google Plus +1 eine Google Play-Anwendung?
- 29. Erkennen, ob sich das aktuelle Abonnement im Test für Google Play Store befindet?
- 30. Spread vs MPI gegen Zeromq?
laden Apps, die von Amazon geladen werden, ihre Updates von dort ...........? –