मॉडर्न इमोजी इस्तेमाल करें

इमोजी के स्टैंडर्ड सेट को सालाना रीफ़्रेश किया जाता है यूनिकोड, क्योंकि इमोजी का इस्तेमाल बढ़ रहा है तेज़ी से काम करता है.

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

Android 11 (एपीआई लेवल 30) और इससे पहले के वर्शन के लिए, इमोजी का फ़ॉन्ट अपडेट नहीं किया जा सकता. इसलिए उन वर्शन पर दिखाने वाले ऐप्लिकेशन को मैन्युअल तरीके से अपडेट करना चाहिए.

आधुनिक इमोजी के उदाहरण यहां दिए गए हैं.

उदाहरण वर्शन
🫠 🫱🏼‍🫲🏿 🫰🏽 14.0 (सितंबर 2021)
😶‍🌫️ 🧔🏻‍♀️ 🧑🏿‍❤️‍🧑🏾 13.1 (सितंबर 2020)
🥲 🥷🏿 🐻‍❄️ 13.0 (मार्च 2020)
🧑🏻‍🦰 🧑🏿‍🦯 👩🏻‍🤝‍👩🏼 12.1 (अक्टूबर 2019)
🦩 🦻🏿 👩🏼‍🤝‍👩🏻 12.0 (फ़रवरी 2019)

androidx.emoji2:emoji2 लाइब्रेरी, पुराने सिस्टम के साथ आसानी से काम करती है Android के पुराने वर्शन के साथ काम करता है. emoji2 लाइब्रेरी, AppCompat लाइब्रेरी और इसके लिए ज़रूरी नहीं है कॉन्फ़िगरेशन प्रोसेस करना ज़रूरी है.

Compose में इमोजी इस्तेमाल करने की सुविधा

BOM मार्च 2023 (Compose का यूज़र इंटरफ़ेस 1.4) में नए इमोजी का इस्तेमाल किया गया जिसमें Android के पुराने वर्शन के साथ काम करने की सुविधा शामिल है. एपीआई 21. इस पेज पर व्यू सिस्टम में मॉडर्न इमोजी को कॉन्फ़िगर करने का तरीका बताया गया है. यहां जाएं: ज़्यादा जानकारी के लिए, लिखें में इमोजी खोलें.

ज़रूरी शर्तें

आपका ऐप्लिकेशन नए इमोजी सही तरीके से दिखा रहा हो, यह पक्का करने के लिए इसे अपने डिवाइस पर लॉन्च करें जो Android 10 (एपीआई लेवल 29) या इससे पहले के वर्शन पर काम करते हों. इस पेज में आपके हिसाब से बनाए गए नए इमोजी शामिल हैं टेस्टिंग के लिए दिखाया जा सकता है.

नए इमोजी के साथ काम करने के लिए AppCompat का इस्तेमाल करें

AppCompat 1.4 में इमोजी की सुविधा उपलब्ध है.

अगर आपको AppCompat का इस्तेमाल करके इमोजी का इस्तेमाल करना है, तो यह तरीका अपनाएं:

  1. देखें कि आपका मॉड्यूल, AppCompat लाइब्रेरी वर्शन के हिसाब से हो 1.4.0-alpha01 या उच्च.

    build.gradle
    
    // Ensure version is 1.4.0-alpha01 or higher.
    implementation "androidx.appcompat:appcompat.$appcompatVersion"
    
  2. पक्का करें कि टेक्स्ट दिखाने वाली सभी गतिविधियां, AppCompatActivity क्लास.

    Kotlin

    MyActivity.kt
    
    class MyActivity: AppCompatActivity {
    ...
    }
    

    Java

    MyActivity.java
    
    class MyActivity extends AppCompatActivity {
    ...
    }
    
  3. Android 10 वाले डिवाइस पर अपना ऐप्लिकेशन लॉन्च करके, इंटिग्रेशन की जांच करें या उससे छोटा होना चाहिए और नीचे दी गई टेस्ट स्ट्रिंग को दिखाना चाहिए. पक्का करें कि सभी वर्ण सही तरह से रेंडर होना चाहिए.

    • 14.0: 🫠, 🫱🏼 🫲🏿, 🫰🏽
    • 13.1: >} 🌫️, 🧔🏻 ♀️, 🧑🏿 ❤️ 🧑🏾
    • 13.0: 🥲, 🥷🏿, भौगोलिक 🌴️
    • 12.1: 🧑🏻 🦰, 🧑🏿 🦯, 🍎🏻 🤝 👩🏼
    • 12.0: 🦩, 🦻🏿, 👩🏼 🤝 👩🏻

