it-swarm.com.de

Teilen Sie die Anwendung "Link" in Android

Ich möchte, dass mein Anwendungsbenutzer meine App für andere Benutzer freigeben/empfehlen kann. Ich benutze die Absicht ACTION_SEND. Ich füge Klartext hinzu, der etwas sagt: Installiere diese coole Anwendung. Ich kann jedoch keine Möglichkeit finden, dass Benutzer direkt zum Installationsbildschirm des Marktplatzes gelangen. Alles, was ich ihnen zur Verfügung stellen kann, ist ein Web-Link oder ein Text ... Mit anderen Worten, ich suche einen direkten Weg für Android-Benutzer, um meine App installieren zu lassen.

Vielen Dank für jede Hilfe/Hinweise.

Thomas

76
Thomas

So können Sie zwischen E-Mail, WhatsApp oder was auch immer wählen.

try { 
    Intent shareIntent = new Intent(Intent.ACTION_SEND);  
    shareIntent.setType("text/plain");
    shareIntent.putExtra(Intent.EXTRA_SUBJECT, "My application name");
    String shareMessage= "\nLet me recommend you this application\n\n";
    shareMessage = shareMessage + "https://play.google.com/store/apps/details?id=" + BuildConfig.APPLICATION_ID +"\n\n";
    shareIntent.putExtra(Intent.EXTRA_TEXT, shareMessage);  
    startActivity(Intent.createChooser(shareIntent, "choose one"));
} catch(Exception e) { 
    //e.toString();
}   
194
Ton

Thomas,

Sie möchten Ihren Benutzern einen market://-Link geben, über den sie direkt auf die Detailseite Ihrer App gelangen. Folgendes ist von developer.Android.com:

Laden der Detailseite einer Anwendung

Im Android Market ist jede Anwendung hat eine Detailseite, die eine .__ bereitstellt. Überblick über die Anwendung für Benutzer . Zum Beispiel enthält die Seite eine kurze Beschreibung der App und des Bildschirms Aufnahmen davon in Verwendung, wenn von der .__ geliefert. Entwickler sowie Feedback von Benutzer und Informationen zum Entwickler. Die Detailseite auch enthält eine Schaltfläche "Installieren", mit der Der Benutzer löst den Download/Kauf aus der Anwendung.

Wenn Sie den Benutzer auf eine .__ verweisen möchten. spezifische Anwendung, Ihre Anwendung kann den Benutzer direkt übernehmen zur Detailseite der Anwendung. Zu In diesem Fall sendet Ihre Anwendung eine ACTION_VIEW Absicht, die einen URI einschließt und Abfrageparameter in diesem Format:

markt: // Details? id =

In diesem Fall ist der Paketname Parameter ist .__ der Zielanwendung. vollständig qualifizierter Paketname als im Paketattribut von .__ deklariert. das manifest-Element in der Anwendungsmanifestdatei. Zum Beispiel:

market: // details? id = com.example.Android.jetboy

Quelle: http://developer.Android.com/guide/publishing/publishing.html

20
Will Tate

Sie können auch die Klasse ShareCompat aus der Support-Bibliothek verwenden.

ShareCompat.IntentBuilder.from(activity)
    .setType("text/plain")
    .setChooserTitle("Chooser title")
    .setText("http://play.google.com/store/apps/details?id=" + activity.getPackageName())
    .startChooser();

https://developer.Android.com/reference/Android/support/v4/app/ShareCompat.html

18
lukjar

Um genauer zu sein 

   Intent intent = new Intent(Intent.ACTION_VIEW);
   intent.setData(Uri.parse("https://play.google.com/store/apps/details?id=com.Android.example"));
   startActivity(intent);

oder wenn Sie Ihre anderen Apps von Ihrem Entwickler freigeben möchten. Konto können Sie so etwas tun

Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse("https://play.google.com/store/apps/developer?id=Your_Publisher_Name"));
startActivity(intent);
9
OWADVL

Rufen Sie diese Methode auf:

