Emoji2

इमोजी को मौजूदा और पुराने डिवाइसों में दिखाएं.
नया अपडेट स्टेबल रिलीज़ रिलीज़ कैंडिडेट बीटा रिलीज़ ऐल्फ़ा रिलीज़
23 सितंबर, 2026 1.7.0 - - -

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

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

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

Groovy

dependencies {
    def emoji2_version = "1.7.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.7.0"

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

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

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

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

नई समस्या दर्ज करने का तरीका

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

वर्शन 1.7

वर्शन 1.7.0

23 सितंबर, 2026

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

1.6.0 के बाद हुए अहम बदलाव:

  1. डिफ़ॉल्ट रूप से EmojiCompat बंद होती है. Android 15 और इसके बाद के वर्शन पर, EmojiCompat डिफ़ॉल्ट रूप से बंद होती है.
  2. परफ़ॉर्मेंस में सुधार किए गए. टेक्स्ट स्कैन करने की सुविधा, 4 से 6 गुना ज़्यादा तेज़ी से काम करती है. साथ ही, स्टार्टअप के लिए किए जाने वाले आवंटन में 99.6% की गिरावट आई है.
  3. minSdk अब 24 है.

EmojiCompat Android 15 और इसके बाद के वर्शन पर डिफ़ॉल्ट रूप से बंद होता है

एपीआई 35 और इसके बाद के वर्शन पर, सिस्टम में अपडेट किए जा सकने वाले सिस्टम फ़ॉन्ट की सुविधा होती है. इसलिए, ज़्यादातर ऐप्लिकेशन के लिए EmojiCompat कुछ नहीं करता.

इस सुविधा को कॉन्फ़िगर करने के लिए, नया एपीआई EmojiCompat.Config.setUseAfterUpdatableSystemFonts(boolean) है. साथ ही, यह डिफ़ॉल्ट रूप से false पर सेट होता है. इस सुविधा के बंद होने पर, Android 15 और इसके बाद के वर्शन पर EmojiCompat बंद हो जाता है. साथ ही, आपका ऐप्लिकेशन Updatable System Fonts के ज़रिए इंस्टॉल किए गए सिस्टम फ़ॉन्ट का इस्तेमाल करके इमोजी बनाता है.

EmojiCompat के बंद होने का पता लगाने के लिए कोई एपीआई नहीं है. साथ ही, setUseAfterUpdatableSystemFonts के false होने पर भी getLoadState(), LOAD_STATE_SUCCEEDED दिखाता है.

Android 15 और इसके बाद के वर्शन पर, नए फ़्लैग के साथ फिर से चालू करना
EmojiCompat.init(
    FontRequestEmojiCompatConfig(context, fontRequest)
        .setUseAfterUpdatableSystemFonts(true)
)

टेक्स्ट को ज़्यादा तेज़ी से स्कैन किया जा सकता है

टेक्स्ट पार्स करना और स्टार्टअप के लिए संसाधन उपलब्ध कराना:

p50 1.6.0 1.7.0
pureLatin 16.43 µs 2.66 µs
latinWithOneSimpleEmoji 12.13 µs 2.43 µs
latinWithOneComplexEmoji 13.42 µs 3.11 µs

स्टार्टअप के लिए किए गए आवंटन में 99.6% की गिरावट आई है. मेमोरी के इस्तेमाल में भी कमी आई है.

Android 15 या इसके बाद के वर्शन पर, जब setUseAfterUpdatableSystemFonts की वैल्यू false (डिफ़ॉल्ट) होती है, तब EmojiCompat में खाली तरीके से कॉल करने पर कोई शुल्क नहीं लगता. साथ ही, यह मेमोरी में इमोजी का कोई मेटाडेटा सेव नहीं करता.

minSdk 24 है

minSdk अब 24 है.

वर्शन 1.7.0-rc01

09 सितंबर, 2026

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

इस रिलीज़ में, परफ़ॉर्मेंस को बेहतर बनाने पर फ़ोकस किया गया है. हमारा सुझाव है कि emoji2 का इस्तेमाल करने वाले सभी लोग इसे डाउनलोड करें.

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

  • compileSdk के लिए, Compose लाइब्रेरी को 37.1 पर अपडेट किया गया है. इसके लिए, Compose का इस्तेमाल करने वाले सभी ऐप्लिकेशन और लाइब्रेरी के लिए, compileSdk को ट्रांज़िटिव तरीके से अपडेट करना होगा. (I05b0f)

वर्शन 1.7.0-alpha01

26 अगस्त, 2026

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

** परफ़ॉर्मेंस रिलीज़ **

यह रिलीज़, पिछली रिलीज़ की तुलना में परफ़ॉर्मेंस को बेहतर बनाती है.

• मेमोरी फ़ुटप्रिंट कम हुआ: मेटाडेटा ट्राइ के लिए रैम का इस्तेमाल ~2.2 एमबी से घटाकर ~80 केबी कर दिया गया है.
• स्टार्टअप ओवरहेड कम हुआ: स्टार्टअप ऑब्जेक्ट के लिए मेमोरी का इस्तेमाल 24,178 से घटकर 82 हो गया है.
• बिना किसी रुकावट के टेक्स्ट स्कैन करना: स्टैंडर्ड लैटिन टेक्स्ट को स्कैन करने के लिए, अब किसी भी तरह का डेटा ट्रांसफ़र नहीं किया जाता है.
• इंतज़ार के समय में कमी: लैटिन टेक्स्ट को स्कैन करने में लगने वाले औसत समय में 83% तक की कमी आई है. यह समय 16.43 µs से घटकर 2.66 µs हो गया है.
• API 35 और इसके बाद के वर्शन पर अपने-आप बायपास होने की सुविधा: सिस्टम अपडेट किए जा सकने वाले फ़ॉन्ट वाले डिवाइसों पर, EmojiCompat प्रोसेसिंग अपने-आप बायपास हो जाती है.

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

  • EmojiCompat.Config में setUseAfterUpdatableSystemFonts जोड़ा गया है, ताकि Android 15 (एपीआई 35) और इसके बाद के वर्शन वाले डिवाइसों पर EmojiCompat का इस्तेमाल जारी रखा जा सके. ऐसा तब भी किया जा सकता है, जब सभी डिवाइसों पर अपडेट किए जा सकने वाले सिस्टम फ़ॉन्ट उपलब्ध हों. डिफ़ॉल्ट वैल्यू, API35+ पर EmojiCompat को बंद कर देगी. इससे मेमोरी और टेक्स्ट प्रोसेसिंग में लगने वाला समय कम हो जाएगा. (I7235e, b/541363642)

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

  • Emoji2 पिकर - Compose compileSdk को API 37 पर अपडेट किया गया. इसका मतलब है कि Compose का इस्तेमाल करने के लिए, AGP का कम से कम 9.2.0 वर्शन होना ज़रूरी है. (Id45cd, b/413674743)

वर्शन 1.6

वर्शन 1.6.0

10 सितंबर, 2025

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

1.5.0 के बाद हुए अहम बदलाव:

  • इमोजी 16.0 के साथ काम करता है
  • इमोजी के कॉन्टेंट के ब्यौरे में “इमोजी” सफ़िक्स जोड़ें.

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

वर्शन 1.6.0-rc01

13 अगस्त, 2025

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

नई सुविधाएं

  • इमोजी 16.0 के साथ काम करता है. साथ ही, कॉन्टेंट के ब्यौरे में “इमोजी” सफ़िक्स जोड़ा गया है.

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

  • पुराने हो चुके @RequiresApi(21) एनोटेशन हटाना (Ic4792)
  • पुराने हो चुके @RequiresApi(21) एनोटेशन हटाए जा रहे हैं (I9103b)

वर्शन 1.6.0-beta01

2 जुलाई, 2025

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

नई सुविधाएं

  • Emoji 16.0 के अपडेट के लिए सहायता
  • कॉन्टेंट के ब्यौरे में “इमोजी” सफ़िक्स जोड़ें, ताकि यह पक्का किया जा सके कि सभी इमोजी पिकर ऐप्लिकेशन में, ऐक्सेस करने से जुड़ी सुविधा एक जैसी हो.

वर्शन 1.6.0-alpha01

4 जून, 2025

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

नई सुविधाएं

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

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

  • यह लाइब्रेरी अब 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 में, Emoji 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() कर दिया गया है. Please adjust previous comment about adding TransitionManager.seekTo() to TransitionManager.createSeekController(). (Idbeb1)
  • ExerciseRouteResult को जोड़ा गया है, जो Data, NoData, और ConsentRequiredStates के लिए सुपरक्लास नहीं है. ExerciseRoute को एक स्टैंडअलोन क्लास के तौर पर जोड़ा गया है. इसमें रास्ते की जगह की जानकारी का डेटा होता है. (I22eed)
  • हमने PagerLayoutInfo को लॉन्च किया है. इसमें Pager में मेज़रमेंट पास होने के बाद इकट्ठा की गई जानकारी शामिल है. साथ ही, PageInfo को भी पेश किया गया है. यह Pager में मेज़र किए गए किसी पेज के बारे में जानकारी देता है. (Iad003, b/283098900)

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

  • हमने Material3 डिज़ाइन के हिसाब से, Button, IconButton, और TextButton के रंगों को अपडेट किया है. अब Modifier.semantics का इस्तेमाल करके, Button, IconButton, और TextButton के लिए सिमेंटिक भूमिका को बदला जा सकता है. (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 वर्शन में आई उस गड़बड़ी को ठीक कर दिया है जिसकी वजह से MetricsAffectingSpans जैसे कि RelativeSizeSpan दो बार लागू हो जाता था. टेक्स्ट लेआउट के दौरान एक बार और 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    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 को रीसेट करने की वजह से, व्यू को फिर से लेआउट किया गया.
  • इमोजी उपलब्ध कराने वाली हाल ही की सेवा को फ़्रीक्वेंसी के हिसाब से क्रम में लगाने के लिए बदला जाता है.
  • स्टाइल को पसंद के मुताबिक बनाने की सुविधा.

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

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

  • 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 और इसके बाद के वर्शन में, emoji2 इंटिग्रेशन की सुविधा चालू की जा सकती है.
  • यह EmojiSpans को कस्टम ड्राइंग कोड से बदलने की सुविधा भी देता है. साथ ही, Android पर तय किए गए इमोजी को शामिल न करने की सुविधा भी देता है.

वर्शन 1.3.0-rc01

8 मार्च, 2023

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

नई सुविधाएं

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

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

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

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

  • साथ ही, उस गड़बड़ी को ठीक किया गया है जिसमें 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 में ये बदलाव शामिल हैं.

नई सुविधाएं

  • कोई परिवर्तन नहीं. यह रिलीज़, कंपोज़ इंटिग्रेशन के लिए तैयार की गई है.

वर्शन 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)
  • Compose में EmojiCompat जोड़ा गया (I96f37, b/139326806)

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

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

वर्शन 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 में एडिटर के क्रैश होने की समस्या को ठीक करने के लिए, इमोजी2 का इस्तेमाल करने के लिए कॉन्फ़िगर किया गया है. (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 में ये बदलाव शामिल हैं.

नई सुविधाएं

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

वर्शन 1.2.0-alpha02

23 मार्च, 2022

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

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

  • Emoji2, पहले से तय किए गए टेक्स्ट लेआउट को हटाकर, PrecomputedText में इमोजी जोड़ देगा. (I47d06, b/211231958)
  • Android P से, इमोजी2 का इस्तेमाल करने के लिए कॉन्फ़िगर किए गए EditText में, एडिटर के क्रैश होने की समस्या को ठीक करने के लिए बैकपोर्ट किया गया. (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, कीबोर्ड के लिए सटीक जानकारी देता है. इससे यह तय किया जा सकता है कि सिस्टम फ़ॉन्ट के पीछे मौजूद इमोजीकंपैट फ़ॉन्ट के साथ इमोजी कैसे दिखेगी
  • 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, कीबोर्ड के लिए सटीक जानकारी देता है. इससे यह तय किया जा सकता है कि सिस्टम फ़ॉन्ट के पीछे मौजूद इमोजीकंपैट फ़ॉन्ट के साथ इमोजी कैसे दिखेगी
  • 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, कीबोर्ड के लिए सटीक जानकारी देता है. इससे यह तय किया जा सकता है कि सिस्टम फ़ॉन्ट के पीछे मौजूद इमोजीकंपैट फ़ॉन्ट के साथ इमोजी कैसे दिखेगी
  • NumberKeyListener के लिए बग ठीक किया गया है. इससे, अंकों के इनपुट के आधार पर वर्णों को सही तरीके से फ़िल्टर किया जा सकेगा

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

  • नया एपीआई getEmojiMatch जोड़ें, ताकि कीबोर्ड, emojicompat में इमोजी मैच करने के तरीके को ज़्यादा सटीक तरीके से देख सकें.
  • 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 की जगह लेता है. इसमें ये अतिरिक्त सुविधाएं मिलती हैं:

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

androidx.emoji2 के बारे में ज़्यादा जानने के लिए, ऐप्लिकेशन को नए इमोजी के मुताबिक बनाना लेख पढ़ें. इसके अलावा, Android Dev Summit में हुई हमारी बातचीत Displaying ALL the emojis in your app Android Dev देखें.

वर्शन 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 को ऐसे एपीआई के तौर पर रखा गया है जो अब काम नहीं करता. (I6cd48)

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

    • IME का इस्तेमाल करने वाले कस्टम विजेट, EditText को सबक्लास नहीं करते. वे 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 साइज़ पर बहुत कम असर पड़ेगा.

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

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

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

  • EmojiCompatInitializer को बदलकर, फ़ॉन्ट लोड होने में 500 मि॰से॰ तक की देरी करें. ऐसा पहली बार Activity.onResume के बाद किया जाता है. इससे किसी गतिविधि को 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 के लिए एक बड़ा बदलाव है. ऐप्लिकेशन को यह पक्का करना होगा कि AppCompat की डिपेंडेंसी अपडेट हो, ताकि नए emoji2 वर्शन का इस्तेमाल किया जा सके. (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 को इंटिग्रेट करें, ताकि वे API19 से नए इमोजी के साथ काम कर सकें. आपके ऐप्लिकेशन में मौजूद सभी यूज़र जनरेटेड कॉन्टेंट में 🎉 शामिल है.

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

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

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

इमोजी से इमोजी2 में हुए बदलाव

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

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

  • AppCompat का इस्तेमाल करने वाले ऐप्लिकेशन को, 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 को कस्टम कॉन्फ़िगरेशन पास किया जा सकता है. सिस्टम के डिफ़ॉल्ट कॉन्फ़िगरेशन को DefaultEmojiCompatConfig.create(context) से वापस पाया जा सकता है. इसके बाद, इसे EmojiCompat.init को पास करने से पहले, आगे के कॉन्फ़िगरेशन के लिए इस्तेमाल किया जा सकता है.

Emoji2 Emojipicker वर्शन 1.0

वर्शन 1.0.0-alpha03

8 मार्च, 2023

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

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

  • ज़रूरत न होने वाले संसाधनों को हटाया गया और लाइब्रेरी का साइज़ ~0.3M तक कम किया गया.

वर्शन 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, “हाल ही में इस्तेमाल किए गए” कैटगरी में इमोजी उपलब्ध कराता है.