आपका ऐप्लिकेशन, उन सभी डिवाइसों पर पुराने सिस्टम के साथ काम करने वाले इमोजी अपने-आप दिखाता है जिन पर डिवाइस जैसे, emoji2 के साथ काम करने वाला, डाउनलोड किया जा सकने वाला फ़ॉन्ट उपलब्ध कराना Google Play services की मदद से उपलब्ध है.

अगर आपका ऐप्लिकेशन AppCompat का इस्तेमाल कर रहा है, लेकिन टोफ़ू (☐) दिखा रहा है

कुछ मामलों में, आपका ऐप्लिकेशन सही इमोजी के बजाय टोफ़ू दिखा सकता है. भले ही, आपने AppCompat लाइब्रेरी को जोड़ा. इसकी ये वजहें हो सकती हैं: समाधान.

आप ऐप्लिकेशन को हाल ही में फ़्लैश किए गए डिवाइस या नए एम्युलेटर पर चला रहे हैं

फ़ॉन्ट की कैश मेमोरी को मिटाने के लिए, ऐप्लिकेशन का Google Play सेवाओं का डेटा मिटाएं स्टार्टअप के दौरान रिकॉर्ड होता है. आम तौर पर, इससे कुछ घंटे बाद समस्या हल हो जाती है.

ऐप्लिकेशन का डेटा मिटाने के लिए, ये काम करें:

  1. अपने Android-पावर्ड डिवाइस पर सेटिंग खोलें.

  2. ऐप्लिकेशन और सूचनाएं पर टैप करें.

  3. सभी ऐप्लिकेशन देखें या ऐप्लिकेशन की जानकारी पर टैप करें.

  4. ऐप्लिकेशन में स्क्रोल करें और Google Play services पर टैप करें.

  5. स्टोरेज और कैश मेमोरी में सेव करें.

  6. कैश मेमोरी मिटाएं पर टैप करें.

आपका ऐप्लिकेशन, AppCompat की टेक्स्ट से जुड़ी क्लास का इस्तेमाल नहीं कर रहा है

ऐसा तब हो सकता है, जब आप AppCompatActivity का विस्तार न करें या यदि आप किसी कोड में देखें, जैसे TextView. इन निर्देशों का पालन करें:

AppCompatActivity इसके स्थान पर AppCompatTextView को अपने आप बढ़ा देता है एक्सएमएल को बढ़ाते समय TextView. इसलिए, आपको एक्सएमएल अपडेट करने की ज़रूरत नहीं होती है.

टेस्ट फ़ोन में, डाउनलोड किए जा सकने वाले फ़ॉन्ट काम नहीं करते

पुष्टि करें कि DefaultEmojiCompatConfig.create, बिना शून्य वाला कॉन्फ़िगरेशन दिखाता है.

पिछले एपीआई लेवल पर मौजूद एम्युलेटर ने Google Play services को अपग्रेड नहीं किया है

अगर पुराने एपीआई लेवल पर एम्युलेटर का इस्तेमाल किया जा रहा है, तो आपको फ़ॉन्ट प्रोवाइडर खोजने के लिए, Google Play services को emoji2 के लिए बंडल किया. ऐसा करने के लिए, एम्युलेटर पर Google Play Store में लॉग इन करें.

