Google 致力于为黑人社区推动种族平等。查看具体举措

Ityক্য এবং ফায়ারবেস এর জন্য সমস্যা সমাধান ও FAQ

এই পৃষ্ঠাটি ইউনিটি-নির্দিষ্ট সমস্যাগুলির জন্য টিপস এবং সমস্যা সমাধানের প্রস্তাব দেয় যা আপনি Firebase ব্যবহার করার সময় সম্মুখীন হতে পারেন।

অন্যান্য চ্যালেঞ্জ আছে বা আপনার সমস্যা নিচে বর্ণিত দেখতে পাচ্ছেন না? চেক আউট করতে ভুলবেন করুন প্রধান Firebase প্রায়শই জিজ্ঞাসিত প্রশ্নাবলী আরো প্যান Firebase বা পণ্য-নির্দিষ্ট প্রায়শই জিজ্ঞাসিত প্রশ্নাবলী জন্য।

.NET সামঞ্জস্যতা যখন ইউনিটি 2017.x এবং পরে ব্যবহার করে

ফায়ারবেস ityক্য 2017 এবং পরবর্তীতে একটি পরীক্ষামূলক বিল্ড বিকল্প হিসেবে .NET 4.x সমর্থন করে। Firebase প্লাগইনগুলির উপাদান ব্যবহার ব্যকরণগত SDK এর .NET আগের সংস্করণে কিছু .NET 4.x শ্রেণীর প্রদান।

অতএব, Firebase ইউনিটি SDK সংস্করণ 5.4.0 এবং পরে থাকা প্লাগইনগুলির সঙ্গে পারেন .NET 3.x বা নেট 4.x সামঞ্জস্যপূর্ণ প্রদান dotnet3 এবং dotnet4 Firebase ইউনিটি SDK এর ডিরেক্টরি।

যদি আপনি একটি Firebase প্লাগইন আমদানি করেন যা আপনার প্রজেক্টে .NET সংস্করণের সাথে সামঞ্জস্যপূর্ণ নয়, তাহলে আপনি পার্স 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 প্লাগইন আমদানি করেন:

  • আপনার ইউনিটি প্রকল্প, সম্পদ নেভিগেট সালে> সেবা সমাধানকারী> সংস্করণ হ্যান্ডলার> আপডেট আপনার প্রকল্পের জন্য সঠিক ডিএলএল সক্ষম করতে প্লে করুন।

.NET 4.x প্রকল্পে ইউনিটি 2017.1 IL2CPP সংকলন

ফায়ারবেস ityক্য 2017 এবং পরবর্তীতে একটি পরীক্ষামূলক বিল্ড বিকল্প হিসেবে .NET 4.x সমর্থন করে। Firebase প্লাগইনগুলির উপাদান ব্যবহার ব্যকরণগত SDK এর .NET আগের সংস্করণে কিছু .NET 4.x শ্রেণীর প্রদান।

অতএব, Firebase ইউনিটি SDK সংস্করণ 5.4.0 এবং পরে টাইপ ফরওয়ার্ডিং ডিএলএল যা ব্যকরণগত ধরনের ফরোয়ার্ড (উদাহরণস্বরূপ এর, বিশ্লেষণ বাস্তবায়ন উপলব্ধ System.Threading.Tasks.Task .NET Framework) এর জন্য। দুর্ভাগ্যবশত, 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.2 নেটওয়ার্কিং

ফায়ারবেস রিয়েলটাইম ডাটাবেস .NET নেটওয়ার্কিং স্ট্যাক ব্যবহার করে TLS নেটওয়ার্ক সংযোগ তৈরি করে। .NET 4.6 ব্যবহার করার সময় TLS কার্যকারিতা ইউনিটি 2017.2 তে ভেঙে যায় যার ফলে রিয়েলটাইম ডাটাবেস প্লাগইন সম্পাদকদের এবং ডেস্কটপে ব্যর্থ হয়।

এই সমস্যাটির কোন সমাধান নেই, তাই আপনাকে অবশ্যই ইউনিটির একটি ভিন্ন সংস্করণ ব্যবহার করতে হবে, উদাহরণস্বরূপ সংস্করণ 2017.1 বা 2017.3।

ইউনিটি ২০২০ -তে ফায়ারবেস অ্যান্ড্রয়েড কনফিগ ফাইল অনুপস্থিত

ইউনিটি সমর্থনে সংস্করণ যাতে Gradle বিল্ড কাস্টমাইজ করতে ক্ষমতা নেই যে, Firebase সম্পাদক টুল উত্পন্ন Assets/Plugins/Android/Firebase/res/values/google-services.xml একটি Android রিসোর্স হিসাবে একটি মধ্যে প্যাকেজ করা অ্যান্ড্রয়েড বিল্ড, যাতে ফায়ারবেস এসডিকে ডিফল্ট ফায়ারবেসএপ ইনস্ট্যান্স শুরু করতে এটি ব্যবহার করতে পারে।

