Emoji2

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

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

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

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

ग्रूवी

dependencies {
    def emoji2_version = "1.6.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.6.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-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 हो गया है.
एपीआई 35 या इसके बाद के वर्शन पर अपने-आप बायपास होने की सुविधा: सिस्टम के अपडेट किए जा सकने वाले फ़ॉन्ट वाले डिवाइसों पर, EmojiCompat प्रोसेसिंग अपने-आप बायपास हो जाती है.

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

  • Android 15 (एपीआई 35) और इसके बाद के वर्शन पर, EmojiCompat का इस्तेमाल जारी रखने के लिए, setUseAfterUpdatableSystemFonts को EmojiCompat.Config में जोड़ा गया है. ऐसा तब भी किया जा सकता है, जब सभी डिवाइसों पर अपडेट किए जा सकने वाले सिस्टम फ़ॉन्ट उपलब्ध हों. डिफ़ॉल्ट वैल्यू से, 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 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() कर दिया गया है. 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 को रीसेट करने की वजह से, व्यू का लेआउट फिर से तय किया गया.
  • इमोजी उपलब्ध कराने वाली हाल ही की सेवा को फ़्रीक्वेंसी के हिसाब से क्रम में लगाने के लिए बदला गया है.
  • स्टाइल को पसंद के मुताबिक बनाने की सुविधा.

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

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

  • 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)
  • 'लिखें' में EmojiCompat जोड़ा गया (I96f37, b/139326806)

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

  • Emoji2 अब BackgroundSpan से बैकग्राउंड को सही तरीके से ड्रॉ करेगा. (Ide6a8, b/230525134)
  • AppCompat 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 से, क्रैश होने वाले एडिटर को ठीक करने के लिए, 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 में जोड़े गए, नॉन-नल एनोटेशन को पहले जैसा कर दिया जाता है. साथ ही, 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 में रखा गया है.
  • शून्य होने की अनुमति से जुड़े एनोटेशन जोड़े गए.
  • EmojiCompat शुरू न होने पर भी, अब emoji2-views-helper में मौजूद हेल्पर का इस्तेमाल किया जा सकता है. इससे पहले, ऐसा करने पर अपवाद दिखता था.

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

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

कस्टम व्यू में सहायता पाने का तरीका

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