इस बात की पुष्टि करने के लिए कि डिवाइस पर चलने वाला वर्शन इंस्टॉल है, ये काम करें:

  1. नीचे दिया गया निर्देश चलाएं:

    adb shell dumpsys package com.google.android.gms | grep version
    
  2. पक्का करें कि versionCode, 211200000 से ज़्यादा हो.

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

अगर आपके ऐप्लिकेशन में AppCompat को शामिल नहीं किया जा सकता, तो सीधे emoji2 का इस्तेमाल किया जा सकता है. यह के लिए ज़्यादा काम करने की ज़रूरत है, इसलिए इस तरीके का इस्तेमाल सिर्फ़ तब करें, जब आपका ऐप्लिकेशन AppCompat का इस्तेमाल नहीं कर दे.

AppCompat लाइब्रेरी के बिना इमोजी का इस्तेमाल करने के लिए, यह तरीका अपनाएं:

  1. अपने ऐप्लिकेशन की build.gradle फ़ाइल में, emoji2 और emoji2-views शामिल करें.

    build.gradle
    
    def emojiVersion = "1.0.0-alpha03"
    implementation "androidx.emoji2:emoji2:$emojiVersion"
    implementation "androidx.emoji2:emoji2-views:$emojiVersion"
    

    emoji2-views मॉड्यूल से पता चलता है कि इसकी सब-क्लास TextView, Button, और EditText लागू करने वाले EmojiCompat. इसका इस्तेमाल न करें एक ऐसे ऐप्लिकेशन में, जिसमें AppCompat शामिल है, क्योंकि यह पहले से ही लागू कर देता है EmojiCompat.

  2. एक्सएमएल और कोड में—जहां भी आप TextView, EditText या Button—इस्तेमाल करें EmojiTextView, EmojiEditText या इसके बजाय EmojiButton.

    activity_main.xml
    
    <androidx.emoji2.widget.EmojiTextView ... />
    <androidx.emoji2.widget.EmojiEditText ... />
    <androidx.emoji2.widget.EmojiButton ... />
    

    emoji2 मॉड्यूल को शामिल करने पर, सिस्टम डिफ़ॉल्ट तौर पर डाउनलोड किए जा सकने वाले डिफ़ॉल्ट मॉड्यूल का इस्तेमाल करता है फ़ॉन्ट प्रोवाइडर इमोजी फ़ॉन्ट को लोड करने के लिए ऐप्लिकेशन शुरू होने के कुछ समय बाद, अपने-आप मिट जाएगा. नहीं इसके लिए अतिरिक्त कॉन्फ़िगरेशन की ज़रूरत है.

  3. इंटिग्रेशन की जांच करने के लिए, Android 11 या इसके बाद के वर्शन वाले डिवाइस पर अपना ऐप्लिकेशन लॉन्च करें या नीचे दी गई टेस्ट स्ट्रिंग को छोटा करके दिखाएगा. पक्का करें कि सभी वर्ण सही तरह से रेंडर होना चाहिए.

    • 14.0: 🫠, 🫱🏼 🫲🏿, 🫰🏽
    • 13.1: >} 🌫️, 🧔🏻 ♀️, 🧑🏿 ❤️ 🧑🏾
    • 13.0: 🥲, 🥷🏿, भौगोलिक 🌴️
    • 12.1: 🧑🏻 🦰, 🧑🏿 🦯, 🍎🏻 🤝 👩🏼
    • 12.0: 🦩, 🦻🏿, 👩🏼 🤝 👩🏻

विजेट के बिना इमोजी-कंपैट का इस्तेमाल करें

EmojiCompat इसके लिए EmojiSpan का इस्तेमाल करता है सही इमेज रेंडर करने में मदद मिलती है. इसलिए, इसे किसी दिए गए CharSequence ऑब्जेक्ट को EmojiSpan ऑब्जेक्ट वाला Spanned ऑब्जेक्ट. इमोजीकॉम्पैट क्लास, CharSequences को बदलने के लिए process() तरीका उपलब्ध कराती है Spanned इंस्टेंस में. इस तरीके का इस्तेमाल करके, आप process() को इसमें कॉल कर सकते हैं: नतीजों को बैकग्राउंड और कैश मेमोरी में सेव करेगा, जिससे आपके ऐप्लिकेशन की परफ़ॉर्मेंस बेहतर होगी.