ইউনিটি 2020 সালে সমস্ত Android সম্পদ সঙ্গে ডিরেক্টরি হতে হবে .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 সম্পাদনযোগ্য ( .dex ) ফাইল বর্গ সংজ্ঞা এবং অ্যান্ড্রয়েড অ্যাপ্লিকেশন (জন্য তাদের যুক্ত উপরি তথ্য একটি সেট রাখা ব্যবহার করা হয় .apk )। একটি একক ডেক্স ফাইল 65,536 পদ্ধতির রেফারেন্সের মধ্যে সীমাবদ্ধ। আপনার প্রকল্পের সমস্ত অ্যান্ড্রয়েড লাইব্রেরির মোট পদ্ধতির সংখ্যা এই সীমা অতিক্রম করলে বিল্ডটি ব্যর্থ হবে।

ইউনিটি চালু Minification 2017,2 মধ্যে, যা অব্যবহৃত কোড, যা একটি একক Dex ফাইলে উল্লিখিত পদ্ধতি মোট সংখ্যা কমে যায় আউট স্ট্রিপ (ইউনিটি কিছু সংস্করণে বা অন্যান্য টুলস) Proguard ব্যবহার করে। বিকল্প প্লেয়ার সেটিংস> অ্যানড্রইড> প্রকাশনা সেটিংস> অল্প করা খুঁজে পাওয়া যেতে পারে। ইউনিটির বিভিন্ন সংস্করণে বিকল্পগুলি ভিন্ন হতে পারে তাই অফিসিয়াল ইউনিটি ডকুমেন্টেশন দেখুন।

রেফারেন্সড পদ্ধতির সংখ্যা এখনও সীমা ছাড়িয়ে গেছে, তাহলে অন্য কোনো বিকল্প সক্ষম করা multidex । একতায় এটি অর্জনের একাধিক উপায় রয়েছে:

  • তাহলে Custom Gradle Template অধীনে Player Settings সক্রিয় করা হয়, সংশোধন করে mainTemplate.gradle
  • আপনি Android স্টুডিও ব্যবহার করেন তাহলে রপ্তানি প্রকল্পের নির্মাণ করতে, মডিউল-স্তরের সংশোধন build.gradle ফাইল।

আরো বিস্তারিত পাওয়া যাবে multidex ইউজার গাইড

অ্যান্ড্রয়েডের জন্য জাভা 8 সাপোর্ট এবং ডিসুগারিং ইউনিটি 2017 এবং ইউনিটি 2018 (ফায়ারবেস ইউনিটি এসডিকে 8.0.0 এবং উচ্চতর) তৈরি করে

মে 2021 (Firebase Bom v28.0.0), তার সমস্ত Android লাইব্রেরির জন্য Firebase অক্ষম desugaring ইন (দেখুন মুক্তি নোট )। ফায়ারবেস ইউনিটি SDK (8.0.0 এবং উচ্চতর) দিয়ে একটি অ্যান্ড্রয়েড অ্যাপ তৈরি করার সময়, আপনি নিম্নলিখিত বিল্ড ত্রুটি দেখতে পারেন:

> Error while dexing.
 The dependency contains Java 8 bytecode. Please enable desugaring by adding the following to build.gradle

এই পরিবর্তন শুধুমাত্র ইউনিটি 2017 এবং ইউনিটি 2018 এ অ্যান্ড্রয়েড বিল্ডগুলিকে প্রভাবিত করে। ইউনিটি -এর একটি নবীনতর সংস্করণ যোগ compileOptions gradle বিল্ড ফাইল ডিফল্টরূপে ব্লক। ইউনিটি 2017 এবং ইউনিটি 2018 এ এই বিল্ড ত্রুটি ঠিক করতে, নিম্নলিখিতগুলির মধ্যে একটি করুন:

  • একটি যোগ করুন compileOptions আপনার gradle টেমপ্লেটে ব্লক:

    1. ব্যবহার করুন Gradle বিল্ড সিস্টেম হিসাবে।
    2. সক্ষম করুন Custom Gradle Template অধীনে Player Settings
    3. নিম্নলিখিত পংক্তিগুলি যোগ mainTemplate.gradle (অথবা মডিউল স্তর build.gradle যদি অ্যান্ড্রয়েড Studio এর জন্য একটি প্রকল্প রপ্তানি):

      android {
          compileOptions {
              sourceCompatibility 1.8
              targetCompatibility 1.8
          }
      }
      
  • অন্যথায়, আপনার অ্যান্ড্রয়েড প্রকল্পের জন্য minSdkVersion বাড়িয়ে 26 বা তার উপরে করুন।

আরও দেখুন অ্যানড্রইড সমস্যাসমাধানের - desugaring বিল্ড ব্যর্থতা