developer tip

Android에서 애플리케이션 "링크"공유

copycodes 2020. 9. 4. 07:36
반응형

Android에서 애플리케이션 "링크"공유


내 애플리케이션 사용자가 내 앱을 다른 사용자와 공유 / 추천 할 수 있기를 원합니다. ACTION_SEND 인 텐트를 사용합니다. 다음 줄을 따라 일반 텍스트를 추가합니다.이 멋진 응용 프로그램을 설치합니다. 하지만 예를 들어 사용자가 마켓 플레이스의 설치 화면으로 직접 이동할 수있는 방법을 찾을 수 없습니다. 내가 제공 할 수있는 것은 웹 링크 나 텍스트뿐입니다. 즉, Android 사용자가 내 앱을 설치하는 매우 직접적인 방법을 찾고 있습니다.

도움 / 포인터 감사합니다.

도마


이렇게하면 이메일, whatsapp 등에서 선택할 수 있습니다.

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();
}   

지원 라이브러리의 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


도마,

사용자에게 market://앱의 세부 정보 페이지로 직접 연결되는 링크 를 제공 할 수 있습니다. 다음은 developer.android.com에서 가져온 것입니다.

응용 프로그램의 세부 정보 페이지로드

Android 마켓에서 모든 애플리케이션에는 사용자에게 애플리케이션의 개요를 제공하는 세부 정보 페이지가 있습니다. 예를 들어 페이지에는 개발자가 제공 한 경우 앱에 대한 간단한 설명과 사용중인 앱의 스크린 샷, 사용자의 피드백 및 개발자에 대한 정보가 포함됩니다. 세부 정보 페이지에는 사용자가 애플리케이션의 다운로드 / 구매를 트리거 할 수있는 "설치"버튼도 포함되어 있습니다.

사용자에게 특정 애플리케이션을 추천하려는 경우 애플리케이션은 사용자를 애플리케이션의 세부 정보 페이지로 직접 안내 할 수 있습니다. 이를 위해 애플리케이션은 다음 형식의 URI 및 쿼리 매개 변수를 포함하는 ACTION_VIEW 인 텐트를 전송합니다.

market : // details? id =

이 경우 packagename 매개 변수는 애플리케이션의 manifest 파일에있는 manifest 요소의 package 속성에 선언 된대로 대상 애플리케이션의 정규화 된 패키지 이름입니다. 예를 들면 :

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

출처 : http://developer.android.com/guide/publishing/publishing.html


이 메서드를 호출하십시오.

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);
}

더 정확하게

   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);

애플리케이션 이름과 애플리케이션 ID를 자동으로 채우려면 다음을 사용할 수 있습니다.

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:"));

Share application with title is you app_name, content is your application link

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)));
}

I know this question has been answered, but I would like to share an alternate solution:

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"));

finally this code is worked for me to open email client of our android. try this snippet.

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);

Actually the best way to sheared you app between users , google (firebase) proved new technology Firebase Dynamic Link Through several lines you can make it this is documentation https://firebase.google.com/docs/dynamic-links/ and the code is

  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
                        // ...
                    }
                }
            });

참고URL : https://stackoverflow.com/questions/4969217/share-application-link-in-android

반응형