Kotlin

val processed = EmojiCompat.get().process("neutral face \uD83D\uDE10")

Java

CharSequence processed = EmojiCompat.get().process("neutral face \uD83D\uDE10");

इनपुट के तरीके में बदलाव करने वाले लोगों के लिए, इमोजी का इस्तेमाल करने के लिए इमोजी का इस्तेमाल करना

EmojiCompat क्लास, कीबोर्ड को उस इमोजी को रेंडर करने की सुविधा देती है जो इस ऐप्लिकेशन के साथ काम करता है लाइव स्ट्रीम कर रहे हैं. इनपुट के तरीके के एडिटर (IMEs) getEmojiMatch() का इस्तेमाल करके यह पता लगाया जा सकता है कि EmojiCompat का कोई इंस्टेंस, इमोजी का इस्तेमाल करें. इस तरीके को अपनाने में CharSequence और EmojiCompat, इमोजी को पहचानकर उसे रेंडर कर सकता है या नहीं, तो यह true दिखाता है.

कीबोर्ड, EmojiCompat के उस वर्शन की भी जांच कर सकता है जो ऐप्लिकेशन पर काम करता है का इस्तेमाल करें. वर्शन की जांच करने के लिए, अगर कीबोर्ड शॉर्टकट, कीबोर्ड शॉर्टकट के लिए नीचे दी गई कुंजियों को खोज सकते हैं. EditorInfo.extras समूह:

  • EDITOR_INFO_METAVERSION_KEY: ऐप्लिकेशन के इमोजी मेटाडेटा के वर्शन की जानकारी देता है. अगर यह कुंजी मौजूद नहीं है, तो ऐप्लिकेशन EmojiCompat का इस्तेमाल नहीं कर रहा है.
  • EDITOR_INFO_REPLACE_ALL_KEY: अगर कुंजी मौजूद है और true पर सेट है, तो ऐप्लिकेशन कॉन्फ़िगर करता है सभी इमोजी बदलने के लिए, EmojiCompat का इस्तेमाल करें, भले ही वे सिस्टम में मौजूद हों.

इस इवेंट के इंस्टेंस को कॉन्फ़िगर करने का तरीका जानें इमोजीकंपैट.

पसंद के मुताबिक व्यू में इमोजी का इस्तेमाल करना

अगर आपके ऐप्लिकेशन में कस्टम व्यू हैं, जो TextView की डायरेक्ट या इनडायरेक्ट सब-क्लास—उदाहरण के लिए, Button, Switch या EditText—इन व्यू के लिए यूज़र जनरेटेड व्यू दिख सकते हैं नहीं है, तो उन्हें हर विज्ञापन के लिए EmojiCompat.

यह प्रोसेस, इस बात पर निर्भर करता है कि आपका ऐप्लिकेशन, AppCompat लाइब्रेरी का इस्तेमाल करता है या नहीं.

AppCompat की मदद से ऐप्लिकेशन के लिए कस्टम व्यू जोड़ें

अगर आपके ऐप्लिकेशन में AppCompat का इस्तेमाल किया जाता है, तो इसके बजाय AppCompat को लागू करने की प्रोसेस को बढ़ाएं प्लैटफ़ॉर्म को लागू करना. नीचे दी गई टेबल से जानें कि AppCompat में अपने व्यू बढ़ाएं:

सदस्यता की अवधि बढ़ाने के बजाय... दायरा बढ़ाएं
TextView AppCompatTextView
EditText AppCompatEditText
ToggleButton AppCompatToggleButton
Switch SwitchCompat
Button AppCompatButton
CheckedTextView AppCompatCheckedTextView
RadioButton AppCompatRadioButton
CheckBox AppCompatCheckBox
AutoCompleteTextView AppCompatAutoCompleteTextView
MultiAutoCompleteTextView AppCompatMultiAutoCompleteTextView

