Otworzyłem sklep Google Play, używając następującego kodu
Intent i = new Intent(android.content.Intent.ACTION_VIEW);
i.setData(Uri.parse("https://play.google.com/store/apps/details?id=my packagename "));
startActivity(i);.
Ale pokazuje mi pełny widok akcji, aby wybrać opcję (przeglądarka / sklep Play). Muszę otworzyć aplikację bezpośrednio w Sklepie Play.
android
android-intent
google-play
Rajesh Kumar
źródło
źródło
Odpowiedzi:
Możesz to zrobić za pomocą
market://
prefiksu .Używamy
try/catch
tutaj bloku, ponieważException
zostanie rzucony, jeśli Sklep Play nie jest zainstalowany na urządzeniu docelowym.UWAGA : każda aplikacja może zarejestrować się jako zdolna do obsługi
market://details?id=<appId>
Uri, jeśli chcesz konkretnie kierować reklamy do Google Play, sprawdź odpowiedź Berťákźródło
market://search?q=pub:"+devName
ihttp://play.google.com/store/search?q=pub:"+devName
appPackageName
jest tak naprawdęBuildConfig.APPLICATION_ID
. BrakContext
/Activity
zależności, zmniejszające ryzyko wycieków pamięci.Wiele odpowiedzi tutaj sugeruje użycie
Uri.parse("market://details?id=" + appPackageName))
do otwarcia Google Play, ale myślę, że w rzeczywistości jest to niewystarczające :Niektóre aplikacje innych firm mogą używać własnych filtrów zamiarów ze
"market://"
zdefiniowanym schematem , dzięki czemu mogą przetwarzać dostarczone Uri zamiast Google Play (doświadczyłem takiej sytuacji z aplikacją np. SnapPea). Pytanie brzmi „Jak otworzyć sklep Google Play?”, Więc zakładam, że nie chcesz otwierać żadnej innej aplikacji. Należy również pamiętać, że np. Ocena aplikacji dotyczy tylko aplikacji GP Store itp.Aby otworzyć Google Play i TYLKO Google Play, używam tej metody:
Chodzi o to, że gdy więcej aplikacji poza Google Play może otworzyć naszą intencję, okno wyboru aplikacji jest pomijane, a aplikacja GP jest uruchamiana bezpośrednio.
AKTUALIZACJA: Czasami wydaje się, że otwiera tylko aplikację GP, bez otwierania profilu aplikacji. Jak sugerował TrevorWiley w swoim komentarzu,
Intent.FLAG_ACTIVITY_CLEAR_TOP
problem mógł rozwiązać. (Sam jeszcze tego nie testowałem ...)Zobacz tę odpowiedź, aby zrozumieć, co
Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED
robi.źródło
rateIntent.setPackage("com.android.vending")
mieć pewność, że aplikacja PlayStore poradzi sobie z tym celem, zamiast całego tego kodu?Idź na oficjalny link Android Developer jako samouczek krok po kroku, zobacz i pobierz kod pakietu aplikacji ze sklepu Play, jeśli istnieje lub aplikacje sklepu Play nie istnieją, otwórz aplikację z przeglądarki internetowej.
Oficjalny link dla programistów Androida
https://developer.android.com/distribute/tools/promote/linking.html
Łącze do strony aplikacji
Ze strony internetowej:
https://play.google.com/store/apps/details?id=<package_name>
Z aplikacji na Androida:
market://details?id=<package_name>
Łączenie z listą produktów
Ze strony internetowej:
https://play.google.com/store/search?q=pub:<publisher_name>
Z aplikacji na Androida:
market://search?q=pub:<publisher_name>
Linkowanie do wyniku wyszukiwania
Ze strony internetowej:
https://play.google.com/store/search?q=<search_query>&c=apps
Z aplikacji na Androida:
market://search?q=<seach_query>&c=apps
źródło
market
, nie znajdziesz żadnego rozwiązania. Myślę, że nowy sposób to wystrzelenie bardziej ogólnego zamiaru developer.android.com/distribute/marketing-tools/… . Nowsze wersje aplikacji Sklep Play prawdopodobnie mają filtrhttps://play.google.com/store/apps/details?id=com.example.android
Spróbuj tego
źródło
Wszystkie powyższe odpowiedzi otwierają Google Play w nowym widoku tej samej aplikacji, jeśli faktycznie chcesz otworzyć Google Play (lub dowolną inną aplikację) niezależnie:
Ważne jest to, że faktycznie otwiera Google Play lub dowolną inną aplikację niezależnie.
Większość tego, co widziałem, wykorzystuje podejście z innych odpowiedzi i nie było to, czego potrzebowałem, mam nadzieję, że to komuś pomaga.
Pozdrowienia.
źródło
this.cordova
? Gdzie są deklaracje zmiennych? Gdzie jestcallback
zadeklarowane i zdefiniowane?Możesz sprawdzić, czy aplikacja Sklep Google Play jest zainstalowana, a jeśli tak, możesz użyć protokołu „market: //” .
źródło
Chociaż odpowiedź Erica jest poprawna, a kod Berťáka również działa. Myślę, że łączy to oba bardziej elegancko.
Używając
setPackage
, zmuszasz urządzenie do korzystania ze Sklepu Play. Jeśli nie ma zainstalowanego Sklepu Play,Exception
zostanie on złapany.źródło
https://play.google.com/store/apps/details?id=
zamiastmarket:
Jak to możliwe? developer.android.com/distribute/marketing-tools/... Nadal wyczerpująca i krótka odpowiedź.użyj market: //
źródło
Możesz to zrobić:
uzyskaj odniesienie tutaj :
Możesz także wypróbować podejście opisane w zaakceptowanej odpowiedzi na to pytanie: Nie można ustalić, czy sklep Google Play jest zainstalowany na urządzeniu z Androidem, czy nie
źródło
Bardzo późno na imprezie Oficjalne dokumenty są tutaj. A opisany kod to
Podczas konfigurowania tego zamiaru przejdź
"com.android.vending"
doIntent.setPackage()
, aby użytkownicy widzieli szczegóły Twojej aplikacji w aplikacji Sklep Google Play zamiast selektora . dla KOTLINJeśli opublikowałeś aplikację błyskawiczną za pomocą wyszukiwania dynamicznego Google Play, możesz uruchomić aplikację w następujący sposób:
Dla KOTLIN
źródło
Uri.parse("https://play.google.com/store/apps/details?id=
. Na niektórych urządzeniach otwiera przeglądarkę internetową zamiast Play Market.Jak używają oficjalne dokumenty
https://
zamiastmarket://
, łączy to odpowiedź Erica i M3-n50 z ponownym użyciem kodu (nie powtarzaj się):Próbuje się otworzyć za pomocą aplikacji GPlay, jeśli istnieje i powraca do ustawień domyślnych.
źródło
Gotowe do użycia rozwiązanie:
Na podstawie odpowiedzi Erica.
źródło
Kotlin:
Rozbudowa:
Metoda:
źródło
Jeśli chcesz otworzyć sklep Google Play z aplikacji, użyj tego polecenia bezpośrednio:,
market://details?gotohome=com.yourAppName
otworzy się strony sklepu Google Play Twojej aplikacji.Pokaż wszystkie aplikacje określonego wydawcy
Wyszukaj aplikacje korzystające z zapytania według jego tytułu lub opisu
Odniesienie: https://tricklio.com/market-details-gotohome-1/
źródło
Kotlin
źródło
źródło
W tym celu moja funkcja kotlin entension
I w twojej działalności
źródło
Oto końcowy kod z powyższych odpowiedzi, że pierwsza próba otwarcia aplikacji za pomocą aplikacji Sklep Google Play, a konkretnie Sklep Play, jeśli się nie powiedzie, uruchomi widok akcji przy użyciu wersji internetowej: Kredyty dla @Eric, @Jonathan Caballero
źródło
Ten link otworzy aplikację automatycznie na rynku: // jeśli używasz Androida i przeglądarki, jeśli używasz komputera.
źródło
https://play.app.goo.gl/?link=https://play.google.com/store/apps/details?id=com.app.id&ddl=1&pcampaignid=web_ddl_1
Połączyłem odpowiedzi zarówno Berťáka, jak i Stefano Munarini, aby stworzyć rozwiązanie hybrydowe, które obsługuje zarówno scenariusz Oceń tę aplikację, jak i Pokaż więcej aplikacji .
Stosowanie
źródło
Ludzie, nie zapominajcie, że moglibyście uzyskać coś więcej. Mam na myśli na przykład śledzenie UTM. https://developers.google.com/analytics/devguides/collection/android/v4/campaigns
źródło
Kotlin verison z rezerwową i bieżącą składnią
źródło