Google is committed to advancing racial equity for Black communities. See how.
इस पेज का अनुवाद Cloud Translation API से किया गया है.
Switch to English

अपने एकता प्रोजेक्ट में Firebase जोड़ें

हमारे Firebase एकता SDKs के साथ अपने यूनिटी गेम को पावर करें।

कितना आसान है अपने एकता परियोजना में Firebase प्लग करने के लिए है दिखाने के लिए, हम आपको GitHub, App स्टोर, और गूगल प्ले स्टोर से डाउनलोड कर सकते हैं कि एक नमूना खेल, MechaHamster बनाया है।

मेकहॉपी (GitHub)

मेकहॉपी (ऐप स्टोर)

मेकहॉपी (प्ले स्टोर)


हमारे Firebase गेम्स पेज पर Firebase के साथ अपने गेम को पॉवर करने के बारे में अधिक जानकारी प्राप्त करें।

आपके एकता प्रोजेक्ट में पहले से ही Firebase जोड़ा गया है? सुनिश्चित करें कि आप फायरबेस यूनिटी एसडीके के नवीनतम संस्करण का उपयोग कर रहे हैं।

आवश्यक शर्तें

  • एकता 5.3 या बाद में स्थापित करें।

  • (केवल iOS) निम्नलिखित स्थापित करें:

    • Xcode 9.4.1 या बाद का
    • कोकोआडॉप्स 1.9.0 या बाद में
  • सुनिश्चित करें कि आपकी एकता परियोजना इन आवश्यकताओं को पूरा करती है:

    • IOS के लिए - iOS 10 या बाद के लक्ष्य
    • Android के लिए - एपीआई स्तर 16 (जेली बीन) या बाद में लक्ष्य
  • एक भौतिक उपकरण सेट करें या अपने ऐप को चलाने के लिए एक एमुलेटर का उपयोग करें।

    • IOS के लिए - एक भौतिक iOS डिवाइस सेट करें या iOS सिम्युलेटर का उपयोग करें।

    • Android के लिए - एमुलेटर को Google Play के साथ एक एमुलेटर छवि का उपयोग करना चाहिए।

यदि आपके पास पहले से ही एक एकता परियोजना नहीं है और बस एक फायरबेस उत्पाद को आज़माना चाहते हैं, तो आप हमारे क्विकस्टार्ट नमूनों में से एक डाउनलोड कर सकते हैं

चरण 1 : एक फायरबेस प्रोजेक्ट बनाएं

इससे पहले कि आप अपनी एकता परियोजना में फायरबेस को जोड़ सकें, आपको अपनी एकता परियोजना से जुड़ने के लिए एक फायरबेस परियोजना बनाने की आवश्यकता है। फायरबेस प्रोजेक्ट्स के बारे में अधिक जानने के लिए फायरबेस प्रोजेक्ट्स को समझें

चरण 2 : अपने ऐप को फायरबेस के साथ पंजीकृत करें

आप अपने फायरबेस प्रोजेक्ट से जुड़ने के लिए एक या एक से अधिक ऐप या गेम रजिस्टर कर सकते हैं।

  1. फायरबेस कंसोल पर जाएं।

  2. प्रोजेक्ट अवलोकन पृष्ठ के केंद्र में, सेटअप वर्कफ़्लो को लॉन्च करने के लिए एकता आइकन ( ) पर क्लिक करें।

    यदि आपने पहले ही अपने फायरबेस प्रोजेक्ट में एक ऐप जोड़ लिया है, तो प्लेटफ़ॉर्म विकल्पों को प्रदर्शित करने के लिए ऐप जोड़ें पर क्लिक करें।

  3. अपनी एकता परियोजना के लक्ष्य का चयन करें जिसे आप पंजीकृत करना चाहते हैं, या आप एक ही समय में दोनों लक्ष्यों को पंजीकृत करने के लिए भी चयन कर सकते हैं।

  4. अपनी एकता परियोजना के प्लेटफ़ॉर्म-विशिष्ट ID (s) दर्ज करें।

    • IOS के लिए - iOS बंडल आईडी फ़ील्ड में अपनी यूनिटी प्रोजेक्ट की iOS आईडी दर्ज करें।

    • एंड्रॉइड के लिए - एंड्रॉइड पैकेज नाम क्षेत्र में अपनी एकता परियोजना की एंड्रॉइड आईडी दर्ज करें।
      शब्द पैकेज नाम और एप्लिकेशन आईडी का उपयोग अक्सर एक-दूसरे से किया जाता है।

  5. (वैकल्पिक) अपनी एकता परियोजना के मंच-विशिष्ट उपनाम (s) दर्ज करें।
    ये उपनाम आंतरिक, सुविधा पहचानकर्ता हैं और केवल आपको फायरबेस कंसोल में दिखाई देते हैं।

  6. रजिस्टर एप पर क्लिक करें।