AppCompat के बिना ऐप्लिकेशन के लिए कस्टम व्यू जोड़ें

अगर आपके ऐप्लिकेशन में AppCompat का इस्तेमाल नहीं होता है, तो इसमें व्यू इंटिग्रेशन हेल्पर का इस्तेमाल करें: emoji2-views-helper मॉड्यूल जिसे कस्टम व्यू में इस्तेमाल करने के लिए डिज़ाइन किया गया है. ये ऐसे हेल्पर हैं जिनका इस्तेमाल AppCompat लाइब्रेरी, इमोजी की सुविधा लागू करने के लिए करती है.

नीचे दिए गए तरीके से, उन ऐप्लिकेशन के कस्टम व्यू का इस्तेमाल किया जा सकता है जो इस्तेमाल नहीं किए जाते AppCompat.

  1. emoji2-views-helper लाइब्रेरी जोड़ें:

    implementation "androidx.emoji2:emoji2-views-helper:$emojiVersion"
    
  2. शामिल करने के लिए निर्देशों का पालन करें EmojiTextViewHelper या EmojiEditTextHelper कस्टम व्यू में कैसे बदलाव करें.

  3. Android 10 वाले डिवाइस पर अपना ऐप्लिकेशन लॉन्च करके, इंटिग्रेशन की जांच करें या उससे छोटा होना चाहिए और नीचे दी गई टेस्ट स्ट्रिंग को दिखाना चाहिए. पक्का करें कि सभी वर्ण सही तरह से रेंडर होना चाहिए.

    • 14.0: 🫠, 🫱🏼 🫲🏿, 🫰🏽
    • 13.1: >} 🌫️, 🧔🏻 ♀️, 🧑🏿 ❤️ 🧑🏾
    • 13.0: 🥲, 🥷🏿, भौगोलिक 🌴️
    • 12.1: 🧑🏻 🦰, 🧑🏿 🦯, 🍎🏻 🤝 👩🏼
    • 12.0: 🦩, 🦻🏿, 👩🏼 🤝 👩🏻

इमोजी2 को मैनेज करने के लिए वैकल्पिक सुविधाएं

अपने ऐप्लिकेशन में emoji2 लाइब्रेरी शामिल करने के बाद, आपके पास वैकल्पिक लाइब्रेरी जोड़ने का विकल्प होता है इस सेक्शन में बताई गई सुविधाएं.

कोई दूसरा फ़ॉन्ट या डाउनलोड किया जा सकने वाला फ़ॉन्ट उपलब्ध कराने के लिए इमोजी2 को कॉन्फ़िगर करें

emoji2 को कॉन्फ़िगर करके, किसी दूसरे फ़ॉन्ट या डाउनलोड किए जा सकने वाले फ़ॉन्ट प्रोवाइडर का इस्तेमाल करने के लिए, ये काम करें निम्न:

  1. इसे बंद करें EmojiCompatInitializer अपने मेनिफ़ेस्ट में इन्हें जोड़कर:

    <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>
  2. निम्न में से कोई एक कार्य करें:

    • कॉल करके डिफ़ॉल्ट कॉन्फ़िगरेशन का इस्तेमाल करें DefaultEmojiCompatConfiguration.create(context).

    • किसी अन्य सोर्स से फ़ॉन्ट लोड करने के लिए, अपना खुद का कॉन्फ़िगरेशन बनाएं EmojiCompat.Config. इस क्लास में, EmojiCompat में बदलाव करने के कई विकल्प मौजूद हैं व्यवहार, जैसा कि नीचे बताया गया है.

इमोजी कंपैट के व्यवहार में बदलाव करें

EmojiCompat में बदलाव करने के लिए, EmojiCompat.Config के इंस्टेंस का इस्तेमाल किया जा सकता है व्यवहार.

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

