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

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

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

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

डायरेक्ट शेयर टारगेट पब्लिश करना

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

  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 एट्रिब्यूट के बारे में ज़्यादा जानें. उदाहरण के लिए, अगर किसी संपर्क के लिए आरसीएस या एमएमएस की सुविधा चालू नहीं है, तो एसएमएस ऐप्लिकेशन के लिए उस संपर्क के शॉर्टकट को image/* और video/* जैसे नॉन-टेक्स्ट MIME टाइप से असोसिएट नहीं किया जाएगा.
  • किसी बातचीत के लिए, डाइनैमिक शॉर्टकट को पुश करने के बाद, उसका इस्तेमाल रिपोर्ट किए गए हैं, तो शॉर्टकट आईडी न बदलें. इससे यह पक्का किया जाता है कि ऐप्लिकेशन के इस्तेमाल से जुड़ा डेटा मौजूद रहे देखें.

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

Sharing Shortcuts API

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 10 में, Android शेयरशीट और सिस्टम के अन्य प्लैटफ़ॉर्म पर, अब शॉर्टकट की इमेज का आकार और थीम बदली जा सकती है. शेयर करने के शॉर्टकट उपलब्ध कराने का सबसे पसंदीदा तरीका, 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 शेयरशीट. ऐसा करने के लिए, बातचीत के शॉर्टकट को फिर से पब्लिश करें. यह शॉर्टकट, ShortcutManagerCompat.pushDynamicShortcut.

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

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

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

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

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 API को Sharing Shortcuts API से बदल दिया है. नतीजे पाने के बजाय शेयर करने के शॉर्टकट एपीआई की मदद से, हम मांग पर प्रतिक्रिया देते हैं और ऐप्लिकेशन को डायरेक्ट शेयर पब्लिश करने की सुविधा देते हैं पहले से टारगेट के तौर पर. इससे, शेयरशीट तैयार करते समय, डायरेक्ट शेयर के टारगेट को तुरंत वापस पाने की प्रोसेस तेज़ हो गई. ChooserTargetServiceडायरेक्ट शेयर करने का तरीका काम करता रहेगा. हालांकि, सिस्टम इस तरह से दिए गए टारगेट को, शेयर करने के लिए शॉर्टकट एपीआई का इस्तेमाल करने वाले किसी भी टारगेट से नीचे रखता है.

Android 11 (एपीआई लेवल 30) में ChooserTargetService सेवा को बंद कर दिया गया है. साथ ही, डायरेक्ट शेयर के टारगेट देने का एकमात्र तरीका, शेयर करने के लिए शॉर्टकट एपीआई है.

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

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

शॉर्टकट शेयर करने की संख्या के बारे में क्या दिशा-निर्देश हैं?

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