Emoji2

मौजूदा और पुराने डिवाइसों में इमोजी दिखाएं.
नया अपडेट रिलीज़ किया गया जांचा और परखा हुआ वर्शन रिलीज़ कैंडिडेट बीटा रिलीज़ ऐल्फ़ा रिलीज़
4 जून, 2025 1.5.0 - - 1.6.0-alpha01

डिपेंडेंसी का एलान करना

Emoji2 पर डिपेंडेंसी जोड़ने के लिए, आपको अपने प्रोजेक्ट में Google Maven रिपॉज़िटरी जोड़नी होगी. ज़्यादा जानकारी के लिए, Google की Maven रिपॉज़िटरी पढ़ें.

अपने ऐप्लिकेशन या मॉड्यूल के लिए, build.gradle फ़ाइल में उन आर्टफ़ैक्ट की डिपेंडेंसी जोड़ें जिनकी आपको ज़रूरत है:

ग्रूवी

dependencies {
    def emoji2_version = "1.5.0"

    implementation "androidx.emoji2:emoji2:$emoji2_version"
    implementation "androidx.emoji2:emoji2-views:$emoji2_version"
    implementation "androidx.emoji2:emoji2-views-helper:$emoji2_version"
}

Kotlin

dependencies {
    val emoji2_version = "1.5.0"

    implementation("androidx.emoji2:emoji2:$emoji2_version")
    implementation("androidx.emoji2:emoji2-views:$emoji2_version")
    implementation("androidx.emoji2:emoji2-views-helper:$emoji2_version")
}

डिपेंडेंसी के बारे में ज़्यादा जानने के लिए, बिल्ड डिपेंडेंसी जोड़ना लेख पढ़ें.

सुझाव/राय दें या शिकायत करें

आपके सुझाव, शिकायत या राय से हमें Jetpack को बेहतर बनाने में मदद मिलती है. अगर आपको कोई नई समस्या मिलती है या इस लाइब्रेरी को बेहतर बनाने के लिए आपके पास कोई सुझाव है, तो हमें बताएं. नई लाइब्रेरी बनाने से पहले, कृपया इस लाइब्रेरी में मौजूद मौजूदा समस्याओं पर एक नज़र डालें. किसी मौजूदा समस्या पर अपना वोट जोड़ने के लिए, स्टार बटन पर क्लिक करें.

नई समस्या बनाना

ज़्यादा जानकारी के लिए, समस्या ट्रैकर का दस्तावेज़ देखें.

Emoji2 Emojipicker वर्शन 1.0

वर्शन 1.5.0

4 सितंबर, 2024

androidx.emoji2:emoji2-*:1.5.0 रिलीज़ हो गया है. वर्शन 1.5.0 में ये बदलाव शामिल हैं.

1.4.0 के बाद किए गए ज़रूरी बदलाव

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

वर्शन 1.0.0-alpha03

8 मार्च, 2023

androidx.emoji2:emoji2-emojipicker:1.0.0-alpha03 रिलीज़ हो गया है. 1.0.0-alpha03 वर्शन में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • लाइब्रेरी से ग़ैर-ज़रूरी संसाधन हटाए गए. साथ ही, लाइब्रेरी का साइज़ करीब 0.3 एमबी कम किया गया.

वर्शन 1.0.0-alpha02

22 फ़रवरी, 2023

androidx.emoji2:emoji2-emojipicker:1.0.0-alpha02 रिलीज़ हो गया है. 1.0.0-alpha02 वर्शन में ये बदलाव शामिल हैं.

एपीआई में हुए बदलाव

  • हाल ही में जोड़े गए इमोजी उपलब्ध कराने के लिए, Java क्लाइंट के लिए नया एपीआई जोड़ा गया है. (I39d10)

गड़बड़ियां ठीक की गईं

  • इमोजी 15.0 (Ib4eb3) के साथ काम करने के लिए, इमोजी संसाधनों को अपडेट करना
  • पॉप-अप विंडो से कोई इमोजी चुनने पर, उससे मिलते-जुलते सभी इमोजी को नए इमोजी से अपडेट कर दिया जाता है. हालांकि, हाल ही में इस्तेमाल किए गए इमोजी की लाइन में मौजूद इमोजी अपडेट नहीं होते. क्लिक करने पर, इमोजी का नाम भी सुनाई देगा. (I892c6)
  • EmojiPickerView दिखाने से पहले, emojicompat के लोड होने का इंतज़ार करें. (I29e03)

वर्शन 1.0.0-alpha01

25 जनवरी, 2023

androidx.emoji2:emoji2-emojipicker:1.0.0-alpha01 रिलीज़ हो गया है. 1.0.0-alpha01 वर्शन में ये कमिट शामिल हैं.

नई सुविधाएं

  • इमोजी पिकर की सुविधा जोड़ी गई है. इससे, Android OS वाले OEM डिवाइसों और ऐप्लिकेशन पर, नए इमोजी का इस्तेमाल करके एक जैसा अनुभव मिलता है. इसमें इमोजी की नई सुविधा और इमोजी पिकर का यूज़र इंटरफ़ेस (यूआई) मिलता है. इसमें स्किन के अलग-अलग रंग के विकल्प और इमोजी के साथ काम करने की सुविधा भी मिलती है.

एपीआई में हुए बदलाव

  • EmojiPickerView क्लास को जोड़ा गया है. इसमें, वर्टिकल स्क्रोल किए जा सकने वाले व्यू में अप-टू-डेट इमोजी दिखाए जाते हैं. साथ ही, इसमें क्लिक किए जा सकने वाले हॉरिज़ॉन्टल हेडर भी होते हैं.
  • इमोजी पिकर ग्रिड कॉलम, एक्सएमएल एट्रिब्यूट emojiGridColumns या फ़ंक्शन setEmojiGridColumns() की मदद से सेट किए जा सकते हैं.
  • इमोजी पिकर की ग्रिड की पंक्तियों को एक्सएमएल एट्रिब्यूट emojiGridRows या फ़ंक्शन setEmojiGridRows() की मदद से सेट किया जा सकता है.
  • इमोजी चुनने वाले लिसनर को setOnEmojiPickedListener() की मदद से सेट किया जा सकता है. जब भी उपयोगकर्ता किसी इमोजी पर क्लिक करेगा, तब लिसनर को सूचना दी जाएगी.
  • हाल ही में इमोजी उपलब्ध कराने वाली कंपनी को setRecentEmojiProvider() से दिखाया जा सकता है. यह सुविधा ज़रूरी नहीं है. अगर हाल ही में इस्तेमाल किए गए इमोजी की सेवा देने वाली कंपनी सेट नहीं की गई है, तो लाइब्रेरी में हाल ही में इस्तेमाल किए गए इमोजी की सेवा देने वाली डिफ़ॉल्ट कंपनी का इस्तेमाल किया जाएगा. डिफ़ॉल्ट रूप से, इमोजी के इस्तेमाल का तरीका इस तरह से तय होता है: 1) चुने गए सभी इमोजी, शेयर की गई सेटिंग में हर ऐप्लिकेशन के लेवल पर सेव किए जाएंगे. 2) पिकर में, चुने गए इमोजी की ज़्यादा से ज़्यादा तीन पंक्तियां दिखेंगी. इनमें डुप्लीकेट इमोजी नहीं होंगे और इन्हें पुराने से नए के क्रम में दिखाया जाएगा.
  • EmojiViewItem क्लास को जोड़ा गया है. इसमें दिखाए गए इमोजी और उसके वैरिएंट होते हैं.
  • RecentEmojiProvider इंटरफ़ेस जोड़ा गया है. इसका इस्तेमाल, हाल ही में इस्तेमाल किए गए इमोजी की सूची दिखाने के लिए किया जा सकता है. “हाल ही में इस्तेमाल किए गए” कैटगरी में इमोजी उपलब्ध कराने की ज़िम्मेदारी recentEmojiProvider की है.