LOAD_STRATEGY_MANUAL आपको यह कंट्रोल करने की सुविधा देता है कि EmojiCompat.load() को कब कॉल किया जाए. LOAD_STRATEGY_DEFAULT आपके कॉल में सिंक्रोनस रूप से लोड होना EmojiCompat.init().

ज़्यादातर ऐप्लिकेशन LOAD_STRATEGY_MANUAL का इस्तेमाल करते हैं, ताकि वे थ्रेड और समय को कंट्रोल कर सकें फ़ॉन्ट लोड हो रहा है. आपके ऐप्लिकेशन को तब तक रोकना होगा, जब तक कि पहली स्क्रीन इसके बाद, ऐप्लिकेशन के खुलने में लगने वाला समय शुरू नहीं होता. EmojiCompatInitializer इसका अनुसरण करता है प्रैक्टिस करें और तब तक इमोजी के फ़ॉन्ट को लोड होने से रोकें, जब तक स्क्रीन पहली बार शुरू न हो जाए.

बुनियादी क्लास के अन्य पहलुओं को सेट करने के लिए, बेस क्लास से नीचे दिए गए तरीकों का इस्तेमाल करें कॉन्फ़िगरेशन:

  • setReplaceAll(): यह तय करता है कि EmojiCompat को मिले सभी इमोजी को इंस्टेंस से बदला जाए या नहीं EmojiSpan में से. डिफ़ॉल्ट रूप से, जब EmojiCompat को लगता है कि सिस्टम ये काम कर सकता है इस्तेमाल करता है, तो यह उस इमोजी की जगह नहीं लेता. true पर सेट करने पर, EmojiCompat, सभी इमोजी को EmojiSpan ऑब्जेक्ट से बदल देता है.
  • setEmojiSpanIndicatorEnabled(): बताता है कि EmojiCompat किसी इमोजी को EmojiSpan से बदल देता है या नहीं ऑब्जेक्ट है. जब true पर सेट किया जाता है, तो EmojiCompat EmojiSpan. इस तरीके का इस्तेमाल मुख्य रूप से डीबग करने के लिए किया जाता है.
  • setEmojiSpanIndicatorColor: EmojiSpan बताने के लिए रंग सेट करता है. डिफ़ॉल्ट मान यह है GREEN.
  • registerInitCallback(): ऐप्लिकेशन को EmojiCompat शुरू होने की स्थिति के बारे में बताता है.

इनिशलाइज़ेशन लिसनर जोड़ें

EmojiCompat और EmojiCompat.Config क्लास registerInitCallback() और unregisterInitCallback() इनिशलाइज़ेशन कॉलबैक रजिस्टर करने और उनका रजिस्ट्रेशन रद्द करने के तरीके. आपका ऐप्लिकेशन इनका इस्तेमाल करता है EmojiCompat के शुरू होने तक इंतज़ार करें. इसके बाद ही, इमोजी को प्रोसेस किया जा सकता है बैकग्राउंड थ्रेड या पसंद के मुताबिक व्यू में दिखाने की सुविधा मिलती है.

इन तरीकों का इस्तेमाल करने के लिए, EmojiCompat.InitCallback क्लास. इन विधियों को कॉल करें और EmojiCompat.InitCallback क्लास. शुरू होने के बाद, EmojiCompat क्लास onInitialized() तरीका. अगर लाइब्रेरी शुरू नहीं हो पाती है, तो EmojiCompat क्लास onFailed() तरीका.

किसी भी समय प्रारंभ स्थिति की जांच करने के लिए, getLoadState() तरीका. इस तरीके से, इनमें से कोई एक वैल्यू मिलती है: LOAD_STATE_LOADING LOAD_STATE_SUCCEEDED, या LOAD_STATE_FAILED.

इमोजी2 के साथ बंडल किए गए फ़ॉन्ट इस्तेमाल किए जा सकते हैं

