অ্যান্ড্রয়েডে অ্যাপ্লিকেশন "লিঙ্ক" ভাগ করুন


108

আমি চাই যে আমার অ্যাপ্লিকেশন ব্যবহারকারী আমার অ্যাপ্লিকেশনটি অন্য ব্যবহারকারীদের সাথে ভাগ করে / সুপারিশ করতে সক্ষম হন। আমি ACTION_SEND অভিপ্রায় ব্যবহার করি। আমি এর লাইন বরাবর কিছু বলার মতো সরল পাঠ্য যুক্ত করছি: এই দুর্দান্ত অ্যাপ্লিকেশনটি ইনস্টল করুন। তবে উদাহরণস্বরূপ ব্যবহারকারীদের সরাসরি মার্কেট প্লেসের ইনস্টল স্ক্রিনে যেতে সক্ষম করার কোনও উপায় আমি খুঁজে পাচ্ছি না। আমি এগুলি কেবল যা দিতে পারি তা হ'ল একটি ওয়েব লিঙ্ক বা কিছু পাঠ্য। অন্য কথায় আমি অ্যান্ড্রয়েড ব্যবহারকারীদের জন্য আমার অ্যাপটি ইনস্টল করার জন্য খুব সরাসরি উপায় খুঁজছি।

কোন সাহায্য / পয়েন্টার জন্য ধন্যবাদ,

টমাস

উত্তর:


275

এটি আপনাকে ইমেল, হোয়াটসঅ্যাপ বা যে কোনও কিছু থেকে বেছে নিতে দেয়।

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

4
ফায়ারবেস শেয়ার অ্যাপ্লিকেশন। সম্বন্ধে আরও পড়তে firebase.google.com/docs/invites/android
Vahe Gharibyan

কেন এটি চেষ্টা / ক্যাচ ব্লকে আবদ্ধ?
লুই

9
অ্যান্ড্রয়েড তাদের আপডেটগুলিতে এতগুলি পরিবর্তন করতে পছন্দ করে যে এই কোডটি ভবিষ্যতের আপডেটে ব্যর্থ হবে কিনা কে জানে
টন

4
@ টনে আমি কীভাবে সাবজেক্ট এবং পাঠ্য সহ অ্যাপ্লিকেশন আইকন চিত্র পাঠাতে পারি।
আরবাজ আলম 16

ব্যাকগ্রাউন্ড থ্রেড এ করুন, এটি মূল থ্রেডের জন্য কোনওরকম ভারী। ব্যবহারকারীরা ব্যাকগ্রাউন্ড থ্রেডে ল্যাগ অনুভব করবেন না
ব্লকওয়ালা

35

আপনি সমর্থন লাইব্রেরি থেকে শেয়ারকম্প্যাট ক্লাসও ব্যবহার করতে পারেন ।

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/references/android/support/v4/app/ShareCompat.html


আমরা কি ভাষা নির্ধারণ করতে পারি? আমি জানি এটি &hlইউআরএলে ট্যাগ সংযোজন হিসাবে সহজ হবে তবে এটি যদি সেটল্যাং বা কোনও কিছুর মতো লাইব্রেরিতে পাওয়া যায় তবে কেবল উত্সাহী।
কিরণিং

4
লিঙ্কগুলিতে সর্বদা HTTP এর পরিবর্তে https ব্যবহার করুন।
ubuntudroid

20

টমাস,

আপনি আপনার ব্যবহারকারীদের একটি market://লিঙ্ক সরবরাহ করতে চান যা তাদের অ্যাপ্লিকেশানের বিশদ পৃষ্ঠাতে সরাসরি এনে দেবে। নিম্নলিখিতটি বিকাশকারী.অ্যান্ড্রয়েড.কম থেকে এসেছে:

একটি অ্যাপ্লিকেশন বিশদ পৃষ্ঠা লোড হচ্ছে

অ্যান্ড্রয়েড মার্কেটে, প্রতিটি অ্যাপ্লিকেশনটির একটি বিশদ পৃষ্ঠা রয়েছে যা ব্যবহারকারীদের জন্য অ্যাপ্লিকেশনটির একটি ওভারভিউ সরবরাহ করে। উদাহরণস্বরূপ, পৃষ্ঠাটিতে অ্যাপ্লিকেশন এবং এটির ব্যবহারকারীর স্ক্রিন শটগুলির একটি সংক্ষিপ্ত বিবরণ অন্তর্ভুক্ত রয়েছে, যদি বিকাশকারী সরবরাহ করে তবে সেই সাথে ব্যবহারকারীদের প্রতিক্রিয়া এবং বিকাশকারী সম্পর্কিত তথ্য। বিশদ পৃষ্ঠায় একটি "ইনস্টল" বোতামও রয়েছে যা ব্যবহারকারীকে অ্যাপ্লিকেশনটির ডাউনলোড / ক্রয় ট্রিগার করতে দেয়।