चरण 3 : Firebase कॉन्फ़िगरेशन फ़ाइलों को जोड़ें

  1. Firebase कंसोल सेटअप वर्कफ़्लो में अपने प्लेटफ़ॉर्म-विशिष्ट फ़ायरबेस कॉन्फ़िगरेशन फ़ाइल (ओं) को प्राप्त करें।

    • IOS के लिए - GoogleService-Info.plist डाउनलोड करें पर क्लिक करें

    • Android के लिए - डाउनलोड करें google-services.json पर क्लिक करें

  2. अपनी यूनिटी प्रोजेक्ट की प्रोजेक्ट विंडो खोलें, फिर अपनी कॉन्फिग फाइल (फाइल) को Assets फोल्डर में ले जाएं।

  3. फायरबेस कंसोल में वापस, सेटअप वर्कफ़्लो में, अगला क्लिक करें।

चरण 4 : Firebase एकता SDKs जोड़ें

  1. Firebase कंसोल में, Firebase Unity SDK डाउनलोड करें पर क्लिक करें , फिर SDK को कहीं सुविधाजनक रूप से अनज़िप करें।

  2. अपने ओपन यूनिटी प्रोजेक्ट में, एसेट्स > इंपोर्ट पैकेज > कस्टम पैकेज पर नेविगेट करें।

  3. अनज़िप किए गए एसडीके से, समर्थित फायरबेस उत्पादों का चयन करें जिन्हें आप अपने ऐप में उपयोग करना चाहते हैं।

    विश्लेषिकी सक्षम

    • Google Analytics के लिए Firebase पैकेज जोड़ें: FirebaseAnalytics.unitypackage
    • किसी भी अन्य फायरबेस उत्पादों के लिए पैकेज जोड़ें जिन्हें आप अपने ऐप में उपयोग करना चाहते हैं। उदाहरण के लिए, फायरबेस प्रमाणीकरण और फायरबेस रियलटाइम डेटाबेस का उपयोग करने के लिए:
      FirebaseAuth.unitypackage और FirebaseDatabase.unitypackage

    विश्लेषिकी सक्षम नहीं है

    फायरबेस उत्पादों के लिए पैकेज जोड़ें जिन्हें आप अपने ऐप में उपयोग करना चाहते हैं। उदाहरण के लिए, फायरबेस प्रमाणीकरण और फायरबेस रियलटाइम डेटाबेस का उपयोग करने के लिए:
    FirebaseAuth.unitypackage और FirebaseDatabase.unitypackage

  4. आयात एकता पैकेज विंडो में, आयात पर क्लिक करें।

  5. फायरबेस कंसोल में वापस, सेटअप वर्कफ़्लो में, अगला क्लिक करें।

चरण 5 : Google Play सेवाओं की संस्करण आवश्यकताओं की पुष्टि करें

एंड्रॉइड के लिए फायरबेस यूनिटी एसडीके को Google Play सेवाओं की आवश्यकता है, जिसे एसडीके का उपयोग करने से पहले अप-टू-डेट होना चाहिए।

अपने आवेदन की शुरुआत में निम्नलिखित कोड जोड़ें। आप एसडीके में किसी भी अन्य तरीकों को कॉल करने से पहले फायरबेस यूनिटी एसडीके द्वारा आवश्यक संस्करण के लिए Google Play सेवाओं को वैकल्पिक रूप से अपडेट और अपडेट कर सकते हैं।

Firebase.FirebaseApp.CheckAndFixDependenciesAsync().ContinueWith(task => {
  var dependencyStatus = task.Result;
  if (dependencyStatus == Firebase.DependencyStatus.Available) {
    // Create and hold a reference to your FirebaseApp,
    // where app is a Firebase.FirebaseApp property of your application class.
       app = Firebase.FirebaseApp.DefaultInstance;

    // Set a flag here to indicate whether Firebase is ready to use by your app.
  } else {
    UnityEngine.Debug.LogError(System.String.Format(
      "Could not resolve all Firebase dependencies: {0}", dependencyStatus));
    // Firebase Unity SDK is not safe to use here.
  }
});