वर्शन 1.6

वर्शन 1.6.0-alpha01

4 जून, 2025

androidx.emoji2:emoji2-*:1.6.0-alpha01 रिलीज़ हो गया है. वर्शन 1.6.0-alpha01 में ये कमिट शामिल हैं.

नई सुविधाएं

  • इमोजी 16.0 का डेटा अपडेट (Ifc878)
  • कॉन्टेंट के ब्यौरे में “emoji” सफ़िक्स जोड़ना

गड़बड़ियां ठीक की गईं

  • यह लाइब्रेरी अब JSpecify nullness एनोटेशन का इस्तेमाल करती है, जो टाइप-इस्तेमाल के लिए हैं. Kotlin डेवलपर को सही तरीके से इस्तेमाल करने के लिए, कंपाइलर के इन आर्ग्युमेंट का इस्तेमाल करना चाहिए: -Xjspecify-annotations=strict, -Xtype-enhancement-improvements-strict-mode (Id07e7, b/326456246)

संस्‍करण 1.5

वर्शन 1.5.0

4 सितंबर, 2024

androidx.emoji2:emoji2-*:1.5.0 रिलीज़ हो गया है. वर्शन 1.5.0 में ये बदलाव शामिल हैं.

1.4.0 के बाद किए गए ज़रूरी बदलाव

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

वर्शन 1.5.0-rc01

21 अगस्त, 2024

androidx.emoji2:emoji2-*:1.5.0-rc01 रिलीज़ हो गया है. वर्शन 1.5.0-rc01 में ये कमिट शामिल हैं.

नई सुविधाएं

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

गड़बड़ियां ठीक की गईं

  • नए प्लैटफ़ॉर्म के एपीआई को मैन्युअल तरीके से ऐक्सेस करने की सुविधा हटा दी गई है. ऐसा इसलिए किया गया है, क्योंकि AGP 7.3 या इसके बाद के वर्शन (उदाहरण के लिए, R8 वर्शन 3.3) के साथ R8 का इस्तेमाल करने पर, एपीआई मॉडलिंग की मदद से यह अपने-आप हो जाता है. साथ ही, AGP 8.1 या इसके बाद के वर्शन (उदाहरण के लिए, D8 वर्शन 8.1) का इस्तेमाल करने पर, सभी बिल्ड के लिए यह अपने-आप हो जाता है. जिन क्लाइंट ने AGP का इस्तेमाल नहीं किया है उन्हें D8 के 8.1 या उसके बाद के वर्शन पर अपडेट करने का सुझाव दिया जाता है. ज़्यादा जानकारी के लिए यह लेख देखें. (If6b4c, b/345472586)
  • EmojiPickerView के टैब के विकल्प और इंडिकेटर एक क्लिक के बाद अपडेट होते हैं. (146b02, b/288261054)
  • EmojiPickerView के टैब चुनने की सुविधा और इंडिकेटर काम नहीं कर रहा है. (5e1f14, b/273883688)

वर्शन 1.5.0-beta01

10 जुलाई, 2024

androidx.emoji2:emoji2-*:1.5.0-beta01 रिलीज़ हो गया है. वर्शन 1.5.0-beta01 में ये कमिट शामिल हैं.

नई सुविधाएं

  • इमोजी 15.1 और दोनों तरफ़ ले जाया जा सकने वाले इमोजी चुनने के यूज़र इंटरफ़ेस (यूआई) के साथ काम करता है.
  • एक से ज़्यादा स्किन टोन चुनने की सुविधा को फिर से डिज़ाइन किया गया है.

गड़बड़ियां ठीक की गईं

  • EmojiPickerView के टैब के विकल्प और इंडिकेटर एक क्लिक के बाद अपडेट होते हैं. (146b02, b/288261054)
  • EmojiPickerView के टैब चुनने की सुविधा और इंडिकेटर काम नहीं कर रहा है. (5e1f14, b/273883688)

वर्शन 1.5.0-alpha01

13 दिसंबर, 2023

androidx.emoji2:emoji2-*:1.5.0-alpha01 रिलीज़ हो गया है. 1.5.0-alpha01 वर्शन में ये बदलाव शामिल हैं.

नई सुविधाएं

  • emoji2-bundled में इमोजी 15.1 के साथ काम करने के लिए, अपडेट किया गया इमोजी फ़ॉन्ट शामिल है.

एपीआई में हुए बदलाव

  • InitCallback के लिए कॉलबैक थ्रेड को कंट्रोल करने के लिए, एक्ज़ीक्यूटर जोड़ें. (I32b67)
  • BundledEmojiCompatConfig अब थ्रेड लोड करने की प्रोसेस को कंट्रोल करने के लिए, एक एक्सीक्यूटर का इस्तेमाल करता है. (I00e81)

वर्शन 1.4

वर्शन 1.4.0

9 अगस्त, 2023

androidx.emoji2:emoji2-*:1.4.0 रिलीज़ हो गया है. 1.4.0 वर्शन में ये बदलाव शामिल हैं.

1.3.0 के बाद किए गए अहम बदलाव

वर्शन 1.4.0-rc01

26 जुलाई, 2023

androidx.emoji2:emoji2-*:1.4.0-rc01 रिलीज़ हो गया है. 1.4.0-rc01 वर्शन में ये बदलाव शामिल हैं.

