
অন্যান্য অ্যাপের ব্যবহারকারীদের জন্য আপনার অ্যাপের সাথে URL, ছবি বা অন্যান্য ধরণের ডেটা শেয়ার করা সহজ এবং দ্রুত করার জন্য ডাইরেক্ট শেয়ার টার্গেট ব্যবহার করুন। ডাইরেক্ট শেয়ার মেসেজিং এবং সোশ্যাল অ্যাপ থেকে পরিচিতিগুলিকে সরাসরি অ্যান্ড্রয়েড শেয়ারশিটে উপস্থাপন করে কাজ করে, ব্যবহারকারীদের অ্যাপটি নির্বাচন করে তারপর পরিচিতি অনুসন্ধান না করেই।
 ShortcutManagerCompat হল একটি AndroidX API যা শেয়ারিং শর্টকাট প্রদান করে এবং এটি অপ্রচলিত ChooserTargetService API এর সাথে সামঞ্জস্যপূর্ণ। এটি শেয়ারিং শর্টকাট এবং ChooserTargets উভয়ই প্রকাশ করার পছন্দের উপায়। নির্দেশাবলীর জন্য, এই পৃষ্ঠায় Use AndroidX to provide Shareing Shortcuts andChooserTargets উভয়ই দেখুন।
সরাসরি শেয়ার লক্ষ্য প্রকাশ করুন
শেয়ারশিট ডাইরেক্ট শেয়ার সারিটি শুধুমাত্র শেয়ারিং শর্টকাট API দ্বারা প্রদত্ত ডায়নামিক শর্টকাটগুলিকেই উপস্থাপন করে। ডাইরেক্ট শেয়ার লক্ষ্য প্রকাশ করতে নিম্নলিখিত পদক্ষেপগুলি সম্পূর্ণ করুন।
আপনার অ্যাপের XML রিসোর্স ফাইলে,
share-targetউপাদানগুলি ঘোষণা করুন।<shortcuts xmlns:android="http://schemas.android.com/apk/res/android"> <share-target android:targetClass="com.example.android.sharingshortcuts.SendMessageActivity"> <data android:mimeType="text/plain" /> <category android:name="com.example.android.sharingshortcuts.category.TEXT_SHARE_TARGET" /> </share-target> </shortcuts>যখন আপনার অ্যাপটি চালু হবে, তখন গুরুত্ব অনুসারে গতিশীল শর্টকাটগুলি অর্ডার করতে
setDynamicShortcutsব্যবহার করুন।কম সূচক বেশি গুরুত্ব নির্দেশ করে। যদি আপনি একটি যোগাযোগ অ্যাপ তৈরি করেন, তাহলে আপনার অ্যাপে প্রদর্শিত নতুনত্ব অনুসারে সেগুলি শীর্ষ কথোপকথন হতে পারে। পুরনো শর্টকাট প্রকাশ করবেন না; গত 30 দিনে কোনও ব্যবহারকারীর কার্যকলাপ ছাড়াই কথোপকথন পুরনো বলে বিবেচিত হবে।
কোটলিন
ShortcutManagerCompat.setDynamicShortcuts(myContext, listOf(shortcut1, shortcut2, ..))
জাভা
List<ShortcutInfoCompat> shortcuts = new ArrayList<>(); shortcuts.add(shortcut1); shortcuts.add(shortcut2); ... ShortcutManagerCompat.setDynamicShortcuts(myContext, shortcuts);
যদি আপনি একটি যোগাযোগ অ্যাপ তৈরি করেন, তাহলে ব্যবহারকারী যখনই কোনও পরিচিতিকে বার্তা গ্রহণ করবেন বা পাঠাবেন তখনই
pushDynamicShortcutএর মাধ্যমে শর্টকাট ব্যবহারের রিপোর্ট করুন। আরও তথ্যের জন্য এই পৃষ্ঠায় যোগাযোগ অ্যাপের জন্য শর্টকাট ব্যবহারের রিপোর্ট দেখুন। উদাহরণস্বরূপ, শর্টকাটে সক্ষমতা বাইন্ডিং নির্দিষ্ট করে ব্যবহারকারীর পাঠানো বার্তাগুলির ব্যবহারের রিপোর্ট করুনShortcutInfoCompat.Builder#addCapabilityBindingactions.intent.SEND_MESSAGEক্ষমতার সাথে আবদ্ধ করুন।কোটলিন
val shortcutInfo = ShortcutInfoCompat.Builder(myContext, staticConversationIdentifier) ... .setShortLabel(firstName) .setLongLabel(fullName) .setCategories(matchedCategories) .setLongLived(true) .addCapabilityBinding("actions.intent.SEND_MESSAGE").build() ShortcutManagerCompat.pushDynamicShortcut(myContext, shortcutInfo)
জাভা
ShortcutInfoCompat shortcutInfo = new ShortcutInfoCompat.Builder(myContext, staticConversationIdentifier) ... .setShortLabel(firstName) .setLongLabel(fullName) .setCategories(matchedCategories) .setLongLived(true) .addCapabilityBinding("actions.intent.SEND_MESSAGE") .build(); ShortcutManagerCompat.pushDynamicShortcut(myContext, shortcutInfo);
যদি ব্যবহারকারী কোনও পরিচিতি মুছে ফেলেন, তাহলে
removeLongLivedShortcutব্যবহার করুন। সিস্টেম পরিষেবা দ্বারা ক্যাশে করা হোক না কেন, শর্টকাটটি সরানোর জন্য এটিই সবচেয়ে পছন্দের উপায়। নিম্নলিখিত কোড স্নিপেটটি এটি কীভাবে করবেন তার একটি উদাহরণ দেখায়।কোটলিন
val deleteShortcutId = "..." ShortcutManagerCompat.removeLongLivedShortcuts(myContext, listOf(deleteShortcutId))
জাভা
String deleteShortcutId = "..."; ShortcutManagerCompat.removeLongLivedShortcuts( myContext, Arrays.asList(deleteShortcutId));
আপনার ডাইরেক্ট শেয়ার লক্ষ্যমাত্রার র্যাঙ্কিং উন্নত করুন
অ্যান্ড্রয়েড শেয়ারশিট নির্দিষ্ট সংখ্যক ডাইরেক্ট শেয়ার টার্গেট দেখায়। এই পরামর্শগুলি র্যাঙ্ক অনুসারে সাজানো হয়েছে। আপনি নিম্নলিখিতগুলি করে আপনার শর্টকাটগুলির র্যাঙ্কিং উন্নত করতে পারেন:
-  নিশ্চিত করুন যে সমস্ত 
shortcutIdsঅনন্য এবং কখনও ভিন্ন লক্ষ্যের জন্য পুনরায় ব্যবহার করা হবে না। -  
setLongLived(true)কল করে শর্টকাটটি দীর্ঘস্থায়ী কিনা তা নিশ্চিত করুন। -  কথোপকথন-সম্পর্কিত শর্টকাটের জন্য, 
ShortcutManagerCompat.pushDynamicShortcutমাধ্যমে সংশ্লিষ্ট শর্টকাটগুলি পুনঃপ্রকাশ করে বহির্গামী এবং আগত বার্তাগুলির জন্য শর্টকাট ব্যবহারের প্রতিবেদন করুন। বিস্তারিত জানার জন্য এই পৃষ্ঠায় যোগাযোগ অ্যাপগুলির জন্য শর্টকাট ব্যবহারের প্রতিবেদন দেখুন। - অপ্রাসঙ্গিক বা পুরনো ডাইরেক্ট শেয়ার টার্গেট প্রদান করা এড়িয়ে চলুন—উদাহরণস্বরূপ, ব্যবহারকারী গত 30 দিনের মধ্যে যে পরিচিতিগুলিতে বার্তা পাঠাননি।
 - এসএমএস অ্যাপের ক্ষেত্রে, সম্ভাব্য স্প্যাম হিসেবে চিহ্নিত শর্ট কোড বা কথোপকথনের জন্য শর্টকাট প্রদান করা এড়িয়ে চলুন। ব্যবহারকারীরা এই কথোপকথনগুলিতে শেয়ার করার সম্ভাবনা খুবই কম।
 -  শর্টকাটটি উপযুক্ত 