तम तैयार हो! आपका एकता प्रोजेक्ट पंजीकृत है और फायरबेस का उपयोग करने के लिए कॉन्फ़िगर किया गया है।

ज्ञात पहलु

एकता का उपयोग करते समय। NET संगतता 2017.x और बाद में

Firebase .NET 4.x को एक प्रयोगात्मक बिल्ड विकल्प के रूप में एकता 2017 और बाद में समर्थन करता है। Firebase प्लगइन्स .NET के पुराने संस्करणों में कुछ .NET 4.x कक्षाएं प्रदान करने के लिए Parse SDK के घटकों का उपयोग करते हैं।

इसलिए, फायरबेस यूनिटी एसडीके संस्करण 5.4.0 और बाद में प्लगइन्स प्रदान करें जो कि dotnet3 में dotnet3 3.x या .NET 4.x के साथ संगत हैं और dotnet4 एकता एसडीके के dotnet4 निर्देशिका में हैं।

यदि आप एक Firebase प्लगइन आयात करते हैं जो आपके प्रोजेक्ट में सक्षम .NET संस्करण के साथ असंगत है, तो आपको Parse SDK द्वारा कार्यान्वित .NET फ्रेमवर्क में कुछ प्रकारों से संकलन त्रुटियों को देखेंगे।

संकलन त्रुटि को हल करने के लिए, यदि आप .NET 3.x का उपयोग कर रहे हैं:

  1. सभी प्लेटफ़ॉर्म के लिए निम्न DLL निकालें या अक्षम करें:
    • Parse/Plugins/dotNet45/Unity.Compat.dll
    • Parse/Plugins/dotNet45/Unity.Tasks.dll
  2. सभी प्लेटफ़ॉर्म के लिए निम्न DLL सक्षम करें:
    • Parse/Plugins/Unity.Compat.dll
    • Parse/Plugins/Unity.Tasks.dll

संकलन त्रुटि को हल करने के लिए, यदि आप .NET 4.x का उपयोग कर रहे हैं:

  1. सभी प्लेटफ़ॉर्म के लिए निम्न DLL निकालें या अक्षम करें:
    • Parse/Plugins/Unity.Compat.dll
    • Parse/Plugins/Unity.Tasks.dll
  2. सभी प्लेटफ़ॉर्म के लिए निम्न DLL सक्षम करें:
    • Parse/Plugins/dotNet45/Unity.Compat.dll
    • Parse/Plugins/dotNet45/Unity.Tasks.dll

यदि आप एक और Firebase प्लगइन आयात करते हैं:

  • अपनी एकता परियोजना में, अपने प्रोजेक्ट के लिए सही DLL को सक्षम करने के लिए Assets > Play Services Resolver > संस्करण हैंडलर > अपडेट पर जाएं।

.NET 4.x परियोजनाओं में एकता 2017.1 IL2CPP संकलन

Firebase .NET 4.x को यूनिटी 2017 और बाद में एक प्रयोगात्मक बिल्ड विकल्प के रूप में समर्थन करता है। Firebase प्लगइन्स .NET के पुराने संस्करणों में कुछ .NET 4.x कक्षाएं प्रदान करने के लिए Parse SDK के घटकों का उपयोग करते हैं।

