Wiem, że to prawdopodobnie długi czas, ale czy istnieje sposób, aby wykryć programowo, czy aplikacja była hostowana w sklepie z aplikacjami Amazon kontra w Google Play? Chciałbym połączyć się ze sklepem z aplikacjami, z którego pobrano aplikację, i wolałbym nie mieć dwóch różnych plików APK z tą różnicą, jeśli można tego uniknąć.Wykryj, czy aplikacja na Androida została pobrana z Google Play kontra Amazon kontra Inna
Odpowiedz
As od niedawna, Amazon Appstore zwraca wartości rozsądnych dla 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
}
Zobacz tutaj: https://forums.developer.amazon.com/forums/thread.jspa?threadID=680
Przykłady Oceń ten app linki:
Google Play -
rynkowa: // szczegóły id = PACKAGANAME
Amazon Store
lub
AMZN: // apps/i roid? p = com.amazon.mp3
Dzięki, dam tego spróbować! –
Witam @AlfieHanssen. Nadal muszę to zweryfikować. –
Należy zauważyć, że funkcja getInstallerPackageName() może zwrócić wartość null, jeśli aplikacja została zainstalowana przy użyciu ADB –
Najprostszym sposobem jest użycie różnych kodów wersji lub nazw między Amazon i Google Play. Następnie możesz użyć PackageManager.getPackageInfo, aby pobrać te wartości i wybrać odpowiedni link do sklepu z aplikacjami.
Przykład: sufiks wszystkich nazw wersji Amazon z ".65", czyli 1.0.65. Następnie użyj
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");
}
Dzięki. Jest to jeden sposób, aby to zrobić, ale niestety jest to zmiana w czasie kompilacji, która nie rozwiązuje konkretnego przypadku. Równie łatwo mógłbym dodać znacznik meta-danych do mojego manifestu, który na dłuższą metę jest prawdopodobnie czystszy, ponieważ wersje mogą pozostać identyczne dla obu pakietów. –
Lepiej używać nazwy PackageName zamiast VersionName, ponieważ dodanie litery do wersji jest dziwne (łatwiej zmienić nazwę pakietu). – Idan
Również Amazon nie akceptuje nazwy wersji innej niż x.x.x.x.x gdzie x to tylko liczby całkowite. Przeczytaj go tutaj: [LINK] (https://developer.amazon.com/public/support/submitting-your-app/tech-docs/submitting-your-app) – ARLabs
- 1. Wykryj, czy aplikacja została odinstalowana
- 2. Amazon EC2 kontra PiCloud
- 3. Sprawdź, ile razy moja darmowa aplikacja na iPhone została pobrana:
- 4. Serwery dedykowane kontra Amazon EC2
- 5. Heroku udostępnił db kontra Amazon RDS Performance
- 6. Opublikowana aplikacja na Androida, ale nie została znaleziona w Google Play
- 7. Wykryj, czy aplikacja została aktywowana z powodu UILocalNotification
- 8. Asynchroniczne reklamy Google kontra Synchroniczne
- 9. Koszt węzłów powiadomień Azure kontra Amazon SNS
- 10. Angular.js kontra Knockout.js kontra Backbone.js
- 11. Aplikacja konsolowa .net 32 kontra 64-bitowa
- 12. Jak wykryć, czy aplikacja na Androida została zatrzymana lub odinstalowana?
- 13. Admob kontra AdSense
- 14. Akamai kontra CloudFront
- 15. DynamoDB kontra MongoDB NoSQL
- 16. VirtualBox - Klon kontra Snapshot kontra Kopia zapasowa
- 17. Google GCM, token kontra identyfikator rejestracji
- 18. Apache-ssl kontra mod_ssl
- 19. Kiedy używać Androida PopupWindow kontra Dialog
- 20. requirejs kontra zarządzanie zależnością od javascript google
- 21. Programowanie w iOS - jak sprawdzić, z którego (w danym kraju) sklepu z aplikacjami została pobrana aplikacja
- 22. Porównanie repozytorium kontra dostawca kontra usługa
- 23. Zalety: czy {} podczas (0) kontra ({}) w makrze?
- 24. APL kontra A w porównaniu z J kontra K?
- 25. gapi.client.load kontra google.load
- 26. ObjectAnimator kontra TranslateAnimation
- 27. SAML 2.0 kontra OpenID
- 28. google calendar api: kalendarze kontra calendarList
- 29. Nowa aplikacja w Google Play o tej samej nazwie, ale inna nazwa pakietu
- 30. Śledzenie skierowań na Androida nie działa z Google Play.
czy aplikacje załadowane z Amazon pobierają tam swoje aktualizacje ...........? –