„Diese App bewerten“-Link in der Google Play Store App auf dem Telefon
Lesezeit: 8 Minuten
Adreno
Ich möchte einen “Bewerten Sie diese App”-Link in eine Android-App einfügen, um die App-Liste in der Google Play Store-App des Benutzers auf seinem Telefon zu öffnen.
Welchen Code muss ich schreiben, um die zu erstellen market:// oder http://-Link in der Google Play Store App auf dem Handy öffnen?
Wo gibst du den Code ein?
Hat jemand eine Beispielimplementierung davon?
Müssen Sie den Bildschirm angeben, wo die market:// oder http:// Link platziert wird und welcher am besten zu verwenden ist – market:// oder http://?
Das hat alles, was Sie brauchen: github.com/delight-im/AppRater Und Sie können den Quellcode nachschlagen, um zu verstehen, wie es gemacht wird.
– kräh
3. März 16 um 3:00 Uhr
Sehen Sie sich die offizielle Vorgehensweise in an 2020
– iDecode
21. September 2020 um 8:00 Uhr
Der beste Weg ist jetzt die In-App-Überprüfung von Google – stackoverflow.com/a/65839978/6891563
– Khemraj Sharma
22. Januar 21 um 5:55 Uhr
miguel.rodelas
Ich öffne den Play Store von meiner App aus mit folgendem Code:
val uri: Uri = Uri.parse("market://details?id=$packageName")
val goToMarket = Intent(Intent.ACTION_VIEW, uri)
// To count with Play market backstack, After pressing back button,
// to taken back to our application, we need to add following flags to intent.
goToMarket.addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY or
Intent.FLAG_ACTIVITY_NEW_DOCUMENT or
Intent.FLAG_ACTIVITY_MULTIPLE_TASK)
try {
startActivity(goToMarket)
} catch (e: ActivityNotFoundException) {
startActivity(Intent(Intent.ACTION_VIEW,
Uri.parse("http://play.google.com/store/apps/details?id=$packageName")))
}
Option 2: Verwenden Sie resolveActivity anstelle von try..catch
Wo in der androidmanifest.xml platziere ich diesen Code? Muss ich noch etwas hinzufügen? Wie entspricht das einem tatsächlichen Link oder einer Schaltfläche auf einem Bildschirm, die der Benutzer drückt? Danke
– Adreno
30. Mai ’12 um 14:09 Uhr
Sie müssen dem Manifest keinen Code hinzufügen. Sie müssen diesen Code nur in den OnClickListener Ihres Buttons/Links einfügen, sodass beim Klicken auf den Button der Code ausgeführt und der Play Store gestartet wird.
– miguel.rodelas
30. Mai ’12 um 14:34 Uhr
Diese Lösung zählt nicht mit Play Market Backstack. Nach dem Drücken der Zurück-Taste werden Sie nicht zu Ihrer Anwendung zurückgeleitet. Wenn Sie möchten, fügen Sie diese Zeile hinzu: intention.addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY | Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET | Intent.FLAG_ACTIVITY_MULTIPLE_TASK);
– Jan Müller
22. Januar 14 um 9:41 Uhr
Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET: Diese Konstante war in API-Level 21 veraltet. Ab API 21 verhält sich dies identisch mit FLAG_ACTIVITY_NEW_DOCUMENT, das stattdessen verwendet werden sollte.
– xnagyg
27. August 15 um 12:58 Uhr
Wenn Sie von einer Nicht-Aktivitäts-Java-Klasse aufrufen, müssen Sie den Kontext wie context.startActivity(goToMarket);
– DMur
12. Januar 20 um 17:06 Uhr
Dombi Benz
Hier ist ein funktionierender und aktueller Code 🙂
/*
* Start with rating the app
* Determine if the Play Store is installed on the device
*
* */
public void rateApp()
{
try
{
Intent rateIntent = rateIntentForUrl("market://details");
startActivity(rateIntent);
}
catch (ActivityNotFoundException e)
{
Intent rateIntent = rateIntentForUrl("https://play.google.com/store/apps/details");
startActivity(rateIntent);
}
}
private Intent rateIntentForUrl(String url)
{
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(String.format("%s?id=%s", url, getPackageName())));
int flags = Intent.FLAG_ACTIVITY_NO_HISTORY | Intent.FLAG_ACTIVITY_MULTIPLE_TASK;
if (Build.VERSION.SDK_INT >= 21)
{
flags |= Intent.FLAG_ACTIVITY_NEW_DOCUMENT;
}
else
{
//noinspection deprecation
flags |= Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET;
}
intent.addFlags(flags);
return intent;
}
Geben Sie den Code ein Activity Sie möchten es anrufen.
Wenn der Benutzer auf eine Schaltfläche klickt, um die App zu bewerten, rufen Sie einfach die an rateApp() Funktion.
Welches NuGet-Paket soll ich hinzufügen und welcher Namespace soll ich sein? using Pro Intent ein lebensfähiger Typ sein? ich fand Android.Contentaber ich bin ratlos mit Intent in Xamarin-Formularen.
Ich benutze es, aber es zeigt diesen Fehler: „android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.VIEW dat=market://details?id=PackageName }“ – was kann ich tun? ?
– Mina Dahesh
6. Februar 17 um 17:06 Uhr
Kannst du das überprüfen ?
– Cabezas
6. Februar 17 um 17:34 Uhr
@Cabezas. Im Allgemeinen möchte ich alle bestehenden Märkte am Telefon zeigen. Wenn Sie darauf klicken, welche von ihnen, wenn meine App existiert, zeigt Market die App. Also was soll ich tun?
Kotlin-Lösung (In-App Review API von Google im Jahr 2020):
Sie können jetzt die von Google bereitgestellte In-App-Überprüfungs-API standardmäßig verwenden.
Erstens in Ihrer build.gradle(app) Datei, fügen Sie folgende Abhängigkeiten hinzu (das vollständige Setup finden Sie Hier)
dependencies {
// This dependency is downloaded from the Google’s Maven repository.
// So, make sure you also include that repository in your project's build.gradle file.
implementation 'com.google.android.play:core:1.8.0'
implementation 'com.google.android.play:core-ktx:1.8.1'
}
Erstellen Sie eine Methode und fügen Sie diesen Code ein:
val manager = ReviewManagerFactory.create(context)
val request = manager.requestReviewFlow()
request.addOnCompleteListener { request ->
if (request.isSuccessful) {
// We got the ReviewInfo object
val reviewInfo = request.result
val flow = manager.launchReviewFlow(activity, reviewInfo)
flow.addOnCompleteListener { _ ->
// The flow has finished. The API does not indicate whether the user
// reviewed or not, or even whether the review dialog was shown. Thus, no
// matter the result, we continue our app flow.
}
} else {
// There was some problem, continue regardless of the result.
}
}
Dies ist der Fall, wenn Sie Ihre App sowohl im Google Play Store als auch im Amazon Appstore veröffentlichen. Ich kümmere mich auch um den Fall, dass Benutzer (insbesondere in China) nicht sowohl App Store als auch Browser haben.
public void goToMyApp(boolean googlePlay) {//true if Google Play, false if Amazone Store
try {
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse((googlePlay ? "market://details?id=" : "amzn://apps/android?p=") +getPackageName())));
} catch (ActivityNotFoundException e1) {
try {
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse((googlePlay ? "http://play.google.com/store/apps/details?id=" : "http://www.amazon.com/gp/mas/dl/android?p=") +getPackageName())));
} catch (ActivityNotFoundException e2) {
Toast.makeText(this, "You don't have any app that can open this link", Toast.LENGTH_SHORT).show();
}
}
}
Beantwortet nicht die gestellte Frage.
– Benutzer4652595
16. März 15 um 4:14 Uhr
Was ist mit dem Code zum Öffnen des Amazon-App-Store-Eintrags Ihrer App?
– ist Julian00
4. Januar 19 um 16:45 Uhr
Welches NuGet-Paket soll ich hinzufügen und welcher Namespace soll ich sein? using Pro Intent ein lebensfähiger Typ sein? ich fand Android.Contentaber ich bin ratlos mit Intent in Xamarin-Formularen.
– s3c
8. Januar 20 um 12:02 Uhr
Du kannst immer anrufen getInstalledPackages() von dem Paket-Manager Klasse und überprüfen Sie, ob die Marktklasse installiert ist. Könntest du auch verwenden queryIntentActivities() um sicherzustellen, dass die von Ihnen erstellte Absicht von etwas verarbeitet werden kann, auch wenn es sich nicht um die Marktanwendung handelt. Dies ist wahrscheinlich das Beste, was man tatsächlich tun kann, weil es am flexibelsten und robustesten ist.
Sie können überprüfen, ob die Markt-App vorhanden ist
Intent intent = new Intent();
intent.setAction(Intent.ACTION_VIEW);
intent.setData(Uri.parse("market://search?q=foo"));
PackageManager pm = getPackageManager();
List<ResolveInfo> list = pm.queryIntentActivities(intent, 0);
Wenn die Liste mindestens einen Eintrag enthält, ist der Markt vorhanden.
Sie können Folgendes verwenden, um Android Market auf der Seite Ihrer Anwendung zu starten, es ist etwas automatisierter:
Intent i = new Intent(Intent.ACTION_VIEW);
i.setData(Uri.parse("market://details?id=" + getPackageName()));
startActivity(i);
Wenn Sie dies auf Ihrem Emulator testen möchten, haben Sie wahrscheinlich den Markt nicht darauf installiert: Weitere Informationen finden Sie unter diesen Links:
Was ist mit dem Code zum Öffnen des Amazon-App-Store-Eintrags Ihrer App?
– ist Julian00
4. Januar 19 um 16:45 Uhr
Welches NuGet-Paket soll ich hinzufügen und welcher Namespace soll ich sein? using Pro Intent ein lebensfähiger Typ sein? ich fand Android.Contentaber ich bin ratlos mit Intent in Xamarin-Formularen.
– s3c
8. Januar 20 um 12:02 Uhr
gtgrau
Ich verwende diesen Ansatz, um Benutzer dazu zu bringen, meine Apps zu bewerten:
public static void showRateDialog(final Context context) {
AlertDialog.Builder builder = new AlertDialog.Builder(context)
.setTitle("Rate application")
.setMessage("Please, rate the app at PlayMarket")
.setPositiveButton("RATE", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
if (context != null) {
String link = "market://details?id=";
try {
// play market available
context.getPackageManager()
.getPackageInfo("com.android.vending", 0);
// not available
} catch (PackageManager.NameNotFoundException e) {
e.printStackTrace();
// should use browser
link = "https://play.google.com/store/apps/details?id=";
}
// starts external action
context.startActivity(new Intent(Intent.ACTION_VIEW,
Uri.parse(link + context.getPackageName())));
}
}
})
.setNegativeButton("CANCEL", null);
builder.show();
}
Wofür ist das? – market://details?id= Mein App-Link ist wie https:\play.google.comappsdetails?id=
– Sagar Baljan
11. Oktober 17 um 11:32 Uhr
@SagarBalyan, Es ist ein spezieller URI zum Öffnen Ihrer App-Seite bei der Google Play Market-Anwendung. Wenn Sie die Aktivität mit dem von Ihnen bereitgestellten Link starten, öffnet Android Ihre App-Seite im Standardbrowser oder gibt Ihnen die Wahl, welche Browser-App gestartet werden soll
– gtgrau
17. Oktober 17 um 14:30 Uhr
.
8222300cookie-check„Diese App bewerten“-Link in der Google Play Store App auf dem Telefonyes
Das hat alles, was Sie brauchen: github.com/delight-im/AppRater Und Sie können den Quellcode nachschlagen, um zu verstehen, wie es gemacht wird.
– kräh
3. März 16 um 3:00 Uhr
Sehen Sie sich die offizielle Vorgehensweise in an 2020
– iDecode
21. September 2020 um 8:00 Uhr
Der beste Weg ist jetzt die In-App-Überprüfung von Google – stackoverflow.com/a/65839978/6891563
– Khemraj Sharma
22. Januar 21 um 5:55 Uhr