एपीआई में हुए बदलाव

  • registerSource सूची को शामिल करना (Iae92f)
  • एपीआई काउंसिल का सुझाव: TransitionManager.seekTo() का नाम बदलकर createSeekController() कर दिया गया. कृपया TransitionManager.seekTo() को TransitionManager.createSeekController() में जोड़ने के बारे में पिछली टिप्पणी में बदलाव करें. (Idbeb1)
  • ExerciseRouteResult जोड़ा गया, जो Data, NoData, और ConsentRequiredStates के लिए सुपरक्लास नहीं है. ExerciseRoute को स्टैंडअलोन क्लास के तौर पर जोड़ा गया है. इसमें रास्ते की जगह की जानकारी का डेटा सेव होता है. (I22eed)
  • Pager में मेज़र पास होने के बाद इकट्ठा की गई जानकारी के साथ PagerLayoutInfo को पेश किया गया. साथ ही, PageInfo भी जोड़ा गया है. यह Pager में मेज़र किए गए किसी एक पेज के बारे में जानकारी देता है. (Iad003, b/283098900)

गड़बड़ियां ठीक की गईं

  • हमने Material3 डिज़ाइन के मुताबिक, Button, IconButton, और TextButton के रंग अपडेट कर दिए हैं. Button, IconButton, और TextButton के लिए सिमेंटिक भूमिका को अब Modifier.semantics का इस्तेमाल करके बदला जा सकता है. (Ib2495)
  • EmojiPickerView के टैब के चुने जाने और इंंडिकेटर के अपडेट होने में एक क्लिक का अंतर ठीक किया गया. (I4db04)
  • FileNotFoundException इमोजी पिकर दिखाने पर (I353e4)
  • EmojiPickerView का इस्तेमाल करते समय WindowManager.BadTokenException को पकड़ना (I0a144)

वर्शन 1.4.0-beta05

7 जून, 2023

androidx.emoji2:emoji2-*:1.4.0-beta05 रिलीज़ हो गया है. 1.4.0-beta05 वर्शन में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • 1.3 में आई एक गड़बड़ी को ठीक किया गया है. इसकी वजह से, RelativeSizeSpan जैसे MetricsAffectingSpans दो बार लागू हो जाते थे. टेक्स्ट लेआउट के दौरान एक बार और EmojiSpan.draw के अंदर फिर से. नतीजे का साइज़ गलत था. यह तब दिखता है, जब स्पैन की वजह से टेक्स्ट साइज़ के किसी पैरामीटर में बदलाव किया गया हो. (b/283208650)

वर्शन 1.4.0-beta04

24 मई, 2023

androidx.emoji2:emoji2-*:1.4.0-beta04 रिलीज़ हो गया है. 1.4.0-beta04 वर्शन में ये बदलाव शामिल हैं.

इस रिलीज़ में, 1.0 से मौजूद एक गड़बड़ी को ठीक किया गया है. इसमें, फ़ॉन्ट लोड होने के बाद इमोजी स्पैन को अपडेट करने की कोशिश करने पर, नॉन-मुख्य हैंडलर वाले व्यू में अपवाद दिखता था. इस गड़बड़ी को ठीक करने का कोई तरीका नहीं है. अगर इस गड़बड़ी का असर आप पर पड़ा है, तो कृपया इस वर्शन या इसके बाद के वर्शन पर अपग्रेड करें.

गड़बड़ियां ठीक की गईं

  • EmojiCompat init कॉलबैक अब हर व्यू के हैंडलर का इस्तेमाल करेंगे. साथ ही, वे मेन थ्रेड पर मौजूद व्यू का भी इस्तेमाल करेंगे. (Iccbcf)

वर्शन 1.4.0-beta03

10 मई, 2023

androidx.emoji2:emoji2-*:1.4.0-beta03 रिलीज़ हो गया है. 1.4.0-beta03 वर्शन में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • इमोजी पिकर के नेस्ट किए गए पॉप-अप व्यू के क्रैश होने की समस्या को ठीक किया गया. (0acc8e)
  • EmojiCompat getEmojiStart/getEmojiEnd में शुरुआती अपवाद डालें. (26177f)

वर्शन 1.4.0-beta02

19 अप्रैल, 2023

androidx.emoji2:emoji2-*:1.4.0-beta02 रिलीज़ हो गया है. 1.4.0-beta02 वर्शन में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • लिंट बेसलाइन फ़ाइलों को अपडेट करना (Iaa212)

वर्शन 1.4.0-beta01

5 अप्रैल, 2023

androidx.emoji2:emoji2-*:1.4.0-beta01 रिलीज़ हो गया है. 1.4.0-beta01 वर्शन में ये बदलाव शामिल हैं.

नई सुविधाएं

androidx.emoji2:emoji2-emojipicker

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

अप-टू-डेट इमोजी

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

स्टिकी वैरिएंट

किसी इमोजी को दबाकर रखने पर, उसके वैरिएंट का मेन्यू दिखेगा. जैसे, अलग-अलग लिंग या त्वचा के रंग. आपका चुना गया वैरिएंट, इमोजी पिकर में सेव हो जाएगा. साथ ही, आखिरी बार चुने गए वैरिएंट का इस्तेमाल मुख्य पैनल में किया जाएगा. इस सुविधा की मदद से, उपयोगकर्ता सिर्फ़ एक टैप से अपने पसंदीदा इमोजी के वैरिएंट भेज सकते हैं.

हाल ही में इस्तेमाल किए गए इमोजी

“हाल ही में इस्तेमाल किए गए” कैटगरी में इमोजी उपलब्ध कराने की ज़िम्मेदारी RecentEmojiProvider की है. लाइब्रेरी में, हाल ही में इस्तेमाल किए गए इमोजी की डिफ़ॉल्ट सेवा उपलब्ध होती है. यह सेवा, इमोजी के इस्तेमाल के सबसे सामान्य उदाहरणों के लिए काम करती है:

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

अगर यह डिफ़ॉल्ट तरीका आपके लिए सही है, तो आपको setRecentEmojiProvider() तरीका सेट करने की ज़रूरत नहीं है.

EmojiCompat के साथ काम करना

अगर ऐप्लिकेशन में EmojiCompat इंस्टेंस है, तो इमोजी पिकर में इसका इस्तेमाल करके, ज़्यादा से ज़्यादा इमोजी रेंडर किए जा सकेंगे. EmojiCompat बंद होने पर भी, इमोजी पिकर ठीक से काम करेगा.

लाइब्रेरी को इस्तेमाल करने का तरीका

