Ich habe den Google Play Store mit dem folgenden Code geöffnet
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);.
Es zeigt mir jedoch eine vollständige Aktionsansicht zur Auswahl der Option (Browser / Play Store). Ich muss die Anwendung direkt im Play Store öffnen.
android
android-intent
google-play
Rajesh Kumar
quelle
quelle
Antworten:
Sie können dies mit dem
market://
Präfix tun .Wir verwenden hier einen
try/catch
Block, da ein BlockException
ausgelöst wird, wenn der Play Store nicht auf dem Zielgerät installiert ist.HINWEIS : Jede App kann sich als fähig registrieren, mit dem
market://details?id=<appId>
Uri umzugehen. Wenn Sie gezielt auf Google Play abzielen möchten, überprüfen Sie die Antwort von Berťákquelle
market://search?q=pub:"+devName
undhttp://play.google.com/store/search?q=pub:"+devName
appPackageName
gilt dies in der TatBuildConfig.APPLICATION_ID
. KeineContext
/Activity
Abhängigkeiten, wodurch das Risiko von Speicherlecks verringert wird.Viele Antworten hier schlagen vor,
Uri.parse("market://details?id=" + appPackageName))
Google Play zu öffnen, aber ich denke, es ist in der Tat unzureichend :Einige Anwendungen von Drittanbietern können eigene Intent-Filter mit
"market://"
definiertem Schema verwenden , sodass sie das bereitgestellte Uri anstelle von Google Play verarbeiten können (ich habe diese Situation mit der Anwendung egSnapPea erlebt). Die Frage lautet "Wie öffne ich den Google Play Store?", Daher gehe ich davon aus, dass Sie keine andere Anwendung öffnen möchten. Bitte beachten Sie auch, dass zB die App-Bewertung nur in der GP Store App usw. relevant ist.Um Google Play UND NUR Google Play zu öffnen, verwende ich diese Methode:
Der Punkt ist, dass, wenn mehr Anwendungen neben Google Play unsere Absicht öffnen können, der App-Auswahldialog übersprungen und die GP-App direkt gestartet wird.
UPDATE: Manchmal scheint es, dass nur die GP-App geöffnet wird, ohne das Profil der App zu öffnen. Wie TrevorWiley in seinem Kommentar vorschlug,
Intent.FLAG_ACTIVITY_CLEAR_TOP
konnte das Problem behoben werden . (Ich habe es selbst noch nicht getestet ...)In dieser Antwort erfahren Sie, was
Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED
funktioniert.quelle
rateIntent.setPackage("com.android.vending")
sicherstellen, dass die PlayStore-App diese Absicht anstelle des gesamten Codes verarbeitet?Klicken Sie Schritt für Schritt auf den offiziellen Link für Android Developer, um den Code für Ihr Anwendungspaket aus dem Play Store zu erhalten, falls vorhanden oder Play Store-Apps nicht vorhanden sind. Öffnen Sie dann die Anwendung über den Webbrowser.
Offizieller Link für Android-Entwickler
https://developer.android.com/distribute/tools/promote/linking.html
Verknüpfen mit einer Anwendungsseite
Von einer Website:
https://play.google.com/store/apps/details?id=<package_name>
Aus einer Android-App:
market://details?id=<package_name>
Verknüpfung mit einer Produktliste
Von einer Website:
https://play.google.com/store/search?q=pub:<publisher_name>
Aus einer Android-App:
market://search?q=pub:<publisher_name>
Verknüpfung mit einem Suchergebnis
Von einer Website:
https://play.google.com/store/search?q=<search_query>&c=apps
Aus einer Android-App:
market://search?q=<seach_query>&c=apps
quelle
market
finden Sie keine Lösung. Ich denke, der neue Weg besteht darin, einen Entwickler mit allgemeinerer Absicht abzufeuern.android.com/distribute/marketing-tools/… . Neuere Versionen der Play Store App haben wahrscheinlich einen Absichtsfilter für diesen URIhttps://play.google.com/store/apps/details?id=com.example.android
Versuche dies
quelle
Alle oben genannten Antworten öffnen Google Play in einer neuen Ansicht derselben App, wenn Sie Google Play (oder eine andere App) unabhängig voneinander öffnen möchten:
Der wichtige Teil ist, dass Google Play oder eine andere App unabhängig geöffnet wird.
Das meiste, was ich gesehen habe, verwendet den Ansatz der anderen Antworten und es war nicht das, was ich brauchte, hoffentlich hilft dies jemandem.
Grüße.
quelle
this.cordova
? Wo sind die Variablendeklarationen? Wo wirdcallback
deklariert und definiert?Sie können überprüfen, ob die Google Play Store- App installiert ist, und in diesem Fall das Protokoll "market: //" verwenden.
quelle
Während Erics Antwort richtig ist und Berťáks Code auch funktioniert. Ich denke, das kombiniert beides eleganter.
Mit verwenden
setPackage
Sie das Gerät, um den Play Store zu verwenden. Wenn kein Play Store installiert ist,Exception
wird der abgefangen.quelle
https://play.google.com/store/apps/details?id=
anstelle vonmarket:
Wie kommt es? developer.android.com/distribute/marketing-tools/… Immer noch eine umfassende und kurze Antwort.benutze Markt: //
quelle
Du kannst tun:
Referenz hier erhalten :
Sie können auch den in der akzeptierten Antwort auf diese Frage beschriebenen Ansatz ausprobieren: Es kann nicht festgestellt werden, ob der Google Play Store auf einem Android-Gerät installiert ist oder nicht
quelle
Sehr spät in der Party sind offizielle Dokumente hier. Und der beschriebene Code ist
Wie Sie diese Absicht zu konfigurieren, passieren
"com.android.vending"
inIntent.setPackage()
so dass die Nutzer der App Details im sehen Google Play Store App statt einer Chooser . für KOTLINWenn Sie eine Sofort-App mit Google Play Instant veröffentlicht haben, können Sie die App wie folgt starten:
Für KOTLIN
quelle
Uri.parse("https://play.google.com/store/apps/details?id=
. Auf einigen Geräten wird anstelle von Play Market ein Webbrowser geöffnet.In den offiziellen Dokumenten wird
https://
stattdessenmarket://
die Antwort von Eric und M3-n50 mit der Wiederverwendung von Code kombiniert (wiederholen Sie sich nicht):Es versucht, mit der GPlay-App zu öffnen, falls vorhanden, und greift auf die Standardeinstellungen zurück.
quelle
Gebrauchsfertige Lösung:
Basierend auf Erics Antwort.
quelle
Kotlin:
Erweiterung:
Methode:
quelle
Wenn Sie den Google Play Store über Ihre App öffnen möchten, verwenden Sie diesen Befehl direkt:
market://details?gotohome=com.yourAppName
Es werden die Google Play Store-Seiten Ihrer App geöffnet.Alle Apps eines bestimmten Publishers anzeigen
Suchen Sie nach Apps, deren Titel oder Beschreibung die Abfrage verwendet
Referenz: https://tricklio.com/market-details-gotohome-1/
quelle
Kotlin
quelle
quelle
Meine Kotlin-Entension funktioniert zu diesem Zweck
Und in deiner Tätigkeit
quelle
Hier ist der endgültige Code aus den obigen Antworten, der zuerst versucht, die App mit der Google Play Store-App und speziell mit dem Play Store zu öffnen. Wenn dies fehlschlägt, wird die Aktionsansicht mit der Webversion gestartet: Credits to @Eric, @Jonathan Caballero
quelle
Dieser Link öffnet die App automatisch im Markt: // wenn Sie auf Android sind und im Browser, wenn Sie auf dem PC sind.
quelle
https://play.app.goo.gl/?link=https://play.google.com/store/apps/details?id=com.app.id&ddl=1&pcampaignid=web_ddl_1
Ich habe beide kombiniert Berťák und Stefano Munarini Antwort eine Hybrid - Lösung zu schaffen , die die Griffe Bewerte diese App und zeigen Weitere App - Szenario.
Verwendungszweck
quelle
Leute, vergiss nicht, dass du tatsächlich etwas mehr daraus machen könntest. Ich meine zum Beispiel UTM-Tracking. https://developers.google.com/analytics/devguides/collection/android/v4/campaigns
quelle
Eine Kotlin-Version mit Fallback und aktueller Syntax
quelle