डायरेक्ट शेयर टारगेट दें

पहली इमेज: शेयरशीट में 'डायरेक्ट शेयर' लाइन, जैसा कि 1 में दिखाया गया है

डायरेक्ट शेयर टारगेट का इस्तेमाल करके, अन्य ऐप्लिकेशन के उपयोगकर्ताओं के लिए चीज़ें आसान और तेज़ बनाएं यूआरएल, इमेज या दूसरी तरह का डेटा शेयर करने के लिए. 'डायरेक्ट शेयर' सुविधा काम करती है अपने संपर्कों को सीधे Android पर मैसेज सेवा और सोशल मीडिया ऐप्लिकेशन के ज़रिए शेयरशीट में, लोगों को ऐप्लिकेशन चुनने और संपर्क को खोजने की ज़रूरत नहीं होती.

ShortcutManagerCompat एक AndroidX API है, जो शेयर करने के शॉर्टकट की सुविधा देता है. साथ ही, यह यह अब काम नहीं करने वाले ChooserTargetService API के साथ काम करता है. यह पसंदीदा है शेयर करने के शॉर्टकट और ChooserTargets, दोनों को प्रकाशित करने का तरीका. निर्देशों के लिए, Share Shortcuts andChooserTarget, दोनों को उपलब्ध कराने के लिए AndroidX का इस्तेमाल करें देखें इस पेज पर.

डायरेक्ट शेयर से जुड़े टारगेट पब्लिश करें

Sharesheet की डायरेक्ट शेयर लाइन में, सिर्फ़ Shortcuts API शेयर करना. Direct Share को पब्लिश करने के लिए, यह तरीका अपनाएं टारगेट के लिए.

  1. अपने ऐप्लिकेशन की एक्सएमएल संसाधन फ़ाइल में, 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>
    
  2. जब आपका ऐप्लिकेशन शुरू हो जाए, तब setDynamicShortcuts का इस्तेमाल करें का इस्तेमाल करें.

    इंडेक्स कम होने का मतलब है कि यह ज़्यादा अहम है. अगर आपको बातचीत करनी है की सूची में शामिल हैं, तो वे रीसेंसी के आधार पर क्रम में की गई शीर्ष बातचीत हो सकती हैं, आपका ऐप्लिकेशन. ऐसे शॉर्टकट पब्लिश न करें जो पुराने हैं; बिना किसी बदलाव के पिछले 30 दिनों की उपयोगकर्ता गतिविधि पुरानी मानी जाती है.

    Kotlin

    ShortcutManagerCompat.setDynamicShortcuts(myContext, listOf(shortcut1, shortcut2, ..))
    

    Java

    List<ShortcutInfoCompat> shortcuts = new ArrayList<>();
    shortcuts.add(shortcut1);
    shortcuts.add(shortcut2);
    ...
    ShortcutManagerCompat.setDynamicShortcuts(myContext, shortcuts);
    
  3. अगर कोई कम्यूनिकेशन ऐप्लिकेशन डेवलप किया जा रहा है, तो शॉर्टकट के इस्तेमाल की रिपोर्ट हर बार उपयोगकर्ता के हर बार तुरंत pushDynamicShortcut किसी संपर्क को मैसेज मिलता है या भेजता है. इसके लिए शॉर्टकट के इस्तेमाल की रिपोर्ट करें बातचीत ऐप्लिकेशन देखें. उदाहरण के लिए, उपयोगकर्ता ने जो मैसेज भेजे हैं उनके इस्तेमाल की रिपोर्ट करें शॉर्टकट में क्षमता बाइंडिंग तय करना ShortcutInfoCompat.Builder#addCapabilityBinding actions.intent.SEND_MESSAGE क्षमता के साथ.

    Kotlin

    val shortcutInfo = ShortcutInfoCompat.Builder(myContext, staticConversationIdentifier)
      ...
      .setShortLabel(firstName)
      .setLongLabel(fullName)
      .setCategories(matchedCategories)
      .setLongLived(true)
    .addCapabilityBinding("actions.intent.SEND_MESSAGE").build()
    ShortcutManagerCompat.pushDynamicShortcut(myContext, shortcutInfo)
    

    Java

    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);
    
  4. अगर उपयोगकर्ता किसी संपर्क को मिटाता है, तो इसका इस्तेमाल करें removeLongLivedShortcut. यह पसंदीदा है शॉर्टकट को निकालने का तरीका चाहे वह सिस्टम द्वारा संचित किया गया हो या नहीं सेवाओं. नीचे दिए गए कोड स्निपेट में, यूआरएल लिंक करने का तरीका बताया गया है.

    Kotlin

    val deleteShortcutId = "..."
    ShortcutManagerCompat.removeLongLivedShortcuts(myContext, listOf(deleteShortcutId))
    

    Java

    String deleteShortcutId = "...";
    ShortcutManagerCompat.removeLongLivedShortcuts(
        myContext, Arrays.asList(deleteShortcutId));
    