लाइब्रेरी का इस्तेमाल करने के लिए, ऐप्लिकेशन डेवलपर को

  1. androidx.emoji2:emojipicker:$version को build.gradle में इंपोर्ट करें.

    dependencies {
      implementation "androidx.emoji2:emojipicker:$version"
    }
    
  2. इमोजी पिकर व्यू को बड़ा करें और हर इमोजी सेल के साइज़ के हिसाब से, emojiGridRows और emojiGridColumns को सेट करें

    • आपके पास इनके लिए कोई वैल्यू सेट न करने का विकल्प है. डिफ़ॉल्ट रूप से, इनकी वैल्यू 9 emojiGridColumns होती है. पंक्तियों की गिनती, पैरंट व्यू की ऊंचाई और emojiGridColumns के आधार पर की जाएगी
    • एक्सएमएल में नीचे की ओर स्क्रोल करने पर, ज़्यादा इमोजी दिखने के लिए, emojiGridRows को फ़्लोट के तौर पर सेट किया जा सकता है
     <androidx.emoji2.emojipicker.EmojiPickerView
      android:id="@+id/emoji_picker"
      android:layout_width="match_parent"
      android:layout_height="match_parent"
      app:emojiGridColumns="9" />
    

कोड में

    val emojiPickerView = EmojiPickerView(context).apply {
        emojiGridColumns = 15
        layoutParams = ViewGroup.LayoutParams(
            ViewGroup.LayoutParams.MATCH_PARENT,
            ViewGroup.LayoutParams.MATCH_PARENT
        )
    }
    findViewById<ViewGroup>(R.id.emoji_picker_layout).addView(emojiPickerView)
  1. अगर आपको चुने गए इमोजी को EditText में जोड़ना है, तो setOnEmojiPickedListener() का इस्तेमाल करें

      emojiPickerView.setOnEmojiPickedListener {
          findViewById<EditText>(R.id.edit_text).append(it.emoji)
      }
    
  2. इसके अलावा, RecentEmojiProvider को सेट करें. लागू करने के उदाहरण के लिए, सैंपल ऐप्लिकेशन देखें.

  3. स्टाइल को पसंद के मुताबिक बनाएं. हालांकि, यह ज़रूरी नहीं है. सामान्य थीम एट्रिब्यूट को बदलने के लिए, अपनी पसंद का स्टाइल बनाएं और उसे EmojiPickerView पर लागू करें. उदाहरण के लिए, colorControlNormal को बदलने पर, कैटगरी के आइकॉन का रंग बदल जाएगा.

      <style name="CustomStyle" >
          <item name="colorControlNormal">#FFC0CB</item>
      </style>
      <androidx.emoji2.emojipicker.EmojiPickerView
          android:id="@+id/emoji_picker"
          android:layout_width="match_parent"
          android:layout_height="match_parent"
          android:theme="@style/CustomStyle"
          app:emojiGridColumns="9" />
    

लागू करने का उदाहरण देखने के लिए, सैंपल ऐप्लिकेशन देखें.

एपीआई का पूरा प्लैटफ़ॉर्म यहां देखा जा सकता है.

सैंपल ऐप्लिकेशन

इस सैंपल ऐप्लिकेशन में, इस्तेमाल के बुनियादी उदाहरणों के साथ-साथ ये अन्य स्थितियां भी दिखाई गई हैं:

  • emojiGridRows और emojiGridColumns को रीसेट करने की वजह से, व्यू का लेआउट फिर से सेट हो गया.
  • फ़्रीक्वेंसी के हिसाब से क्रम में लगाने के लिए, इमोजी उपलब्ध कराने वाली हाल ही की कंपनी को बदल दिया जाता है.
  • स्टाइल को पसंद के मुताबिक बनाना.

एपीआई में हुए बदलाव

इमोजी पिकर लाइब्रेरी को इन नए एपीआई के साथ अपडेट किया गया है:

  • EmojiPickerView क्लास, जो वर्टिकल स्क्रोल किए जा सकने वाले व्यू में अप-टू-डेट इमोजी दिखाती है. साथ ही, इसमें क्लिक किए जा सकने वाले हॉरिज़ॉन्टल हेडर भी होते हैं.
  • एक्सएमएल एट्रिब्यूट emojiGridColumns और emojiGridRows या setEmojiGridColumns() और setEmojiGridRows() तरीकों की मदद से, इमोजी पिकर ग्रिड में कॉलम और लाइनों की संख्या सेट करने की सुविधा.
  • setOnEmojiPickedListener() तरीके से, इमोजी चुनने वाला लिसनर सेट करने की सुविधा. जब भी उपयोगकर्ता किसी इमोजी पर क्लिक करेगा, तो दर्शक को इसकी सूचना दी जाएगी.
  • setRecentEmojiProvider() तरीके से, इमोजी उपलब्ध कराने वाली नई कंपनी की जानकारी देना. यह सुविधा ज़रूरी नहीं है. अगर हाल ही में इस्तेमाल किए गए इमोजी की सेवा देने वाली कंपनी सेट नहीं की गई है, तो लाइब्रेरी में हाल ही में इस्तेमाल किए गए इमोजी की सेवा देने वाली डिफ़ॉल्ट कंपनी का इस्तेमाल किया जाएगा. डिफ़ॉल्ट तरीके को इस तरह से परिभाषित किया गया है:
    • चुने गए सभी इमोजी, शेयर की गई प्राथमिकताओं में हर ऐप्लिकेशन के लेवल पर सेव किए जाएंगे.
    • पिकर में, चुने गए इमोजी की ज़्यादा से ज़्यादा तीन पंक्तियां दिखेंगी. इनमें डुप्लीकेट इमोजी नहीं दिखेंगे. इन्हें समय के हिसाब से, सबसे हाल के से सबसे पुराने के क्रम में दिखाया जाएगा.
  • EmojiViewItem क्लास, जिसमें दिखाया गया इमोजी और उसके वैरिएंट मौजूद होते हैं.
  • RecentEmojiProvider इंटरफ़ेस, जिसे हाल ही में इस्तेमाल किए गए इमोजी की सूची दिखाने के लिए लागू किया जा सकता है. “हाल ही में इस्तेमाल किए गए” कैटगरी में इमोजी उपलब्ध कराने की ज़िम्मेदारी recentEmojiProvider की है.
  • RecentEmojiAsyncProvider इंटरफ़ेस, जिसे हाल ही में इस्तेमाल किए गए इमोजी की सूची दिखाने के लिए लागू किया जा सकता है. “हाल ही में इस्तेमाल किए गए” कैटगरी में इमोजी उपलब्ध कराने की ज़िम्मेदारी RecentEmojiAsyncProvider की है. यह इंटरफ़ेस RecentEmojiProvider जैसा ही है. इससे क्लाइंट, हाल ही में इस्तेमाल किए गए इमोजी दिखाने के लिए, getRecentEmojiListAsync() तरीके को बदल सकते हैं.
  • RecentEmojiProviderAdapter क्लास, जो RecentEmojiAsyncProvider के लिए अडैप्टर है और RecentEmojiProvider को लागू करती है.