इसलिए, फायरबेस यूनिटी एसडीके संस्करण 5.4.0 और बाद में टाइपिंग डीएलएल प्रदान करता है जो पार्स प्रकारों को अग्रेषित करता है (उदाहरण के लिए, .NET फ्रेमवर्क के लिए System.Threading.Tasks.Task पार्स कार्यान्वयन)। दुर्भाग्य से, IL2CPP (एक ट्रांसपिलर जो C # को C ++ में कनवर्ट करता है) जो कि एकता 2017.1.x में शिप किया गया है, DLL को अग्रेषित करने की प्रक्रिया को सही ढंग से प्रोसेस नहीं करता है, जिसके परिणामस्वरूप निम्नलिखित त्रुटि वाले बिल्ड एरर उत्पन्न होते हैं:

Fatal error in Unity CIL Linker Mono.Cecil.ResolutionException: Failed to
resolve System.Threading.Tasks.TaskCompletionSource`1<T>

वर्तमान में .NET 4.x IL2CPP के लिए कोई वर्कअराउंड उपलब्ध नहीं है, एकता 2017.1 में त्रुटियाँ पैदा करता है, इसलिए आपको IL2CPP के साथ संकलित परियोजनाओं में .NET 4.x का उपयोग करने के लिए Unity 2017.2 या बाद में अपग्रेड करना होगा।

एकता 2017.2 नेटवर्किंग

Firebase Realtime Database .NET नेटवर्किंग स्टैक का उपयोग करके TLS नेटवर्क कनेक्शन बनाता है। TLS कार्यक्षमता यूनिटी 2017.2 में टूटी हुई है। .NET 4.6 का उपयोग करते समय संपादकों और डेस्कटॉप पर रियलटाइम डेटाबेस प्लगइन के कारण।

इस समस्या के लिए कोई समाधान नहीं है, इसलिए आपको एकता के किसी भिन्न संस्करण का उपयोग करना होगा, उदाहरण के लिए संस्करण 2017.1 या 2017.3।

यूनिटी 2020 में मिसिंग फायरबेस एंड्रॉइड कॉन्फिग फाइल।

एकता के संस्करणों का समर्थन करने के लिए जिनके पास ग्रेड बिल्ड को अनुकूलित करने की क्षमता नहीं है, फायरबेस संपादक उपकरण Assets/Plugins/Android/Firebase/res/values/google-services.xml को एक एंड्रॉइड संसाधन के रूप में पैक किया जा सकता है। एंड्रॉइड का निर्माण, ताकि फायरबेस एसडीके डिफ़ॉल्ट फ़ायरबेज़ऐप उदाहरण को इनिशियलाइज़ करने के लिए इसका उपयोग कर सके।

एकता 2020 में, सभी एंड्रॉइड संसाधनों को एक .androidlib प्रत्यय के साथ निर्देशिकाओं में होना चाहिए। यदि आपका प्रोजेक्ट एक Firebase SDK का उपयोग कर रहा है जो एक Assets/Plugins/Android/Firebase डायरेक्टरी बनाता है, तो उसका नाम बदलकर Assets/Plugins/Android/Firebase.androidlib । सुनिश्चित करें कि इसमें AndroidManifest.xml , project.properties और res/values/google-services.xml

एंड्रॉइड ऐप बनाते समय सिंगल डेक्स के साथ एक समस्या

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

Cannot fit requested classes in a single dex file.

Dalvik Executable ( .dex ) फ़ाइलों का उपयोग एंड्रॉइड एप्लिकेशन ( .apk ) के लिए क्लास परिभाषाओं और उनके संबद्ध डेटा का एक सेट रखने के लिए किया जाता है। एक एकल डेक्स फ़ाइल 65,536 तरीकों के संदर्भ में सीमित है। यदि आपकी परियोजना में सभी एंड्रॉइड लाइब्रेरीज़ की कुल विधियाँ इस सीमा से अधिक हैं तो बिल्ड विफल हो जाएगा।

एकता ने 2017.2 में Minification पेश किया, जो अप्रयुक्त कोड को हटाने के लिए Proguard (या एकता के कुछ संस्करणों में अन्य उपकरणों) का उपयोग करता है, जो एकल डेक्स फ़ाइल में संदर्भित तरीकों की कुल संख्या को कम कर सकता है। विकल्प प्लेयर सेटिंग्स> एंड्रॉइड> पब्लिशिंग सेटिंग्स> मिनिफाई में पाया जा सकता है। विकल्प एकता के विभिन्न संस्करण में भिन्न हो सकते हैं इसलिए आधिकारिक एकता दस्तावेज देखें।

यदि संदर्भित तरीकों की संख्या अभी भी सीमा से अधिक है, तो एक अन्य विकल्प multidex को सक्षम multidex । एकता में इसे प्राप्त करने के कई तरीके हैं:

  • यदि Player Settings तहत Custom Gradle Template को सक्षम किया गया है, तो mainTemplate.gradle संशोधित mainTemplate.gradle
  • यदि आप निर्यात की गई परियोजना के निर्माण के लिए एंड्रॉइड स्टूडियो का उपयोग करते हैं, तो मॉड्यूल-स्तरीय build.gradle फ़ाइल को संशोधित करें।

अधिक विवरण मल्टीडेक्स उपयोगकर्ता गाइड में पाए जा सकते हैं

डेस्कटॉप वर्कफ़्लो सेट करें ( बीटा )

जब आप एक गेम बना रहे होते हैं, तो अक्सर अपने गेम को एकता संपादक में और डेस्कटॉप प्लेटफार्मों पर पहले परीक्षण करना बहुत आसान होता है, फिर बाद में विकास में मोबाइल उपकरणों पर तैनात और परीक्षण करते हैं। इस वर्कफ़्लो का समर्थन करने के लिए, हम फायरबेस यूनिटी एसडीके का एक उपसमुच्चय प्रदान करते हैं जो विंडोज, मैकओएस, लिनक्स और यूनिटी संपादक के भीतर से चल सकता है।

  1. मोबाइल प्लेटफ़ॉर्म के लिए समान निर्देशों का पालन करके एक डेस्कटॉप-प्लेटफ़ॉर्म यूनिटी परियोजना स्थापित करें ( फायरबेस स्टेप के साथ अपने ऐप को पंजीकृत करें )।

  2. अपनी एकता परियोजना को एकता आईडीई में चलाएं या डेस्कटॉप के लिए अपनी एकता परियोजना बनाने का चयन करें।

  3. (वैकल्पिक) संपादन मोड में अपनी एकता परियोजना चलाएँ।

    फायरबेस यूनिटी एसडीके को एकता के संपादन मोड में भी चलाया जा सकता है, जिससे संपादक प्लगइन्स में इसका उपयोग किया जा सकता है।

    1. जब आप संपादक द्वारा उपयोग किया जाने वाला FirebaseApp बनाते हैं, तो डिफ़ॉल्ट उदाहरण का उपयोग न करें।

    2. इसके बजाय, FirebaseApp.Create() कॉल के लिए एक अनूठा नाम प्रदान करें।

      यूनिटी आईडीई द्वारा उपयोग किए गए उदाहरण और आपके यूनिटी प्रोजेक्ट द्वारा उपयोग किए गए इंस्टेंस के बीच विकल्पों में संघर्ष से बचने के लिए यह महत्वपूर्ण है।

समर्थित Firebase उत्पाद

संदर्भ प्रलेखन में एकता फायरबेस पुस्तकालयों के बारे में अधिक जानें।

Firebase Unity SDK iOS और Android पर निम्नलिखित फायरबेस उत्पादों का समर्थन करता है :

फायरबेस उत्पाद एकता पैकेज
AdMob AdMob यूनिटी प्लगइन में अलग से वितरित
एनालिटिक्स FirebaseAnalytics.unitypackage
प्रमाणीकरण FirebaseAuth.unitypackage
क्लाउड फायरस्टोर (अल्फा) FirebaseFirestore.unitypackage
क्लाउड फ़ंक्शंस FirebaseFunctions.unitypackage
क्लाउड मैसेजिंग FirebaseMessaging.unitypackage
(अनुशंसित) FirebaseAnalytics.unitypackage
बादल भंडारण FirebaseStorage.unitypackage
Crashlytics FirebaseCrashlytics.unitypackage
(अनुशंसित) FirebaseAnalytics.unitypackage
गतिशील लिंक FirebaseDynamicLinks.unitypackage
(अनुशंसित) FirebaseAnalytics.unitypackage
रियलटाइम डेटाबेस FirebaseDatabase.unitypackage
रिमोट कॉन्फ़िगरेशन FirebaseRemoteConfig.unitypackage
(अनुशंसित) FirebaseAnalytics.unitypackage

समर्थित Firebase उत्पाद (डेस्कटॉप)

फायरबेस यूनिटी एसडीके में उत्पादों के एक सबसेट के लिए डेस्कटॉप वर्कफ़्लो समर्थन शामिल है, फायरबस के कुछ हिस्सों को एकता संपादक में उपयोग करने में सक्षम बनाता है और विंडोज, मैकओएस और लिनक्स पर स्टैंडअलोन डेस्कटॉप बनाता है।

Firebase उत्पाद (डेस्कटॉप) एकता पैकेज
प्रमाणीकरण FirebaseAuth.unitypackage
क्लाउड फ़ंक्शंस FirebaseFunctions.unitypackage
क्लाउड फायरस्टोर (अल्फा) FirebaseFirestore.unitypackage
बादल भंडारण FirebaseStorage.unitypackage
रियलटाइम डेटाबेस FirebaseDatabase.unitypackage
रिमोट कॉन्फ़िगरेशन FirebaseRemoteConfig.unitypackage

फायरबेस विंडोज़, मैकओएस और लिनक्स के लिए निर्माण के दौरान सुविधा के लिए शेष डेस्कटॉप पुस्तकालयों को स्टब (गैर-कार्यात्मक) कार्यान्वयन के रूप में प्रदान करता है। इसलिए, आपको डेस्कटॉप को लक्षित करने के लिए सशर्त रूप से कोड संकलित करने की आवश्यकता नहीं है।

अगला कदम