Ich habe App in Google Play, Amazon, Samsung Apps und ich plane, in andere Geschäfte zu laden. Ich möchte keinen separaten Build für jedes Geschäft kompilieren. Gibt es eine Möglichkeit zu erkennen, welche Store App installiert ist, wenn dieselbe App an verschiedene Stores gesendet wurde?Wie Android-App erkennen kann, welcher Speicher es installiert?
Antwort
Sie werden diese für jeden zusätzlichen Speicher zu erweitern, aber diese sollten Sie
Einstiegif (PackageManager.getInstallerPackageName().equals("com.android.vending")
{
//do google things
}
else if (PackageManager.getInstallerPackageName().equals("com.amazon.venezia")
{
//do amazon things
}
Nicht, es sei denn, Sie machen separate Builds. Aber mit einem guten Maven Setup/Ant Script können Sie diesen Prozess einfach automatisieren.
ich erkennen Installer wie dies in der MainActivity:
//is installed via amazon, google?
String installerId = null;
try {
installerId = this.getPackageManager().getInstallerPackageName(this.getPackageName());
} catch (Exception e) {
//just in case...
}
if ("com.amazon.venezia".equals(installerId)) {
// amazon
} else if ("com.android.vending".equals(installerId)) {
// google
} else {
// others & unknown ones
}
ich diese getestet haben in meine letzte App und es App übermittelte Anmeldung in Googe spielen, Amazon Store und slidem.org Shop
Update: schauen s wie manchmal gibt es das Installationspaket Name com.google.android.feedback, die mit Google Store als auch verwandt zu sein scheint, obwohl ich in meiner Test-App Google Analytics gesehen habe, dass com.android.vending ist bei weitem häufiger. Wenn Sie dies noch genauer machen möchten, sollten Sie auch dieses Installationspaket behandeln. Beachten Sie auch, dass einige Märkte (wie slideme.org) einfach keine Paketinstallation-ID festlegen.
Siehe auch: Can PackageManager.getInstallerPackageName() tell me that my app was installed from Amazon app store?
- 1. Programmgesteuert erkennen, welcher App-Speicher die App heruntergeladen wurde
- 2. Wie kann ich angeben, welcher Oracle-Client installiert werden soll?
- 3. Wie kann man wissen, welcher Speicher in mongodb verwendet wird?
- 4. Wie kann ich erkennen, ob docker für Mac installiert ist?
- 5. Bundle nicht Edelsteine erkennen installiert
- 6. Erkennen, ob das .NET-Familienupdate installiert ist
- 7. Wie erkennen, von welcher URL eine Verwendung kommt
- 8. Erkennen, ob Mod_Security mit PHP installiert ist?
- 9. Erkennen, ob eine Oracle-Datenbank installiert ist
- 10. Welches Designmuster ist es? Kann nicht erkennen
- 11. Wie erkennen Media Services auf Windows Server 2003 installiert?
- 12. Wie erkennen, ob Java-Laufzeit installiert ist oder nicht
- 13. Npgsql: Kann es ODBC Espace Sequenzen erkennen?
- 14. Wie kann ich herausfinden, wie viel Speicher physisch in Windows installiert ist?
- 15. Wie kann ich ASP.NET 3.5 programmatisch erkennen?
- 16. CPU-Geschwindigkeit/Speicher/Internetgeschwindigkeit mit Java erkennen?
- 17. MAC_install4j6: Kann Java erkennen
- 18. Wie installiert man Winkelmesser und startet es?
- 19. Wie kann ich den Speicher einer Chrome-Erweiterung anzeigen, die ich installiert habe?
- 20. Wie kann Tomcat context.xml erkennen?
- 21. Wie installiert man das npm-Paket nur dann global, wenn es noch nicht installiert ist?
- 22. In .NET, wie kann ich erkennen, ob ein Benutzer ein bestimmtes Redistributable installiert hat?
- 23. Wie kann Flury erkennen, wenn ein Benutzer eine iOS-App über einen bereitgestellten Link installiert?
- 24. Wie kann MPMoviePlayerController Freigabe Speicher
- 25. Wie kann ich wissen, welcher Prozess Swap verwendet?
- 26. Erkennen, welche Version einer App in iOS installiert ist?
- 27. Programmgesteuert erkennen, ob eine App auf dem iPhone installiert ist
- 28. Welcher CMS kann Oracle als Datenbank verwenden?
- 29. kann nicht installiert h5py
- 30. Erkennen von Browser, wenn bestimmte Anwendung installiert ist
Ich habe dies in der Vergangenheit zuverlässig sein nicht gefunden. Ich experimentierte mit dem Senden der getInstallerPackageName bei der Installation auf meinem Webserver mit einer beliebten App auf 6 Marktplätzen hochgeladen und 41% waren nicht einmal festgelegt – jamesc