वर्शन 1.4.0-alpha01

22 मार्च, 2023

androidx.emoji2:emoji2-*:1.4.0-alpha01 रिलीज़ हो गया है. 1.4.0-alpha01 वर्शन में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • टेस्ट ठीक करें, फ़्लेक टेस्ट बंद करें, और क्लीन अप करें.

वर्शन 1.3

वर्शन 1.3.0

22 मार्च, 2023

androidx.emoji2:emoji2-*:1.3.0 रिलीज़ हो गया है. 1.3.0 वर्शन में ये बदलाव शामिल हैं.

1.2.0 के बाद किए गए अहम बदलाव

  • इस रिलीज़ की मदद से, Compose Foundation 1.4.0 और इसके बाद के वर्शन में, इमोजी2 इंटिग्रेशन की सुविधा चालू की जा सकती है.
  • इसकी मदद से, EmojiSpans को पसंद के मुताबिक ड्रॉइंग कोड से बदला जा सकता है. साथ ही, Android पर तय किए गए इमोजी को हटाने की सुविधा भी मिलती है.

वर्शन 1.3.0-rc01

8 मार्च, 2023

androidx.emoji2:emoji2-*:1.3.0-rc01 रिलीज़ हो गया है. 1.3.0-rc01 वर्शन में ये कमिट शामिल हैं.

नई सुविधाएं

  • यह वर्शन, emoji2 compose इंटिग्रेशन के साथ काम करता है.

एपीआई में हुए बदलाव

  • कस्टम ड्रॉइंग कोड के लिए स्पैन बदलें.
  • सिस्टम से बाहर रखे गए आइटम के बारे में क्वेरी करना.

गड़बड़ियां ठीक की गईं

  • साथ ही, EmojiSopans के पीछे बैकग्राउंड स्पैन सही से लागू न होने की गड़बड़ी को ठीक किया गया है.

वर्शन 1.3.0-beta03

23 फ़रवरी, 2023

androidx.emoji2:emoji2-bundled:1.3.0-beta03, androidx.emoji2:emoji2-views:1.3.0-beta03, और androidx.emoji2:emoji2-views-helper:1.3.0-beta03 रिलीज़ हो गए हैं.

22 फ़रवरी, 2023

androidx.emoji2:emoji2:1.3.0-beta03 रिलीज़ हो गया है. 1.3.0-beta03 वर्शन में ये बदलाव शामिल हैं.

नई सुविधाएं

  • कोई परिवर्तन नहीं. इस रिलीज़ का मकसद, Compose के साथ इंटिग्रेशन की सुविधा को तैयार करना है.

वर्शन 1.3.0-beta02

8 फ़रवरी, 2023

androidx.emoji2:emoji2-*:1.3.0-beta02 रिलीज़ हो गया है. 1.3.0-beta02 वर्शन में ये बदलाव शामिल हैं.

नई सुविधाएं

  • इस रिलीज़ में, कॉम्पोज़ इंटिग्रेशन के साथ काम करने के लिए, ऐप्लिकेशन की स्थिरता को बेहतर बनाया गया है.

वर्शन 1.3.0-beta01

25 जनवरी, 2023

androidx.emoji2:emoji2-*:1.3.0-beta01 रिलीज़ हो गया है. 1.3.0-beta01 वर्शन में ये बदलाव शामिल हैं.

नई सुविधाएं

  • सिस्टम से बाहर रखे गए आइटम के बारे में क्वेरी करना.
  • कस्टम ड्रॉइंग कोड के लिए स्पैन बदलना.
  • साथ ही, EmojiSopans के पीछे बैकग्राउंड स्पैन सही से लागू न होने की गड़बड़ी को ठीक किया गया है.
  • इस रिलीज़ में, Compose में EmojiCompat के साथ काम करने के लिए ज़रूरी एपीआई जोड़े गए हैं. आने वाले समय में रिलीज़ होने वाले वर्शन में, इमोजी के साथ काम करने वाली 'लिखें' सुविधा उपलब्ध होगी.

वर्शन 1.3.0-alpha01

11 जनवरी, 2023

androidx.emoji2:emoji2-*:1.3.0-alpha01 रिलीज़ हो गया है. 1.3.0-alpha01 वर्शन में ये कमिट शामिल हैं.

कम लेवल के इंटरैक्शन के लिए नए एपीआई

  • सिस्टम से बाहर रखे गए कीवर्ड के बारे में क्वेरी करना
  • कस्टम ड्रॉइंग कोड के लिए स्पैन बदलना
  • साथ ही, EmojiSopans के पीछे बैकग्राउंड स्पैन सही से लागू न होने की गड़बड़ी को ठीक किया गया है.
  • इस रिलीज़ में, Compose में EmojiCompat के साथ काम करने के लिए ज़रूरी एपीआई जोड़े गए हैं. आने वाले समय में रिलीज़ होने वाले वर्शन में, इमोजी के साथ काम करने वाली 'लिखें' सुविधा उपलब्ध होगी.

एपीआई में हुए बदलाव

  • TypefaceEmojiRasterizer में, सिस्टम एक्सक्लूज़न के बारे में क्वेरी करने की सुविधा जोड़ी गई है. (I5653e)
  • डिफ़ॉल्ट EmojiSpan व्यवहार को कस्टम ड्रॉइंग और साइज़िंग कोड से बदलने के लिए, नया एपीआई EmojiCompat.SpanFactory जोड़ा गया है. (Ib69d9)
  • लिखें में EmojiCompat जोड़ा गया (I96f37, b/139326806)

गड़बड़ियां ठीक की गईं

  • Emoji2 अब BackgroundSpan से बैकग्राउंड को सही तरीके से ड्रॉ करेगा. (Ide6a8, b/230525134)
  • 1.5.0-beta01 (I2a43d, b/236866227) के लिए, AppCompat API को फ़ाइनल करना

वर्शन 1.2

वर्शन 1.2.0

10 अगस्त, 2022

androidx.emoji2:emoji2-*:1.2.0 रिलीज़ हो गया है. 1.2.0 वर्शन में ये बदलाव शामिल हैं.

1.1.0 के बाद किए गए अहम बदलाव

यह गड़बड़ी ठीक करने के लिए रिलीज़ किया गया वर्शन है. 1.1.0 के बाद से कोई नई सुविधा या एपीआई नहीं जोड़ा गया है.

हालांकि, PrecomputedText या TextView.setText(char[]) का इस्तेमाल करने वाले ऐप्लिकेशन को इस वर्शन पर अपग्रेड करना चाहिए.