अपने ऐप्लिकेशन में इमोजी फ़ॉन्ट को बंडल करने के लिए, emoji2-bundled आर्टफ़ैक्ट का इस्तेमाल किया जा सकता है. हालांकि, NotoColorEmoji फ़ॉन्ट का साइज़ 10 एमबी से ज़्यादा है, इसलिए हम पूरी तरह से यह सुझाव दिया जाता है कि जब भी हो सके, अपने ऐप्लिकेशन में डाउनलोड किए जा सकने वाले फ़ॉन्ट का इस्तेमाल करें. कॉन्टेंट बनाने emoji2-bundled आर्टफ़ैक्ट, उन ऐप्लिकेशन के लिए है जो डिवाइसों पर काम नहीं करते डाउनलोड किए जा सकने वाले फ़ॉन्ट.

emoji2-bundled आर्टफ़ैक्ट का इस्तेमाल करने के लिए, यह तरीका अपनाएं:

  1. emoji2-bundled और emoji2 आर्टफ़ैक्ट शामिल करें:

    implementation "androidx.emoji2:emoji2:$emojiVersion"
    implementation "androidx.emoji2:emoji2-bundled:$emojiVersion"
    
  2. बंडल किए गए कॉन्फ़िगरेशन का इस्तेमाल करने के लिए, emoji2 को कॉन्फ़िगर करें:

    Kotlin

    EmojiCompat.init(BundledEmojiCompatConfig(context))
    

    Java

    EmojiCompat.init(new BundledEmojiCompatConfig(context));
    
  3. शामिल करने के लिए पिछले चरणों का पालन करके इंटिग्रेशन की जांच करें AppCompat के साथ या इसके बिना emojicompat. पक्का करें कि टेस्ट स्ट्रिंग ठीक से दिखाई देता है.

    • 14.0: 🫠, 🫱🏼 🫲🏿, 🫰🏽
    • 13.1: >} 🌫️, 🧔🏻 ♀️, 🧑🏿 ❤️ 🧑🏾
    • 13.0: 🥲, 🥷🏿, भौगोलिक 🌴️
    • 12.1: 🧑🏻 🦰, 🧑🏿 🦯, 🍎🏻 🤝 👩🏼
    • 12.0: 🦩, 🦻🏿, 👩🏼 🤝 👩🏻

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

सिस्टम, स्टार्टअप लाइब्रेरी का इस्तेमाल करके डिफ़ॉल्ट कॉन्फ़िगरेशन लागू करता है, EmojiCompatInitializer, और DefaultEmojiCompatConfig.

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

DefaultEmojiCompatConfig, सिस्टम से इंस्टॉल किए गए, डाउनलोड किए जा सकने वाले फ़ॉन्ट का पता लगाता है EmojiCompat इंटरफ़ेस लागू करने वाली कंपनी, जैसे कि Google Play सेवाओं. Google Play services वाले डिवाइसों पर, यह सुविधा फ़ॉन्ट का इस्तेमाल करती है Google Play सेवाएं.

शुरुआत करने वाला टूल, इमोजी फ़ॉन्ट और फ़ॉन्ट को लोड करने के लिए बैकग्राउंड थ्रेड बनाता है डाउनलोड होने में 10 सेकंड लग सकते हैं. फ़ॉन्ट के बाद डाउनलोड किया जाता है, तो बैकग्राउंड थ्रेड पर करीब 150 मिलीसेकंड लगते हैं EmojiCompat शुरू करें.

EmojiCompat को शुरू करने की प्रोसेस को कुछ समय के लिए रोकें, भले ही आपने इसे बंद कर दिया हो EmojiCompatInitializer. अगर मैन्युअल तरीके से कॉन्फ़िगर किया जा सकता है EmojiCompat, EmojiCompat.load() दिखने पर उस पर कॉल करें आपके ऐप्लिकेशन की पहली स्क्रीन को स्क्रीन लोड.

लोड होने के बाद, EmojiCompat इमोजी को होल्ड करने के लिए करीब 300 केबी रैम का इस्तेमाल करता है मेटाडेटा.