Поделиться ссылкой на приложение в Андроид
Я хочу, чтобы мой приложение, чтобы иметь возможность поделиться/порекомендовать другим пользователям. Я использую намерение ACTION_SEND. Я добавляю простой текст, говорящий что-то вроде: установите это классное приложение. Но я не могу найти способ, чтобы пользователи могли напрямую перейти на экран установки market place, например. Все, что я могу предоставить им веб-ссылку или текст. Другими словами, Я ищу очень прямой способ для пользователей android Установить мое приложение.
Спасибо за любую помощь/указатели,
Томас
10 ответов:
Это позволит вам выбрать из электронной почты, whatsapp или что-то еще.
try { Intent i = new Intent(Intent.ACTION_SEND); i.setType("text/plain"); i.putExtra(Intent.EXTRA_SUBJECT, "My application name"); String sAux = "\nLet me recommend you this application\n\n"; sAux = sAux + "https://play.google.com/store/apps/details?id=the.package.id \n\n"; i.putExtra(Intent.EXTRA_TEXT, sAux); startActivity(Intent.createChooser(i, "choose one")); } catch(Exception e) { //e.toString(); }
Томас
вы хотели бы предоставить пользователям
market://
ссылка, которая приведет их непосредственно на страницу сведений вашего приложения. Ниже приведено: developer.android.com:загрузка страницы сведений о приложении
в Android Market, каждое приложение имеет страницу сведений, которая предоставляет обзор приложения для пользователей. Например, страница включает в себя короткий описание приложения и экрана кадры из него в пользе, если поставлено разработчик, а также обратная связь от пользователи и информация о компании разработчик. Страница сведений также включает в себя кнопку "Установить", которая позволяет пользователь запускает загрузку / покупку из приложения.
Если вы хотите обратиться к пользователю специфическое применение, ваше заявления можно взять непосредственно на страницу сведений о приложении. К сделайте это, ваше приложение отправляет Намерение ACTION_VIEW, которое включает URI и запрос параметр в этом формате:
рынок://детали?идентификатор=
в этом случае имя пакета параметр-это целевое приложение полное имя пакета, как объявленный в атрибуте пакета элемент манифеста в файл манифеста приложения. Для пример:
рынок://детали?id=com.образец.андроид.jetboy
Источник:http://developer.android.com/guide/publishing/publishing.html
вы также можете использовать ShareCompat класса из библиотеки поддержки.
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
точнее
Intent intent = new Intent(Intent.ACTION_VIEW); intent.setData(Uri.parse("https://play.google.com/store/apps/details?id=com.android.example")); startActivity(intent);
или если вы хотите поделиться ваши другие приложения от разработчика. аккаунт вы можете сделать что-то вроде этого
Intent intent = new Intent(Intent.ACTION_VIEW); intent.setData(Uri.parse("https://play.google.com/store/apps/developer?id=Your_Publisher_Name")); startActivity(intent);
вызвать этот метод:
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); }
чтобы автоматически заполнить имя приложения и идентификатор приложения, вы можете использовать это:
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:"));
доля приложения с названием-Это вы app_name, контент-это ваша ссылка на приложение
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))); }
Я знаю, что на этот вопрос был дан ответ, но я хотел бы поделиться альтернативным решением:
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"));
наконец, этот код работал для меня, чтобы открыть почтовый клиент на наши андроид. попробуйте этот фрагмент.
Intent testIntent = new Intent(Intent.ACTION_VIEW); Uri data = Uri.parse("mailto:?subject=" + "Feedback" + "&body=" + "Write Feedback here....." + "&to=" + "someone@example.com"); testIntent.setData(data); startActivity(testIntent);
на самом деле лучший способ срезать вам приложение между пользователями, google (firebase) доказал новую технологию Firebase Dynamic Link через несколько строк вы можете сделать это это документация https://firebase.google.com/docs/dynamic-links/ а код
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 // ... } } });