ये गड़बड़ियां ठीक की गईं:

  • Emoji2, पहले से तय किए गए टेक्स्ट लेआउट को खारिज करके, PrecomputedText में इमोजी जोड़ देगा. (I47d06, b/211231958)
  • Android P से EditText पर, एडिटर के क्रैश होने की समस्या को ठीक करने की सुविधा को बैकपोर्ट किया गया है. यह सुविधा, emoji2 का इस्तेमाल करने के लिए कॉन्फ़िगर की गई है. (Ifd709, b/216891011)
  • emoji2 फ़ॉन्ट लोड करने और TextView.setText(char[]) का इस्तेमाल करने पर क्रैश होने की समस्या को ठीक किया गया. (Id511e, b/206859724)

वर्शन 1.2.0-rc01

27 जुलाई, 2022

androidx.emoji2:emoji2-*:1.2.0-rc01 रिलीज़ हो गया है. 1.2.0-rc01 वर्शन में ये बदलाव शामिल हैं.

  • पिछले बीटा वर्शन के बाद से कोई बदलाव नहीं हुआ है.

वर्शन 1.2.0-beta01

13 जुलाई, 2022

androidx.emoji2:emoji2-*:1.2.0-beta01 रिलीज़ हो गया है. 1.2.0-beta01 वर्शन में ये बदलाव शामिल हैं.

नई सुविधाएं

  • पिछले वर्शन में कोई बदलाव नहीं हुआ है. यह रिलीज़, AppCompat रिलीज़ के साथ काम करने के लिए है.

वर्शन 1.2.0-alpha04

20 अप्रैल, 2022

androidx.emoji2:emoji2-*:1.2.0-alpha04 रिलीज़ हो गया है. 1.2.0-alpha04 वर्शन में ये बदलाव शामिल हैं.

नई सुविधाएं

  • इस रिलीज़ में कोई बदलाव नहीं हुआ है.

वर्शन 1.2.0-alpha03

6 अप्रैल, 2022

androidx.emoji2:emoji2-*:1.2.0-alpha03 रिलीज़ हो गया है. 1.2.0-alpha03 वर्शन में ये बदलाव शामिल हैं.

नई सुविधाएं

  • पिछले वर्शन में कोई बदलाव नहीं हुआ है. यह रिलीज़, appcompat रिलीज़ के साथ काम करने के लिए है.

वर्शन 1.2.0-alpha02

23 मार्च, 2022

androidx.emoji2:emoji2-*:1.2.0-alpha02 रिलीज़ हो गया है. 1.2.0-alpha02 वर्शन में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • Emoji2, पहले से तय किए गए टेक्स्ट लेआउट को हटाकर, PrecomputedText में इमोजी जोड़ देगा. (I47d06, b/211231958)
  • Android P से EditText में, क्रैश होने वाले एडिटर को ठीक करने की सुविधा को बैकपोर्ट किया गया है. यह सुविधा, emoji2 का इस्तेमाल करने के लिए कॉन्फ़िगर की गई है. (Ifd709, b/216891011)
  • emoji2 फ़ॉन्ट लोड करने और TextView.setText(char[]) का इस्तेमाल करने पर क्रैश होने की समस्या को ठीक किया गया. (Id511e, b/206859724)

वर्शन 1.2.0-alpha01

23 फ़रवरी, 2022

androidx.emoji2:emoji2-*:1.2.0-alpha01 रिलीज़ हो गया है. 1.2.0-alpha01 वर्शन में ये बदलाव शामिल हैं.

1.1.0 के बाद से कोई बदलाव नहीं हुआ है.

1.1

वर्शन 1.1.0

23 फ़रवरी, 2022

androidx.emoji2:emoji2-*:1.1.0 रिलीज़ हो गया है. 1.1.0 वर्शन में ये बदलाव शामिल हैं.

1.0.0 के बाद किए गए अहम बदलाव

  • emoji2-bundled में इमोजी 14 फ़ॉन्ट शामिल है
  • नया getEmojiMatch API, कीबोर्ड के लिए सटीक जानकारी दिखाता है. इससे यह तय किया जा सकता है कि सिस्टम फ़ॉन्ट के पीछे मौजूद emojicompat फ़ॉन्ट की मौजूदगी में, इमोजी कैसे दिखेगा
  • NumberKeyListener के लिए गड़बड़ी ठीक की गई, जिससे अंकों के इनपुट से वर्णों को सही तरीके से फ़िल्टर किया जा सके.

वर्शन 1.1.0-rc01

9 फ़रवरी, 2022

androidx.emoji2:emoji2-*:1.1.0-rc01 रिलीज़ हो गया है. 1.1.0-rc01 वर्शन में ये बदलाव शामिल हैं.

नई सुविधाएं

बीटा वर्शन की तुलना में कोई बदलाव नहीं किया गया है.

emoji2 1.0.0 की तुलना में नई सुविधाएं:

  • emoji2-bundled एट्रिब्यूट की वैल्यू के तौर पर दिए गए टेक्स्ट में इमोजी 14 फ़ॉन्ट शामिल है
  • नया getEmojiMatch API, कीबोर्ड के लिए सटीक जानकारी दिखाता है. इससे यह तय किया जा सकता है कि सिस्टम फ़ॉन्ट के पीछे मौजूद emojicompat फ़ॉन्ट की मौजूदगी में, इमोजी कैसे दिखेगा
  • NumberKeyListener में मौजूद गड़बड़ी को ठीक किया गया है. इससे अंकों के इनपुट से, वर्णों को सही तरीके से फ़िल्टर किया जा सकेगा

वर्शन 1.1.0-beta01

26 जनवरी, 2022

androidx.emoji2:emoji2-*:1.1.0-beta01 रिलीज़ हो गया है. 1.1.0-beta01 वर्शन में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • androidx-emoji2 beta01 रिलीज़. alpha01 (Ic61d9) से कोई बदलाव नहीं

वर्शन 1.1.0-alpha01

15 दिसंबर, 2021

androidx.emoji2:emoji2-*:1.1.0-alpha01 रिलीज़ हो गया है. 1.1.0-alpha01 वर्शन में ये बदलाव शामिल हैं.

नई सुविधाएं

  • emoji2-bundled एट्रिब्यूट की वैल्यू के तौर पर दिए गए टेक्स्ट में इमोजी 14 फ़ॉन्ट शामिल है
  • नया getEmojiMatch API, कीबोर्ड के लिए सटीक जानकारी दिखाता है. इससे यह तय किया जा सकता है कि सिस्टम फ़ॉन्ट के पीछे मौजूद emojicompat फ़ॉन्ट की मौजूदगी में, इमोजी कैसे दिखेगा
  • NumberKeyListener में मौजूद गड़बड़ी को ठीक किया गया है. इससे अंकों के इनपुट से, वर्णों को सही तरीके से फ़िल्टर किया जा सकेगा