আপনি যদি কোনও নির্দিষ্ট অ্যাপ্লিকেশনটিতে ব্যবহারকারীকে উল্লেখ করতে চান তবে আপনার অ্যাপ্লিকেশনটি ব্যবহারকারীকে সরাসরি অ্যাপ্লিকেশনটির বিশদ পৃষ্ঠায় নিয়ে যেতে পারে। এটি করতে, আপনার অ্যাপ্লিকেশনটি একটি ACTION_VIEW ইন্টেন্ট প্রেরণ করে যা এই বিন্যাসে একটি ইউআরআই এবং ক্যোয়ারী প্যারামিটার অন্তর্ভুক্ত করে:

মার্কেট: // বিশদ? আইডি =

এই ক্ষেত্রে, প্যাকেজটির নাম প্যারামিটার হ'ল অ্যাপ্লিকেশনটির ম্যানিফেস্ট ফাইলটিতে ম্যানিফেস্ট উপাদানটির প্যাকেজ বৈশিষ্ট্যে ঘোষিত টার্গেট অ্যাপ্লিকেশনটির সম্পূর্ণ যোগ্য প্যাকেজ নাম। উদাহরণ স্বরূপ:

বাজার: // বিশদ? আইডি = com.example.android.jetboy

সূত্র: http://developer.android.com/guide/publishing/publishing.html


লিঙ্কের জন্য +1। ভাল লাগছে। আমি যেমন ব্যবহারকারীকে ভাগ করে নিতে চাই তখনও আমার এখনও ACTION_SEND ব্যবহার করতে হবে এবং আমার পাঠ্যে বাজারের লিঙ্ক যুক্ত করতে হবে। যদি ব্যবহারকারী এটিতে ক্লিক করে তবে তা shoull তাকে ইনস্টল পৃষ্ঠায় পুনর্নির্দেশ করতে পারে। ভালো লাগছে আমাকে চেষ্টা করে দেখতে হবে। আমি আপনাকে সঠিকভাবে বুঝতে পারলে আমাকে জানান।
থমাস

হ্যাঁ আপনি ACTION_SEND এর পাঠ্যে বাজারের লিঙ্কটি ব্যবহার করতে পারেন, এটি কেবলমাত্র অ্যান্ড্রয়েড ডিভাইসে থাকা অবস্থায় ক্লিক করা থাকলে কাজ করবে।
উইট টেট

4
তবে এই লিঙ্কটি বাজারের লিঙ্কটি খুলবে না যদি আমরা ACTION_SEND ব্যবহার করি, লিঙ্কটি সেখানে একটি সাধারণ পাঠ্য হিসাবে থাকবে। তবে লিঙ্কটি অ্যাকশন_ভিউয়ের সাথে বাজার খুলতে সহায়ক ছিল was
বরুণ ভরদ্বাজ

13

এই পদ্ধতিটি কল করুন:

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

10

আরও নির্ভুল হতে

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

7

অ্যাপ্লিকেশন নাম এবং অ্যাপ্লিকেশন আইডি স্বয়ংক্রিয়ভাবে পূরণ করতে আপনি এটি ব্যবহার করতে পারেন:

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

5

শিরোনাম সহ অ্যাপ্লিকেশন ভাগ করুন আপনি অ্যাপ_নাম, সামগ্রী আপনার অ্যাপ্লিকেশন লিঙ্ক

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

অ্যাপ আইকনটি কীভাবে ভাগ করবেন
জন দাহাট

4

আমি জানি এই প্রশ্নের উত্তর দেওয়া হয়েছে তবে আমি বিকল্প বিকল্পটি ভাগ করে নিতে চাই:

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

অবশেষে, এই কোডটি অ্যান্ড্রয়েড ডিভাইস থেকে ইমেল ক্লায়েন্ট খোলার জন্য আমার জন্য কাজ করা হয়েছে। এই স্নিপেট চেষ্টা করুন।

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

0

প্রকৃতপক্ষে আপনার ব্যবহারকারীদের মধ্যে অ্যাপ্লিকেশনটি ছড়িয়ে দেওয়ার সর্বোত্তম উপায়, গুগল (ফায়ারবেস) নতুন প্রযুক্তি ফায়ারবেস ডায়নামিক লিঙ্ক প্রমাণ করেছে বেশ কয়েকটি লাইনের মাধ্যমে আপনি এটি ডকুমেন্টেশন 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
                        // ...
                    }
                }
            });

0

ভাগ করে নেওয়ার জন্য কোটলিন এক্সটেনশন extension আপনি যা খুশি তা ভাগ করতে পারেন যেমন লিংক

fun Context.share(text: String) =
    this.startActivity(Intent().apply {
        action = Intent.ACTION_SEND
        putExtra(Intent.EXTRA_TEXT, text)
        type = "text/plain"
    })

ব্যবহার

context.share("Check https://stackoverflow.com")
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.