डायरेक्ट शेयर टारगेट की रैंकिंग बेहतर करें

Android Sharesheet, डायरेक्ट शेयर टारगेट की तय संख्या दिखाता है. ये सुझावों को रैंक के हिसाब से क्रम में लगाया जाता है. आप संभावित रूप से अपनी साइट की रैंकिंग सुधार सकते हैं. शॉर्टकट बनाने के लिए ये काम करें:

  • पक्का करें कि सभी shortcutIds यूनीक हों और अलग-अलग टारगेट के लिए कभी भी फिर से इस्तेमाल न किए गए हों.
  • कॉल करके यह पक्का करें कि शॉर्टकट लंबे समय तक चले setLongLived(true).
  • बातचीत से जुड़े शॉर्टकट के लिए, शॉर्टकट के इस्तेमाल की रिपोर्ट करें आउटगोइंग और इनकमिंग मैसेज के लिए, मिलते-जुलते शॉर्टकट को फिर से पब्लिश करें ShortcutManagerCompat.pushDynamicShortcut के ज़रिए. इस पर कम्यूनिकेशन ऐप्लिकेशन के लिए शॉर्टकट के इस्तेमाल की रिपोर्ट करना देखें इस पेज पर जाएं.
  • डायरेक्ट शेयर से जुड़े पुराने या ऐसे टारगेट देने से बचें जो काम के नहीं हैं. उदाहरण के लिए, ऐसे संपर्क जिन्हें उपयोगकर्ता ने पिछले 30 दिनों में मैसेज नहीं भेजा है.
  • एसएमएस वाले ऐप्लिकेशन के लिए, छोटे कोड या बातचीत के लिए शॉर्टकट न दें स्पैम के तौर पर मार्क किया गया है. उपयोगकर्ताओं के साथ इसे शेयर करने की संभावना बहुत कम है जैसी बातचीत को मिटा दिया.
  • शॉर्टकट कोsetCategories() उचित mimeType एट्रिब्यूट के बारे में ज़्यादा जानें. उदाहरण के लिए, के लिए, अगर संपर्क आरसीएस या मल्टीमीडिया मैसेज (एमएमएस) की सुविधा नहीं है, तो आपको ये काम नहीं करने होंगे संबंधित शॉर्टकट को बिना टेक्स्ट वाले MIME टाइप से जोड़ें, जैसे कि image/* और video/*.
  • किसी बातचीत के लिए, डाइनैमिक शॉर्टकट को पुश करने के बाद, उसका इस्तेमाल रिपोर्ट किए गए हैं, तो शॉर्टकट आईडी न बदलें. इससे यह पक्का किया जाता है कि ऐप्लिकेशन के इस्तेमाल से जुड़ा डेटा मौजूद रहे देखें.

अगर उपयोगकर्ता किसी डायरेक्ट शेयर टारगेट पर टैप करता है, तो आपका ऐप्लिकेशन उन्हें ऐसे यूज़र इंटरफ़ेस (यूआई) पर ले जाएगा जहां वे टारगेट के विषय पर सीधे कोई कार्रवाई कर सकते हैं. प्रज़ेंट न करें साफ़ तौर पर जानकारी देने वाला यूज़र इंटरफ़ेस (यूआई) इस्तेमाल किया जा सके और उन्हें ऐसे यूज़र इंटरफ़ेस (यूआई) में न रखा गया हो जो टैप किया गया टारगेट. उदाहरण के लिए, मैसेजिंग ऐप्लिकेशन में, Direct Share पर टैप करके टारगेट की मदद से, उपयोगकर्ता को उसके चुने हुए व्यक्ति के साथ बातचीत वाले व्यू पर ले जाया जाता है. कॉन्टेंट बनाने कीबोर्ड दिखेगा और मैसेज पहले से ही शेयर किए गए डेटा से भरा होगा.

शेयर करने के शॉर्टकट एपीआई

Android 10 (एपीआई लेवल 29) और इसके बाद के वर्शन वाले डिवाइसों पर, ShortcutInfo.Builder ने तरीके और बेहतर बनाने के लिए जोड़े गए तरीके जोड़े हैं जिनमें शेयर टारगेट के बारे में ज़्यादा जानकारी दी गई हो:

setCategories()
Android 10 और इसके बाद के वर्शन में, कैटगरी का इस्तेमाल उन शॉर्टकट को फ़िल्टर करने के लिए भी किया जाता है जो शेयर इंटेंट या कार्रवाइयों को हैंडल कर सकता है. शेयर करने का एलान देखें टारगेट के बारे में ज़्यादा जानें. शॉर्टकट के लिए यह फ़ील्ड ज़रूरी है जिसे शेयर टारगेट के तौर पर इस्तेमाल किया गया हो.
setLongLived()

इससे पता चलता है कि किसी शॉर्टकट को अनपब्लिश किए जाने पर वह मान्य है या नहीं या जिन्हें ऐप्लिकेशन से ऐक्सेस नहीं किया जा सकता. जैसे, डाइनैमिक या पिन किए गए शॉर्टकट. अगर शॉर्टकट होता है. इसे अलग-अलग सिस्टम सेवाओं की मदद से कैश मेमोरी में सेव किया जा सकता है, भले ही को डाइनैमिक शॉर्टकट के तौर पर अनपब्लिश किया गया.

लंबे समय तक काम करने वाला शॉर्टकट बनाकर, इसकी रैंकिंग को बेहतर बनाया जा सकता है. सबसे बेहतर सुविधा पाएं रैंकिंग देखें.

setShortLabel(), setLongLabel()

किसी व्यक्ति के लिए शॉर्टकट पब्लिश करते समय, कृपया उनकी पूरी जानकारी शामिल करें setLongLabel() में मौजूद नाम और कोई छोटा नाम, जैसे कि कोई निकनेम या नाम setShortLabel() में नाम डालें.

GitHub पर, शेयर करने के शॉर्टकट को पब्लिश करने का एक उदाहरण देखें.

शॉर्टकट इमेज का इस्तेमाल करें

शेयर करने का शॉर्टकट बनाने के लिए, आपको setIcon() की मदद से इमेज जोड़नी होगी.

शेयर करने के शॉर्टकट, सभी सिस्टम प्लैटफ़ॉर्म पर दिख सकते हैं और उनके साइज़ में बदलाव किया जा सकता है. इसके अलावा, Android 7, 8 या 9 (एपीआई लेवल 25, 26, 27, और 28) बैकग्राउंड के बिना सिर्फ़ बिट मैप आइकॉन दिखा सकते हैं, जो कंट्रास्ट को नाटकीय रूप से कम करता है. यह पक्का करने के लिए कि आपका शॉर्टकट सही तरीके से दिखे, IconCompat.createWithAdaptiveBitmap() का इस्तेमाल करके, अडैप्टिव बिट मैप उपलब्ध कराएं.

पक्का करें कि अडैप्टिव बिटमैप, अडैप्टिव आइकॉन के लिए सेट किए गए दिशा-निर्देशों और डाइमेंशन का पालन करते हों. ऐसा करने का सबसे सामान्य तरीका यह है कि टारगेट किए गए स्क्वेयर बिटमैप को 72x72 dp और उसके बीच में मौजूद 108x108 dp के पारदर्शी कैनवस. अगर आपके आइकॉन पारदर्शी क्षेत्र शामिल हों, तो आपको बैकग्राउंड का रंग शामिल करना होगा; नहीं तो, पारदर्शी क्षेत्र काले रंग में दिखते हैं.

किसी खास आकार की तस्वीरों को न दिखाएं. उदाहरण के लिए, Android 10 (एपीआई लेवल 29), डायरेक्ट शेयर के लिए उपयोगकर्ता के अवतार देना आम बात है ChooserTarget, जो किसी सर्कल पर मास्क किए गए थे. Android शेयरशीट और अन्य Android 10 में सिस्टम सरफ़ेस का साइज़ और थीम शॉर्टकट की इमेज अब उपलब्ध नहीं है. शेयर करने के शॉर्टकट देने की पसंदीदा विधि, के माध्यम से ShortcutManagerCompat बैककंपैट डायरेक्ट शेयर ChooserTarget ऑब्जेक्ट को अपने-आप आकार दें आपके लिए मंडलियां.

शेयर टारगेट का एलान करना

स्टैटिक शॉर्टकट की परिभाषाओं की तरह ही, ऐप्लिकेशन की संसाधन फ़ाइल में, शेयर किए गए टारगेट का एलान किया जाना चाहिए. शेयर जोड़ें रिसॉर्स फ़ाइल के <shortcuts> रूट एलिमेंट के अंदर टारगेट की परिभाषाएं, के साथ-साथ अन्य स्टैटिक शॉर्टकट परिभाषाओं को भी शामिल किया जाएगा. हर <share-targets> एलिमेंट इसमें शेयर किए गए डेटा टाइप, मेल खाने वाली कैटगरी, और टारगेट क्लास के लिए जो शेयर इंटेंट को हैंडल करेगी. एक्सएमएल कोड कुछ दिखता है इस तरह:

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

शेयर टारगेट में मौजूद डेटा एलिमेंट, इंटेंट फ़िल्टर में मौजूद डेटा स्पेसिफ़िकेशन की तरह ही होता है. हर शेयर टारगेट में यह हो सकता है एक से ज़्यादा कैटगरी, जिनका इस्तेमाल सिर्फ़ किसी ऐप्लिकेशन के पब्लिश किए गए शॉर्टकट से मिलान करने के लिए किया जाता है भी तय किया जा सकता है. कैटगरी में, कोई भी ऐसा ऐप्लिकेशन हो सकता है जिसे आर्बिट्रेरी ऐप्लिकेशन से तय किया गया हो वैल्यू.

अगर कोई उपयोगकर्ता Android शेयरशीट में शेयर करने के शॉर्टकट को चुनता है, तो ऊपर दिए गए उदाहरण लक्ष्य-शेयर से मेल खाता है, तो ऐप्लिकेशन को नीचे दी गई चीज़ें मिलेंगी शेयर इंटेंट:

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 उपलब्ध नहीं होगा, और ज़रूरत होने पर, आपको आईडी को मैन्युअल तौर पर पास करना होगा.

बातचीत करने के लिए इस्तेमाल होने वाले ऐप्लिकेशन के लिए, शॉर्टकट के इस्तेमाल की जानकारी दें

अगर आप कोई कम्यूनिकेशन ऐप्लिकेशन डेवलप कर रहे हैं, तो आप जाने वाले और इनकमिंग, दोनों तरह के मैसेज के इस्तेमाल की रिपोर्ट बनाकर Android Sharesheet. ऐसा करने के लिए, बातचीत के शॉर्टकट को फिर से पब्लिश करें. यह शॉर्टकट, ShortcutManagerCompat.pushDynamicShortcut.

शॉर्टकट के इस्तेमाल और क्षमता बाइंडिंग की सुविधा, Android 5.0 के साथ काम करती है (एपीआई 21).

आउटगोइंग मैसेज के लिए शॉर्टकट के इस्तेमाल की रिपोर्ट करें

उपयोगकर्ता के भेजे गए मैसेज के इस्तेमाल की रिपोर्टिंग, इस तरह की है "भेजें" पर क्लिक करके बटन क्लिक करें.

इस्तेमाल की रिपोर्टिंग शुरू करने के लिए, शॉर्टकट में क्षमता बाइंडिंग की जानकारी दें ShortcutInfoCompat.Builder#addCapabilityBinding के ज़रिए actions.intent.SEND_MESSAGE क्षमता के साथ.

Kotlin

val shortcutInfo = ShortcutInfoCompat.Builder(myContext, staticConversationIdentifier)
  ...
  .setShortLabel(firstName)
  .setLongLabel(fullName)
  .setCategories(matchedCategories)
  .setLongLived(true)
.addCapabilityBinding("actions.intent.SEND_MESSAGE").build()
ShortcutManagerCompat.pushDynamicShortcut(myContext, shortcutInfo)

Java

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 के तौर पर पैरामीटर की वैल्यू टाइप, क्षमता से जुड़ा है.

Kotlin

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)

Java

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 क्षमता का इस्तेमाल कर सके.

Kotlin

val shortcutInfo = ShortcutInfoCompat.Builder(myContext, staticConversationIdentifier)
  ...
  .setShortLabel(firstName)
  .setLongLabel(fullName)
  .setCategories(matchedCategories)
  .setLongLived(true)
  .addCapabilityBinding("actions.intent.RECEIVE_MESSAGE").build()

ShortcutManagerCompat.pushDynamicShortcut(myContext, shortcutInfo)

Java

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 टाइप के तौर पर पैरामीटर की वैल्यू क्षमता से जुड़ा हो.

Kotlin

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)

Java

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

शेयर करने के शॉर्टकट और चुनने के लिए लक्ष्य, दोनों उपलब्ध कराने के लिए AndroidX का इस्तेमाल करें

AndroidX के साथ काम करने वाली लाइब्रेरी के साथ काम करने के लिए, ऐप्लिकेशन का मेनिफ़ेस्ट इसमें मेटा-डेटा चुनने के विकल्प देने वाली सेवा और इंटेंट फ़िल्टर के सेट शामिल होने चाहिए. यहां जाएं: मौजूदा ChooserTargetService डायरेक्ट शेयर एपीआई.

इस सेवा के बारे में, कंपैटबिलिटी लाइब्रेरी में पहले ही बताया जा चुका है. इसलिए, लोग इसे ऐप्लिकेशन के मेनिफ़ेस्ट में सेवा के बारे में एलान करने की ज़रूरत नहीं होती. हालांकि, इस लिंक से सेवा को शेयर करने की गतिविधि को चुनने के लक्ष्य के रूप में ध्यान में रखा जाना चाहिए कंपनी.

यहां दिए गए उदाहरण में, 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>

शॉर्टकट शेयर करने के बारे में अक्सर पूछे जाने वाले सवाल

शॉर्टकट के इस्तेमाल से जुड़ा डेटा कैसे सेव किया जाता है और क्या वे डिवाइस से बाहर चले जाते हैं?

शॉर्टकट, उपयोगकर्ता के डिवाइस पर ही सेव किए जाते हैं. ये शॉर्टकट, सिस्टम डेटा डायरेक्ट्री में सुरक्षित किया गया डिस्क पार्टीशन. शॉर्टकट में मौजूद जानकारी, जैसे कि आइकॉन, इंटेंट, साथ ही, लोगों और संसाधनों के नाम को सिर्फ़ सिस्टम सर्विस और वही ऐप्लिकेशन जो शॉर्टकट पब्लिश करता हो.

Direct Share का इतिहास क्या है?

हमने Android 6.0 (एपीआई लेवल 23) में Direct Share की सुविधा लॉन्च की है, ताकि ऐप्लिकेशन ChooserTargetService की मदद से ChooserTarget ऑब्जेक्ट उपलब्ध कराएं. नतीजे मिले इसे मांग पर तेज़ी से फिर से हासिल किया गया. इससे टारगेट के लिए लोड होने में ज़्यादा समय लगा.

Android 10 (एपीआई लेवल 29) में, हमने ChooserTargetService Direct को बदल दिया है नए Share Shortcuts API की मदद से, APIs को शेयर करें. नतीजे पाने के बजाय शेयर करने के शॉर्टकट एपीआई की मदद से, हम मांग पर प्रतिक्रिया देते हैं और ऐप्लिकेशन को डायरेक्ट शेयर पब्लिश करने की सुविधा देते हैं पहले से टारगेट के तौर पर. इससे Direct Share वापस पाने की प्रोसेस तेज़ हो गई टारगेट के तौर पर. ChooserTargetService डायरेक्ट शेयर सिस्टम काम करता रहेगा, लेकिन यह सिस्टम, दिए गए टारगेट को रैंक करता है इस तरह से शेयर करने के शॉर्टकट एपीआई का इस्तेमाल करने वाले किसी भी टारगेट से कम होता है.

Android 11 (एपीआई लेवल 30) ने ChooserTargetService की सेवा बंद कर दी है और सीधे तौर पर शेयर करने के टारगेट को शेयर करने के लिए, Shortcuts API का इस्तेमाल किया जा सकता है.

शेयर करने के टारगेट के लिए पब्लिश किए गए शॉर्टकट, लॉन्चर से अलग कैसे हैं शॉर्टकट (सामान्य रूप से ऐप्लिकेशन आइकॉन को दबाकर रखने पर, शॉर्टकट का इस्तेमाल किया जाता है) लॉन्चर)?

"शेयर टारगेट" के लिए प्रकाशित किया गया कोई भी शॉर्टकट मकसद, एक लॉन्चर भी है शॉर्टकट बनाया जाता है और आपके ऐप्लिकेशन के आइकन को देर तक दबाए रखने पर यह मेनू में दिखाई देगा. कॉन्टेंट बनाने प्रति गतिविधि अधिकतम शॉर्टकट संख्या की सीमा आपके विज्ञापनों की कुल संख्या किसी ऐप्लिकेशन के ज़रिए पब्लिश किए जाने वाले शॉर्टकट (टारगेट और लेगसी लॉन्चर शॉर्टकट शेयर करना) संयुक्त).

शेयर करने के लिए कितने शॉर्टकट पब्लिश करने चाहिए, इसके बारे में दिशा-निर्देश क्या हैं.

शेयर करने के शॉर्टकट की संख्या, डाइनैमिक की एक जैसी सीमा तक सीमित है शॉर्टकट इनके माध्यम से उपलब्ध हैं getMaxShortcutCountPerActivity(android.content.Context). कोई भी व्यक्ति, उस सीमा तक पहुंच सकते हैं, लेकिन ध्यान रखें कि साझाकरण शॉर्टकट देखे जा सकते हैं ऐप्लिकेशन लॉन्चर में जाकर, शेयर शीट को दबाकर रखें. ज़्यादातर ऐप्लिकेशन लॉन्चर चालू हैं दबाकर रखने पर, पोर्ट्रेट मोड में ज़्यादा से ज़्यादा चार या पांच शॉर्टकट दिखाए जाते हैं और आठ को लैंडस्केप मोड में चला सकते हैं. इसे देखें अक्सर पूछे जाने वाले सवाल पर जाकर, शॉर्टकट शेयर करने के बारे में ज़्यादा जानकारी और दिशा-निर्देश पाएं.