एपीआई में हुए बदलाव

  • emojicompat में, इमोजी मैच करने के व्यवहार को ज़्यादा सटीक तरीके से लुकअप करने के लिए, नया एपीआई getEmojiMatch जोड़ें.
  • hasEmojiGlyph का इस्तेमाल बंद करें, क्योंकि प्लैटफ़ॉर्म के इमोजी फ़ॉन्ट से पुराने फ़ॉन्ट के लिए, इसकी बूलियन रिटर्न वैल्यू गलत होती है. इसे getEmojiMatch से बदलें. (Ie693d)

गड़बड़ियां ठीक की गईं

  • Emoji2, NumberKeyListener के इंस्टेंस को रैप नहीं करेगा. इससे TextView की मदद से, स्थानीय भाषा को कॉन्फ़िगर किया जा सकता है.
  • Appcompat, setKeyListener को पास किए गए NumberKeyListener के इंस्टेंस को रैप नहीं करेगा. इससे TextView, NumberKeyListeners पर स्थानीय भाषा को सही तरीके से कॉन्फ़िगर कर पाएगा. (Ibf113, b/207119921)

1.0

वर्शन 1.0.1

15 दिसंबर, 2021

androidx.emoji2:emoji2-*:1.0.1 रिलीज़ हो गया है. 1.0.1 वर्शन में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • Emoji2, NumberKeyListener के इंस्टेंस को रैप नहीं करेगा. इससे TextView की मदद से, स्थानीय भाषा को कॉन्फ़िगर किया जा सकता है.
  • Appcompat, setKeyListener को पास किए गए NumberKeyListener के इंस्टेंस को रैप नहीं करेगा. इससे TextView, NumberKeyListeners पर स्थानीय भाषा को सही तरीके से कॉन्फ़िगर कर पाएगा. (Ibf113, b/207119921)

वर्शन 1.0.0

17 नवंबर, 2021

androidx.emoji2:emoji2-*:1.0.0 रिलीज़ हो गया है. 1.0.0 वर्शन में ये बदलाव शामिल हैं.

1.0.0 के मुख्य फ़ीचर

androidx.emoji2, androidx.emoji की जगह लेता है. इसमें कुछ और सुविधाएं भी हैं:

  • APK के साइज़ में कमी बनाम androidx.emoji
  • अपने-आप कॉन्फ़िगर होना
  • appcompat 1.4 में डिपेंडेंसी के तौर पर जोड़ा गया

androidx.emoji2 के बारे में ज़्यादा जानकारी के लिए, नए इमोजी का इस्तेमाल करना लेख पढ़ें. साथ ही, Android डेवलपर समिट में दी गई हमारी बातचीत अपने ऐप्लिकेशन में सभी इमोजी दिखाना Android डेवलपर देखें.

वर्शन 1.0.0-rc01

27 अक्टूबर, 2021

androidx.emoji2:emoji2-*:1.0.0-rc01 रिलीज़ हो गया है. 1.0.0-rc01 वर्शन में ये कमिट शामिल हैं.

  • beta02 के बाद से कोई बदलाव नहीं हुआ है.

Emoji2 वर्शन 1.0.0-beta01

15 सितंबर, 2021

androidx.emoji2:emoji2-*:1.0.0-beta01 रिलीज़ हो गया है. 1.0.0-beta01 वर्शन में ये बदलाव शामिल हैं.

एपीआई में हुए बदलाव

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

    यह बदलाव, androidx.emoji:emoji के मुकाबले एक बड़ा बदलाव है. इसलिए, माइग्रेशन में मदद करने के लिए, setHandler को काम न करने वाले पुराने API के तौर पर बनाए रखा गया है. (I6cd48)

  • EmojiCompat, Android 11 पर EditorInfo.extras को सही तरीके से सेट करता है

    • ऐसे कस्टम विजेट जो EditText की सबक्लास के तौर पर काम न करने वाले IME का इस्तेमाल करते हैं, वे IME को यह बताने के लिए EmojiCompat.updateEditorInfo को कॉल कर सकते हैं कि वे EmojiCompat प्रोसेसिंग के साथ काम करते हैं. (I1ea9b)

गड़बड़ियां ठीक की गईं

  • एपीआई 19 और 28 पर इमोजी फ़ॉन्ट की सेवा देने वाली कंपनी को सही तरीके से खोजने के लिए, DefaultEmojiCompatConfig को ठीक करें. इससे emoji2 1.0.0-alpha01 में आई एक गड़बड़ी ठीक हो जाती है. (Ib33d8, b/197906329)

वर्शन 1.0.0-alpha03

30 जून, 2021

androidx.emoji2:emoji2-*:1.0.0-alpha03 रिलीज़ हो गया है. 1.0.0-alpha03 वर्शन में ये बदलाव शामिल हैं.

नई सुविधाएं

इस रिलीज़ में गड़बड़ियां ठीक की गई हैं और ऐप्लिकेशन की स्थिरता को बेहतर बनाया गया है.

  1. EmojiEditTextHelper अब null को KeyListener के तौर पर पास करने की अनुमति देता है. इससे, प्लैटफ़ॉर्म को इमोजी के साथ काम करने वाले EditText लागू करने के लिए, शून्य वैल्यू लागू करने की अनुमति मिलती है.
  2. EmojiCompatInitializer का इस्तेमाल करने पर, पहली ऐक्टिविटी फिर से शुरू होने के बाद ट्रिगर करने के लिए, शुरुआती स्टार्टअप में लगने वाले समय को बेहतर बनाया गया है. इससे ऐप्लिकेशन को बिना किसी रुकावट के शुरू किया जा सकता है. साथ ही, ऐसे ऐप्लिकेशन के लिए फ़ॉन्ट लोड होने से बचा जा सकता है जो कभी यूज़र इंटरफ़ेस (यूआई) नहीं दिखाते. कुछ देर बाद, EmojiCompat इमोजी फ़ॉन्ट लोड करने के लिए एक थ्रेड बनाएगा.
  • देरी लागू करने के लिए, androidx.emoji2:emoji2 से androidx.lifecycle:lifecycle-process पर एक नई डिपेंडेंसी जोड़ी गई है. जिन ऐप्लिकेशन में पहले से लाइफ़साइकल शामिल है उन पर APK के साइज़ पर इसका बहुत कम असर पड़ेगा. जैसे, appcompat वाले ऐप्लिकेशन.

एपीआई में हुए बदलाव

  • AppCompatEditText में null KeyListener की अनुमति दें. इससे, 1.4.0-alpha01 में AppCompatEditText में जोड़ा गया, नॉन-नल एनोटेशन हट जाता है. साथ ही, नल पास करने पर, पहले जैसा व्यवहार वापस आ जाता है. (I21482, b/189559345)

