Emoji2

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

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

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 को बेहतर बनाने में मदद मिलती है. अगर आपको कोई नई समस्या मिलती है या इस लाइब्रेरी को बेहतर बनाने के लिए आपके पास कोई सुझाव है, तो हमें बताएं. कृपया नई लाइब्रेरी बनाने से पहले, इस लाइब्रेरी में मौजूद मौजूदा समस्याओं को देखें. स्टार बटन पर क्लिक करके, किसी मौजूदा समस्या के लिए वोट किया जा सकता है.

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

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

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

वर्शन 1.6

वर्शन 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 annotations का इस्तेमाल करती है. ये टाइप-यूज़ होते हैं. 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() कर दिया गया है. कृपया TransitionManager.seekTo() को TransitionManager.createSeekController() में जोड़ने के बारे में पिछली टिप्पणी में बदलाव करें. (Idbeb1)
  • ExerciseRouteResult को जोड़ा गया है, जो Data, NoData, और ConsentRequiredStates के लिए सुपरक्लास नहीं है. ExerciseRoute को एक स्टैंडअलोन क्लास के तौर पर जोड़ा गया है. यह क्लास, रास्ते की जगह की जानकारी का डेटा सेव करती है. (I22eed)
  • हमने PagerLayoutInfo को लॉन्च किया है. इसमें Pager में मेज़रमेंट पास होने के बाद इकट्ठा की गई जानकारी शामिल है. साथ ही, Pager में PageInfo को भी शामिल किया गया है. यह मेज़र किए गए किसी पेज के बारे में जानकारी देता है. (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 को रीसेट करने की वजह से, व्यू को फिर से लेआउट किया गया.
  • इमोजी उपलब्ध कराने वाले हाल ही के प्लैटफ़ॉर्म को बदलकर, फ़्रीक्वेंसी के हिसाब से क्रम में लगाया जाता है.
  • स्टाइल को पसंद के मुताबिक बनाना.

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

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

  • 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 में एडिटर के क्रैश होने की समस्या को ठीक करने के लिए, बैकपोर्ट करें. 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, कीबोर्ड के लिए सटीक जानकारी देता है. इससे यह तय किया जा सकता है कि सिस्टम फ़ॉन्ट के पीछे मौजूद, इमोजी के साथ काम करने वाले फ़ॉन्ट के साथ इमोजी कैसे दिखेगा
  • 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 पर नई डिपेंडेंसी जोड़ी जाती है. इससे, लाइफ़साइकल (जैसे कि appcompat वाले ऐप्लिकेशन) को पहले से शामिल करने वाले ऐप्लिकेशन के APK साइज़ पर बहुत कम असर पड़ेगा.

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

  • AppCompatEditText में null KeyListener की अनुमति दें. इससे 1.4.0-alpha01 वर्शन में AppCompatEditText में जोड़े गए non-null एनोटेशन को हटा दिया जाता है. साथ ही, 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 को पास करने से पहले उसे और कॉन्फ़िगर किया जा सके.