mimeTypeঅ্যাট্রিবিউটের সাথে সংযুক্ত করতেsetCategories()কল করুন। উদাহরণস্বরূপ, একটি SMS অ্যাপের জন্য, যদি পরিচিতিটি RCS- বা MMS-সক্ষম না থাকে, তাহলে আপনি সংশ্লিষ্ট শর্টকাটটি নন-টেক্সট MIME প্রকার যেমনimage/*এবংvideo/*এর সাথে সংযুক্ত করবেন না। - কোনও নির্দিষ্ট কথোপকথনের জন্য, একবার একটি ডায়নামিক শর্টকাট পুশ করা হলে এবং ব্যবহারের রিপোর্ট করা হলে, শর্টকাট আইডি পরিবর্তন করবেন না। এটি র্যাঙ্কিংয়ের জন্য ব্যবহারের ডেটা ধরে রাখা নিশ্চিত করে।
 
যদি ব্যবহারকারী কোনও ডাইরেক্ট শেয়ার টার্গেট ট্যাপ করে, তাহলে আপনার অ্যাপটিকে অবশ্যই তাদের এমন একটি UI-তে নিয়ে যেতে হবে যেখানে তারা সরাসরি টার্গেটের বিষয়বস্তুর উপর কোনও ক্রিয়া সম্পাদন করতে পারবে। ব্যবহারকারীকে একটি দ্ব্যর্থতা নিরসন UI উপস্থাপন করবেন না এবং ট্যাপ করা টার্গেটের সাথে সম্পর্কিত নয় এমন UI-তে রাখবেন না। উদাহরণস্বরূপ, একটি মেসেজিং অ্যাপে, ডাইরেক্ট শেয়ার টার্গেট ট্যাপ করলে ব্যবহারকারী তাদের নির্বাচিত ব্যক্তির সাথে একটি কথোপকথন দৃশ্যে নিয়ে যায়। কীবোর্ডটি দৃশ্যমান হয় এবং বার্তাটি শেয়ার করা ডেটা দিয়ে পূর্বেই পূরণ করা হয়।
শর্টকাট শেয়ারিং এপিআই
 অ্যান্ড্রয়েড ১০ (এপিআই লেভেল ২৯) থেকে শুরু করে, ShortcutInfo.Builder এমন পদ্ধতি এবং বর্ধিতকরণ যোগ করেছে যা শেয়ার লক্ষ্য সম্পর্কে অতিরিক্ত তথ্য প্রদান করে:
-  
setCategories() - অ্যান্ড্রয়েড ১০ থেকে শুরু করে, শর্টকাটগুলি ফিল্টার করার জন্যও বিভাগগুলি ব্যবহার করা হয় যা শেয়ারের উদ্দেশ্য বা ক্রিয়া পরিচালনা করতে পারে। বিস্তারিত জানার জন্য একটি শেয়ার লক্ষ্য ঘোষণা করুন দেখুন। শেয়ার লক্ষ্য হিসাবে ব্যবহারের জন্য শর্টকাটগুলির জন্য এই ক্ষেত্রটি প্রয়োজন।
 -  
setLongLived() একটি শর্টকাট যখন অপ্রকাশিত থাকে অথবা অ্যাপ দ্বারা অদৃশ্য করা হয় (একটি গতিশীল বা পিন করা শর্টকাট হিসাবে) তখন এটি বৈধ কিনা তা নির্দিষ্ট করে। যদি একটি শর্টকাট দীর্ঘস্থায়ী হয়, তাহলে এটি বিভিন্ন সিস্টেম পরিষেবা দ্বারা ক্যাশে করা যেতে পারে এমনকি যদি এটি একটি গতিশীল শর্টকাট হিসাবে অপ্রকাশিত থাকে।
দীর্ঘস্থায়ী শর্টকাট তৈরি করলে এর র্যাঙ্কিং উন্নত হতে পারে। বিস্তারিত জানার জন্য সেরা র্যাঙ্কিং পান দেখুন।
-  
setShortLabel(),setLongLabel() কোনও ব্যক্তির জন্য শর্টকাট প্রকাশ করার সময়, অনুগ্রহ করে
setLongLabel()তে তার পুরো নাম এবংsetShortLabel()তে যেকোনো ছোট নাম, যেমন ডাকনাম বা প্রথম নাম, অন্তর্ভুক্ত করুন।
GitHub-এ শেয়ারিং শর্টকাট প্রকাশের একটি উদাহরণ দেখুন।
শর্টকাট চিত্রাবলী প্রদান করুন
 একটি শেয়ারিং শর্টকাট তৈরি করতে, আপনাকে setIcon() এর মাধ্যমে একটি ছবি যোগ করতে হবে।
 শেয়ারিং শর্টকাটগুলি সিস্টেমের পৃষ্ঠতল জুড়ে প্রদর্শিত হতে পারে এবং নতুন আকার দেওয়া হতে পারে। এছাড়াও, অ্যান্ড্রয়েড সংস্করণ 7, 8, বা 9 (API স্তর 25, 26, 27, এবং 28) চালিত কিছু ডিভাইসে ব্যাকগ্রাউন্ড ছাড়াই বিটম্যাপ-কেবল আইকন প্রদর্শন করা হতে পারে, যা নাটকীয়ভাবে বৈপরীত্য হ্রাস করে। আপনার শর্টকাটটি উদ্দেশ্য অনুসারে দেখাতে, IconCompat.createWithAdaptiveBitmap() ব্যবহার করে একটি অভিযোজিত বিটম্যাপ সরবরাহ করুন।
নিশ্চিত করুন যে অভিযোজিত বিটম্যাপগুলি অভিযোজিত আইকনগুলির জন্য নির্ধারিত একই নির্দেশিকা এবং মাত্রা অনুসরণ করে। এটি সম্পন্ন করার সবচেয়ে সাধারণ উপায় হল উদ্দেশ্যযুক্ত বর্গাকার বিটম্যাপটিকে 72x72 dp-তে স্কেল করা এবং এটিকে 108x108 dp স্বচ্ছ ক্যানভাসের মধ্যে কেন্দ্র করা। যদি আপনার আইকনে স্বচ্ছ অঞ্চল থাকে, তাহলে আপনাকে একটি পটভূমির রঙ অন্তর্ভুক্ত করতে হবে; অন্যথায়, স্বচ্ছ অঞ্চলগুলি কালো দেখাবে।
 নির্দিষ্ট আকৃতিতে মুখোশযুক্ত ছবি দেবেন না। উদাহরণস্বরূপ, Android 10 (API লেভেল 29) এর আগে, Direct Share ChooserTarget এর জন্য ব্যবহারকারীর অবতার প্রদান করা সাধারণ ছিল যা একটি বৃত্তে মুখোশযুক্ত ছিল। Android 10 এর Android Sharesheet এবং অন্যান্য সিস্টেম সারফেস এখন আকৃতি এবং থিম শর্টকাট ছবি প্রদান করে। ShortcutManagerCompat এর মাধ্যমে শেয়ারিং শর্টকাট প্রদানের পছন্দের পদ্ধতি, স্বয়ংক্রিয়ভাবে আপনার জন্য বৃত্তে ব্যাককম্প্যাট Direct Share ChooserTarget অবজেক্ট তৈরি করে।
একটি শেয়ার লক্ষ্য ঘোষণা করুন
 স্ট্যাটিক শর্টকাট সংজ্ঞার মতোই অ্যাপের রিসোর্স ফাইলে শেয়ার টার্গেট ঘোষণা করতে হবে। রিসোর্স ফাইলের <shortcuts> রুট এলিমেন্টের ভিতরে শেয়ার টার্গেট সংজ্ঞা যোগ করুন, অন্যান্য স্ট্যাটিক শর্টকাট সংজ্ঞার সাথে। প্রতিটি <share-targets> এলিমেন্টে শেয়ার করা ডেটা টাইপ, ম্যাচিং ক্যাটাগরি এবং শেয়ার ইন্টেন্ট পরিচালনা করবে এমন টার্গেট ক্লাস সম্পর্কে তথ্য থাকে। XML কোডটি দেখতে এরকম কিছু:
<shortcuts xmlns:android="http://schemas.android.com/apk/res/android"> <share-target android:targetClass="com.example.android.sharingshortcuts.SendMessageActivity"> <data android:mimeType="text/plain" /> <category android:name="com.example.android.sharingshortcuts.category.TEXT_SHARE_TARGET" /> </share-target> </shortcuts>
একটি শেয়ার টার্গেটে থাকা ডেটা এলিমেন্টটি একটি ইনটেন্ট ফিল্টারের ডেটা স্পেসিফিকেশনের মতো। প্রতিটি শেয়ার টার্গেটে একাধিক বিভাগ থাকতে পারে, যা শুধুমাত্র একটি অ্যাপের প্রকাশিত শর্টকাটগুলিকে তার শেয়ার টার্গেট সংজ্ঞার সাথে মেলানোর জন্য ব্যবহৃত হয়। বিভাগগুলিতে যেকোনো ইচ্ছামত অ্যাপ-সংজ্ঞায়িত মান থাকতে পারে।
যদি ব্যবহারকারী অ্যান্ড্রয়েড শেয়ারশিটে শেয়ারিং শর্টকাটটি নির্বাচন করেন যা উপরের টার্গেট-শেয়ার উদাহরণের সাথে মিলে যায়, তাহলে অ্যাপটি নিম্নলিখিত শেয়ার ইন্টেন্ট পাবে:
Action: Intent.ACTION_SEND ComponentName: {com.example.android.sharingshortcuts / com.example.android.sharingshortcuts.SendMessageActivity} Data: Uri to the shared content EXTRA_SHORTCUT_ID: <ID of the selected shortcut>
 যদি ব্যবহারকারী লঞ্চার শর্টকাট থেকে শেয়ার টার্গেটটি খোলে, তাহলে অ্যাপটি ShortcutManagerCompat এ শেয়ারিং শর্টকাট যোগ করার সময় তৈরি করা ইন্টেন্টটি পাবে। যেহেতু এটি একটি ভিন্ন ইন্টেন্ট, Intent.EXTRA_SHORTCUT_ID উপলব্ধ হবে না এবং প্রয়োজনে আপনাকে ম্যানুয়ালি আইডিটি পাস করতে হবে।
যোগাযোগ অ্যাপের জন্য শর্টকাট ব্যবহারের রিপোর্ট করুন
 যদি আপনি একটি যোগাযোগ অ্যাপ তৈরি করেন, তাহলে আপনি আউটগোয়িং এবং ইনকামিং উভয় বার্তার ব্যবহারের রিপোর্ট করে অ্যান্ড্রয়েড শেয়ারশিটে আপনার র্যাঙ্কিং উন্নত করতে পারেন। এটি করার জন্য, ShortcutManagerCompat.pushDynamicShortcut মাধ্যমে যোগাযোগের প্রতিনিধিত্বকারী কথোপকথনের শর্টকাটটি পুনরায় প্রকাশ করুন।
শর্টকাট ব্যবহার এবং ক্ষমতা বাইন্ডিংগুলি অ্যান্ড্রয়েড 5.0 (API 21) এর সাথে ব্যাকওয়ার্ড সামঞ্জস্যপূর্ণ।
বহির্গামী বার্তাগুলির জন্য শর্টকাট ব্যবহারের রিপোর্ট করুন
ব্যবহারকারীর পাঠানো বার্তার ব্যবহার রিপোর্ট করা কার্যকরীভাবে বার্তা তৈরির পর "পাঠান" বোতামে ক্লিক করার মতো।
 ব্যবহারের প্রতিবেদন চালু করতে, ShortcutInfoCompat.Builder#addCapabilityBinding এর মাধ্যমে শর্টকাটে সক্ষমতা বাইন্ডিং নির্দিষ্ট করুন। actions.intent.SEND_MESSAGE সক্ষমতার সাথে বাইন্ডিং করুন। 
কোটলিন
val shortcutInfo = ShortcutInfoCompat.Builder(myContext, staticConversationIdentifier) ... .setShortLabel(firstName) .setLongLabel(fullName) .setCategories(matchedCategories) .setLongLived(true) .addCapabilityBinding("actions.intent.SEND_MESSAGE").build() ShortcutManagerCompat.pushDynamicShortcut(myContext, shortcutInfo)
জাভা
ShortcutInfoCompat shortcutInfo = new ShortcutInfoCompat.Builder(myContext, staticConversationIdentifier) ... .setShortLabel(firstName) .setLongLabel(fullName) .setCategories(matchedCategories) .setLongLived(true) .addCapabilityBinding("actions.intent.SEND_MESSAGE") .build(); ShortcutManagerCompat.pushDynamicShortcut(myContext, shortcutInfo);
 যদি বহির্গামী বার্তাটি একটি গ্রুপ চ্যাটের জন্য হয়, তাহলে আপনাকে অবশ্যই Audience প্যারামিটার মান যোগ করতে হবে কারণ recipient ধরণটি সক্ষমতার সাথে সম্পর্কিত। 
কোটলিন
val shortcutInfo = ShortcutInfoCompat.Builder(myContext, staticConversationIdentifier) ... .setShortLabel(groupShortTitle) .setLongLabel(groupLongTitle) .setCategories(matchedCategories) .setLongLived(true) .addCapabilityBinding("actions.intent.SEND_MESSAGE", "message.recipient.@type", listOf("Audience")).build() ShortcutManagerCompat.pushDynamicShortcut(myContext, shortcutInfo)
জাভা
ShortcutInfoCompat shortcutInfo = new ShortcutInfoCompat.Builder(myContext, staticConversationIdentifier) ... .setShortLabel(groupShortTitle) .setLongLabel(groupLongTitle) .setCategories(matchedCategories) .setLongLived(true) .addCapabilityBinding("actions.intent.SEND_MESSAGE", "message.recipient.@type", Arrays.asList("Audience")) .build(); ShortcutManagerCompat.pushDynamicShortcut(myContext, shortcutInfo);
ইনকামিং মেসেজের শর্টকাট ব্যবহারের রিপোর্ট করুন
 ব্যবহারকারী যখন কোনও এসএমএস, চ্যাট বার্তা, ইমেল বা বিজ্ঞপ্তির মতো কোনও বার্তা পান তখন ব্যবহারের প্রতিবেদন চালু করতে, আপনাকে অবশ্যই শর্টকাটে সক্ষমতা বাইন্ডিং নির্দিষ্ট করতে হবে ShortcutInfoCompat.Builder#addCapabilityBinding actions.intent.RECEIVE_MESSAGE ক্ষমতার সাথে বাইন্ডিং করুন। 
কোটলিন
val shortcutInfo = ShortcutInfoCompat.Builder(myContext, staticConversationIdentifier) ... .setShortLabel(firstName) .setLongLabel(fullName) .setCategories(matchedCategories) .setLongLived(true) .addCapabilityBinding("actions.intent.RECEIVE_MESSAGE").build() ShortcutManagerCompat.pushDynamicShortcut(myContext, shortcutInfo)
জাভা
ShortcutInfoCompat shortcutInfo = new ShortcutInfoCompat.Builder(myContext, staticConversationIdentifier) ... .setShortLabel(firstName) .setLongLabel(fullName) .setCategories(matchedCategories) .setLongLived(true) .addCapabilityBinding("actions.intent.RECEIVE_MESSAGE") .build(); ShortcutManagerCompat.pushDynamicShortcut(myContext, shortcutInfo);
 যদি ইনকামিং মেসেজটি কোনও গ্রুপ চ্যাট থেকে আসে, তাহলে আপনাকে অবশ্যই Audience প্যারামিটার মানটিও যোগ করতে হবে কারণ sender ধরণটি সক্ষমতার সাথে সম্পর্কিত। 
কোটলিন
val shortcutInfo = ShortcutInfoCompat.Builder(myContext, staticConversationIdentifier) ... .setShortLabel(groupShortTitle) .setLongLabel(groupLongTitle) .setCategories(matchedCategories) .setLongLived(true) .addCapabilityBinding("actions.intent.RECEIVE_MESSAGE", "message.sender.@type", listOf("Audience")).build() ShortcutManagerCompat.pushDynamicShortcut(myContext, shortcutInfo)
জাভা
ShortcutInfoCompat shortcutInfo = new ShortcutInfoCompat.Builder(myContext, staticConversationIdentifier) ... .setShortLabel(groupShortTitle) .setLongLabel(groupLongTitle) .setCategories(matchedCategories) .setLongLived(true) .addCapabilityBinding("actions.intent.RECEIVE_MESSAGE", "message.sender.@type", Arrays.asList("Audience")) .build(); ShortcutManagerCompat.pushDynamicShortcut(myContext, shortcutInfo);
শেয়ারিং শর্টকাট এবং ChooserTargets উভয়ই প্রদান করতে AndroidX ব্যবহার করুন
 AndroidX সামঞ্জস্যপূর্ণ লাইব্রেরির সাথে কাজ করার জন্য, অ্যাপের ম্যানিফেস্টে মেটা-ডেটা chooser-target-service এবং intent-filters সেট থাকতে হবে। বর্তমান ChooserTargetService Direct Share API দেখুন।
এই পরিষেবাটি ইতিমধ্যেই সামঞ্জস্যতা লাইব্রেরিতে ঘোষণা করা হয়েছে, তাই ব্যবহারকারীকে অ্যাপের ম্যানিফেস্টে পরিষেবাটি ঘোষণা করার প্রয়োজন নেই। তবে, শেয়ার কার্যকলাপ থেকে পরিষেবার লিঙ্কটি একটি পছন্দকারী লক্ষ্য প্রদানকারী হিসাবে বিবেচনা করা উচিত।
 নিম্নলিখিত উদাহরণে, ChooserTargetService এর বাস্তবায়ন হল androidx.core.content.pm.ChooserTargetServiceCompat , যা ইতিমধ্যেই AndroidX-এ সংজ্ঞায়িত করা হয়েছে: 
<activity android:name=".SendMessageActivity" android:label="@string/app_name" android:theme="@style/SharingShortcutsDialogTheme"> <!-- This activity can respond to Intents of type SEND --> <intent-filter> <action android:name="android.intent.action.SEND" /> <category android:name="android.intent.category.DEFAULT" /> <data android:mimeType="text/plain" /> </intent-filter> <!-- Only needed if you import the sharetarget AndroidX library that provides backwards compatibility with the old DirectShare API. The activity that receives the Sharing Shortcut intent needs to be taken into account with this chooser target provider. --> <meta-data android:name="android.service.chooser.chooser_target_service" android:value="androidx.sharetarget.ChooserTargetServiceCompat" /> </activity>
শর্টকাট শেয়ার করার বিষয়ে প্রায়শই জিজ্ঞাসিত প্রশ্নাবলী
শর্টকাট ব্যবহারের ডেটা কীভাবে সংরক্ষণ করা হয় এবং সেগুলি কি ডিভাইসে রেখে যায়?
শর্টকাটগুলি সম্পূর্ণরূপে ডিভাইসে একটি এনক্রিপ্টেড ডিস্ক পার্টিশনে সিস্টেম ডেটা ডিরেক্টরিতে সংরক্ষণ করা হয়। শর্টকাটে থাকা তথ্য যেমন আইকন, উদ্দেশ্য এবং ব্যক্তি এবং সংস্থানগুলির নাম কেবল সিস্টেম পরিষেবা এবং শর্টকাট প্রকাশকারী একই অ্যাপ দ্বারা অ্যাক্সেসযোগ্য।
ডাইরেক্ট শেয়ারের ইতিহাস কী?
 আমরা Android 6.0 (API লেভেল 23) তে Direct Share চালু করেছি যাতে অ্যাপগুলিকে ChooserTarget অবজেক্টগুলি ChooserTargetService এর মাধ্যমে প্রদান করতে পারি। চাহিদা অনুযায়ী ফলাফলগুলি প্রতিক্রিয়াশীলভাবে পুনরুদ্ধার করা হয়েছিল, যার ফলে লক্ষ্যবস্তুগুলির জন্য লোডিং সময় ধীর হয়ে গিয়েছিল।
 অ্যান্ড্রয়েড ১০ (এপিআই লেভেল ২৯) তে, আমরা ChooserTargetService Direct Share API গুলিকে নতুন Sharing Shortcuts API দিয়ে প্রতিস্থাপন করেছি। চাহিদা অনুযায়ী প্রতিক্রিয়াশীলভাবে ফলাফল পুনরুদ্ধার করার পরিবর্তে, Sharing Shortcuts API অ্যাপগুলিকে Direct Share টার্গেটগুলি আগে থেকেই প্রকাশ করতে দেয়। এটি ShareSheet প্রস্তুত করার সময় Direct Share টার্গেটগুলি পুনরুদ্ধারের প্রক্রিয়াটিকে দ্রুততর করে তোলে। ChooserTargetService Direct Share প্রক্রিয়াটি কাজ চালিয়ে যাবে, তবে সিস্টেমটি এইভাবে প্রদত্ত টার্গেটগুলিকে Sharing Shortcuts API ব্যবহার করে এমন যেকোনো টার্গেটের চেয়ে কম রেটিং দেয়।
 অ্যান্ড্রয়েড ১১ (এপিআই লেভেল ৩০) ChooserTargetService পরিষেবাটি বন্ধ করে দিয়েছে এবং শেয়ারিং শর্টকাটস এপিআই হল ডাইরেক্ট শেয়ার টার্গেট প্রদানের একমাত্র উপায়।
শেয়ার টার্গেটের জন্য প্রকাশিত শর্টকাটগুলি লঞ্চার শর্টকাট থেকে কীভাবে আলাদা (লঞ্চারে অ্যাপ আইকনগুলিতে দীর্ঘক্ষণ টিপে রাখার সময় শর্টকাটের সাধারণ ব্যবহার)?
"শেয়ার টার্গেট" উদ্দেশ্যে প্রকাশিত যেকোনো শর্টকাটও একটি লঞ্চার শর্টকাট, এবং আপনার অ্যাপের আইকনটি দীর্ঘক্ষণ টিপে রাখলে মেনুতে প্রদর্শিত হবে। প্রতিটি কার্যকলাপের জন্য সর্বাধিক শর্টকাট গণনার সীমা একটি অ্যাপ প্রকাশ করছে এমন মোট শর্টকাটের সংখ্যার উপরও প্রযোজ্য (শেয়ার টার্গেট এবং লিগ্যাসি লঞ্চার শর্টকাট একত্রিত)।
কতগুলি শেয়ারিং শর্টকাট প্রকাশ করা উচিত সে সম্পর্কে নির্দেশিকা কী?
 getMaxShortcutCountPerActivity(android.content.Context) এর মাধ্যমে উপলব্ধ গতিশীল শর্টকাটের একই সীমাতে শেয়ারিং শর্টকাট সংখ্যা সীমাবদ্ধ। কেউ এই সীমা পর্যন্ত যেকোনো সংখ্যা প্রকাশ করতে পারে তবে মনে রাখতে হবে যে শেয়ারিং শর্টকাটগুলি অ্যাপ লঞ্চারে দীর্ঘক্ষণ প্রেস করে এবং শেয়ার শিটে দৃশ্যমান হতে পারে। দীর্ঘক্ষণ প্রেস করে বেশিরভাগ অ্যাপ লঞ্চার পোর্ট্রেট মোডে সর্বাধিক চার বা পাঁচটি শর্টকাট এবং ল্যান্ডস্কেপ মোডে আটটি প্রদর্শন করে। শেয়ারিং শর্টকাট সম্পর্কে আরও বিশদ এবং নির্দেশিকা জানতে এই FAQ দেখুন।