गड़बड़ियां ठीक की गईं

  • EmojiCompatInitializer को बदलकर, फ़ॉन्ट लोड होने में लगने वाले समय को पहले Activity.onResume के 500 मिलीसेकंड बाद तक बढ़ाएं. इससे किसी गतिविधि को Application.onCreate और Activity.onCreate को बिना किसी रुकावट के पूरा करने में मदद मिलती है. साथ ही, यह भी पक्का किया जाता है कि ऐप्लिकेशन के शुरू होने के कुछ समय बाद इमोजी फ़ॉन्ट लोड हो जाए. (I4bff7)

वर्शन 1.0.0-alpha02

2 जून, 2021

androidx.emoji2:emoji2:1.0.0-alpha02, androidx.emoji2:emoji2-views:1.0.0-alpha02, और androidx.emoji2:emoji2-views-helper:1.0.0-alpha02 रिलीज़ हो गए हैं. 1.0.0-alpha02 वर्शन में ये बदलाव शामिल हैं.

एपीआई में हुए बदलाव

  • emoji2-views-helper में मौजूद पैकेज का नाम बदलकर androidx.emoji2.viewsintegration किया गया. यह बदलाव, AppCompat 1.4.0-alpha01 के लिए एक बड़ा बदलाव है. साथ ही, ऐप्लिकेशन को यह पक्का करना होगा कि emoji2 के नए वर्शन का इस्तेमाल करने के लिए, AppCompat की डिपेंडेंसी अपडेट हो. (Ie8397)

वर्शन 1.0.0-alpha01

18 मई, 2021

androidx.emoji2:emoji2:1.0.0-alpha01, androidx.emoji2:emoji2-views:1.0.0-alpha01, और androidx.emoji2:emoji2-views-helper:1.0.0-alpha01 रिलीज़ हो गए हैं. 1.0.0-alpha01 वर्शन में ये कमिट शामिल हैं.

इस शुरुआती रिलीज़ में उपलब्ध सुविधाएं

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

EmojiCompat को androidx.emoji आर्टफ़ैक्ट से हटाकर, नए androidx.emoji2 में ले जाया गया है. यह अब alpha01 में है. नए आर्टफ़ैक्ट, पुराने वर्शन की जगह ले लेते हैं.

emoji2 को AppCompat 1.4.0-alpha01 से शुरू होने वाले AppCompat में डिपेंडेंसी के तौर पर जोड़ा गया है. साथ ही, यह AppCompat व्यू के लिए डिफ़ॉल्ट रूप से चालू रहता है.

emoji2 आर्टफ़ैक्ट में, androidx.startup लाइब्रेरी का इस्तेमाल करके, अपने-आप कॉन्फ़िगर होने की नई सुविधा जोड़ी गई है. अब आपको 🐻‍❄️ दिखाने के लिए, कोई 👨🏽‍💻 कोड लिखने की ज़रूरत नहीं है.

emoji से emoji2 में हुए बदलाव

  • androidx.startup का इस्तेमाल करके, अपने-आप कॉन्फ़िगर होने की नई सुविधा EmojiCompatInitializer जोड़ी गई.
  • नया डिफ़ॉल्ट कॉन्फ़िगरेशन जोड़ा गया है. यह DefaultEmojiCompatConfiguration में, डाउनलोड किए जा सकने वाले फ़ॉन्ट की सेवा देने वाली कंपनी ढूंढने के लिए, सेवा की जगह की जानकारी का इस्तेमाल करता है.
  • क्लास को androidx.emoji पैकेज से androidx.emoji2 में ले जाया गया.
  • EmojiTextView और उससे जुड़े व्यू को अलग आर्टफ़ैक्ट emoji2-views में बांटें. इसका इस्तेमाल सिर्फ़ तब किया जाना चाहिए, जब आपका ऐप्लिकेशन appcompat का इस्तेमाल न करता हो.
  • emojicompat को कस्टम व्यू में इंटिग्रेट करने के लिए, अलग-अलग आर्टफ़ैक्ट emoji2-views-helper में हेल्पर निकाले गए.
  • वैल्यू न होने की जानकारी देने वाले एनोटेशन जोड़े गए हैं.
  • emoji2-views-helper में मौजूद हेल्पर का इस्तेमाल, अब EmojiCompat के शुरू न होने पर भी किया जा सकता है. पहले, ऐसा करने पर अपवाद दिखता था.

आपको कौनसी डिपेंडेंसी जोड़नी चाहिए?

  • AppCompat का इस्तेमाल करने वाले ऐप्लिकेशन को AppCompat 1.4.0-alpha01 या उसके बाद के वर्शन पर अपग्रेड करना चाहिए.
  • जिन ऐप्लिकेशन में AppCompat नहीं है और जो प्लैटफ़ॉर्म से TextView/EditText का इस्तेमाल करते हैं उन्हें emoji2-views से EmojiTextView और उससे जुड़ी क्लास का इस्तेमाल करना चाहिए.

कस्टम व्यू में सपोर्ट कैसे करें

  • AppCompat वाले ऐप्लिकेशन को प्लैटफ़ॉर्म TextView वगैरह के बजाय, AppCompatTextView, AppCompatButton वगैरह को एक्सटेंड करना चाहिए.
  • जिन ऐप्लिकेशन में AppCompat नहीं है उन्हें androidx.emoji2:emoji2-views-helper डिपेंडेंसी जोड़नी चाहिए. साथ ही, कस्टम TextView या EditText सबक्लास के साथ इंटिग्रेट करने के लिए, हेल्पर का इस्तेमाल करना चाहिए.

अपने-आप शुरू होने की सुविधा को कॉन्फ़िगर करना

  • ऐप्लिकेशन, मेनिफ़ेस्ट में यह जोड़कर अपने-आप शुरू होने की सुविधा को बंद कर सकते हैं:

     <provider
         android:name="androidx.startup.InitializationProvider"
         android:authorities="${applicationId}.androidx-startup"
         android:exported="false"
         tools:node="merge">
         <meta-data android:name="androidx.emoji2.text.EmojiCompatInitializer"
                   tools:node="remove" />
     </provider>
    
  • इससे, अपने-आप कॉन्फ़िगर होने की सुविधा बंद हो जाती है. इसके बाद, EmojiCompat.init को कस्टम कॉन्फ़िगरेशन पास किया जा सकता है. EmojiCompat.init पर भेजने से पहले, सिस्टम के लिए डिफ़ॉल्ट कॉन्फ़िगरेशन को DefaultEmojiCompatConfig.create(context) से वापस पाया जा सकता है.