public static void shareApp(Context context)
{
    final String appPackageName = context.getPackageName();
    Intent sendIntent = new Intent();
    sendIntent.setAction(Intent.ACTION_SEND);
    sendIntent.putExtra(Intent.EXTRA_TEXT, "Check out the App at: https://play.google.com/store/apps/details?id=" + appPackageName);
    sendIntent.setType("text/plain");
    context.startActivity(sendIntent);
}
8
Nilesh Panchal

Um den Anwendungsnamen und die Anwendungs-ID automatisch einzugeben, können Sie Folgendes verwenden:

int applicationNameId = context.getApplicationInfo().labelRes;
final String appPackageName = context.getPackageName();
Intent i = new Intent(Intent.ACTION_SEND);
i.setType("text/plain");
i.putExtra(Intent.EXTRA_SUBJECT, activity.getString(applicationNameId));
String text = "Install this cool application: ";
String link = "https://play.google.com/store/apps/details?id=" + appPackageName;
i.putExtra(Intent.EXTRA_TEXT, text + " " + link);
startActivity(Intent.createChooser(i, "Share link:"));
4
Ben Groot

Teilen Sie die Anwendung mit dem Titel "Sie sind Anwendungsname", der Inhalt ist Ihr Anwendungslink

private static void shareApp(Context context) {
    final String appPackageName = BuildConfig.APPLICATION_ID;
    final String appName = context.getString(R.string.app_name);
    Intent shareIntent = new Intent(Intent.ACTION_SEND);
    shareIntent.setType("text/plain");
    String shareBodyText = "https://play.google.com/store/apps/details?id=" +
            appPackageName;
    shareIntent.putExtra(Intent.EXTRA_SUBJECT, appName);
    shareIntent.putExtra(Intent.EXTRA_TEXT, shareBodyText);
    context.startActivity(Intent.createChooser(shareIntent, context.getString(R.string
            .share_with)));
}
3
Linh

endlich ist dieser Code für mich erarbeitet, um den E-Mail-Client unseres Android zu öffnen. Versuchen Sie es mit diesem Ausschnitt.

Intent testIntent = new Intent(Intent.ACTION_VIEW);
                    Uri data = Uri.parse("mailto:?subject=" + "Feedback" + "&body=" + "Write Feedback here....." + "&to=" + "[email protected]");
                    testIntent.setData(data);
                    startActivity(testIntent);
1
Kishan Vasoya

Ich weiß, dass diese Frage beantwortet wurde, aber ich möchte eine alternative Lösung mitteilen:

Intent shareIntent = new Intent(Intent.ACTION_SEND);
shareIntent.setType("text/plain");
String shareSubText = "WhatsApp - The Great Chat App";
String shareBodyText = "https://play.google.com/store/apps/details?id=com.whatsapp&hl=en";
shareIntent.putExtra(Intent.EXTRA_SUBJECT, shareSubText);
shareIntent.putExtra(Intent.EXTRA_TEXT, shareBodyText);
startActivity(Intent.createChooser(shareIntent, "Share With"));
1
Amit Mhaske

Eigentlich der beste Weg, um Ihre App zwischen Benutzern zu scheren, hat Google (Firebase) die neue Technologie Firebase Dynamic Link bewiesen. Durch mehrere Zeilen können Sie es machen. https://firebase.google.com/docs/dynamic-links/ und der Code lautet 

  Uri dynamicLinkUri = dynamicLink.getUri();
      Task<ShortDynamicLink> shortLinkTask = FirebaseDynamicLinks.getInstance().createDynamicLink()
            .setLink(Uri.parse("https://www.google.jo/"))
            .setDynamicLinkDomain("rw4r7.app.goo.gl")
            .buildShortDynamicLink()
            .addOnCompleteListener(this, new OnCompleteListener<ShortDynamicLink>() {
                @Override
                public void onComplete(@NonNull Task<ShortDynamicLink> task) {
                    if (task.isSuccessful()) {
                        // Short link created
                        Uri shortLink = task.getResult().getShortLink();
                        Uri flowchartLink = task.getResult().getPreviewLink();
                        Intent intent = new Intent();
                        intent.setAction(Intent.ACTION_SEND);
                        intent.putExtra(Intent.EXTRA_TEXT,  shortLink.toString());
                        intent.setType("text/plain");
                        startActivity(intent);
                    } else {
                        // Error
                        // ...
                    }
                }
            });
0
ahmad