এই পৃষ্ঠায় Unity-নির্দিষ্ট সমস্যার জন্য পরামর্শ ও সমস্যার সমাধান করার উপায় দেওয়া আছে যা Firebase ব্যবহার করার সময় আপনার কাজে লাগতে পারে।
অন্য কোনও সমস্যা আছে অথবা নিচে আপনার সমস্যা উল্লেখ করা নেই? আরও প্যান-Firebase বা প্রোডাক্ট-নির্দিষ্ট FAQ-এর জন্য প্রধান Firebase FAQ চেক করতে ভুলবেন না।
Android অ্যাপ তৈরি করার সময় সিঙ্গেল dex সংক্রান্ত সমস্যা
Android অ্যাপ তৈরি করার সময়, একটি dex ফাইল থাকার কারণে আপনি বিল্ড সংক্রান্ত সমস্যার সম্মুখীন হতে পারেন। আপনার প্রোজেক্ট Gradle বিল্ড সিস্টেম ব্যবহার করার জন্য কনফিগার করা থাকলে, ত্রুটি মেসেজটি নিম্নলিখিত মেসেজের মতো দেখাবে।
Cannot fit requested classes in a single dex file.
Dalvik Executable (.dex) ফাইলগুলি Android অ্যাপ্লিকেশনের (.apk) জন্য ক্লাস ডেফিনেশন এবং
তাদের সাথে সম্পর্কিত অ্যাডজাঙ্কট ডেটার একটি সেট ধরে রাখতে ব্যবহৃত হয়। একটি একক dex
ফাইল 65,536টি পদ্ধতির রেফারেন্সের মধ্যে সীমাবদ্ধ। আপনার প্রোজেক্টের সব Android লাইব্রেরি থেকে মেথডের মোট সংখ্যা এই সীমা অতিক্রম করলে,
বিল্ড ব্যর্থ হবে।
Unity ২০১৭.২ ভার্সনে মিনিফিকেশন ফিচার নিয়ে এসেছে, যা Proguard (বা Unity-র কিছু ভার্সনে অন্যান্য টুল) ব্যবহার করে অব্যবহৃত কোড সরিয়ে দেয়, যার ফলে একটি dex ফাইলে রেফারেন্স করা মেথডের মোট সংখ্যা কমে যেতে পারে। এই বিকল্পটি প্লেয়ার সেটিংস > Android > প্রকাশনা সেটিংস > ছোট করুন বিকল্পে পাওয়া যাবে। Unity-এর বিভিন্ন ভার্সনে বিকল্পগুলি আলাদা হতে পারে, তাই অফিসিয়াল Unity ডকুমেন্টেশন দেখুন।
রেফারেন্স করা পদ্ধতির সংখ্যা এখনও সীমা অতিক্রম করলে, আরেকটি বিকল্প হল
multidex চালু করা। Unity-তে এটি করার একাধিক উপায় আছে:
Player Settings-এর অধীনেCustom Gradle Templateচালু থাকলে,mainTemplate.gradleপরিবর্তন করুন।- এক্সপোর্ট করা প্রোজেক্ট তৈরি করতে Android Studio ব্যবহার করলে, মডিউল-লেভেল
build.gradleফাইল পরিবর্তন করুন।
মাল্টিডেক্স ব্যবহারকারীর নির্দেশিকা থেকে আরও তথ্য পাওয়া যাবে।
minSdkVersion 23 সহ Android-এর জন্য তৈরি করার সময় সমস্যা
Android-এর জন্য তৈরি করার সময়, আপনি minSdkVersion ২৩ টার্গেট করলে, এটি
ডেক্সিং ধাপে ব্যর্থ হতে পারে, সাধারণত Gradle টাস্ক ':launcher:mergeExtDexDebug'-এ, যেখানে
এটি বলবে যে Android লাইব্রেরির মধ্যে একটি "ট্রান্সফর্ম করতে ব্যর্থ হয়েছে"। Android SDK-এর ডিফল্ট dex টুলে একটি বাগ থাকার কারণে এটি
হয়, যা বেশিরভাগ Unity এডিটর ব্যবহার করে এবং এটি কয়েকটি ভিন্ন উপায়ে
সমাধান করা যেতে পারে:
minSdkVersion২৪-এ সেট করো।- Android মিনিফিকেশন চালু করুন, প্লেয়ার সেটিংস > Android > প্রকাশনা সেটিংস > মিনিফাই বিকল্পে গিয়ে
- আপনার
settingsTemplate.gradleফাইলে এটি যোগ করে dex টুলের অন্য একটি ভার্সন উল্লেখ করুন:
buildscript {
repositories {
mavenLocal()
maven { url 'https://maven.google.com' }
mavenCentral()
}
dependencies {
classpath 'com.android.tools:r8:8.3.37'
}
}
Cocoapods-এর মাধ্যমে iOS-এর জন্য তৈরি করার সময় সমস্যা
iOS-এর জন্য তৈরি করার সময়, Cocoapod ইনস্টলেশন ভাষা লোকেল বা UTF-8 এনকোডিং সংক্রান্ত সমস্যার কারণে ব্যর্থ হতে পারে। বর্তমানে এই সমস্যার সমাধান করার জন্য বিভিন্ন উপায় রয়েছে।
টার্মিনাল থেকে সরাসরি
pod installরান করুন এবং এর ফলে তৈরি হওয়া xcworkspace ফাইলটি খুলুন।Cocoapods-এর ভার্সন 1.10.2-এ ডাউনগ্রেড করুন। সমস্যাটি শুধুমাত্র ভার্সন ১.১১ এবং তার পরবর্তী ভার্সনে রয়েছে।
আপনার
~/.bash_profileবা সমতুল্যতে,export LANG=en_US.UTF-8যোগ করুন
Firebase Unity SDK-এর ভার্সন কীভাবে আপডেট করবেন
Firebase ইউনিটি SDK-এর ভার্সন আপডেট করার প্রসেস নির্ভর করে সেগুলি প্রথমে কীভাবে ইমপোর্ট করা হয়েছিল তার উপর। এখানে দুটি বিকল্প ইমপোর্ট পদ্ধতি দেওয়া হল:
- আপনার প্রোজেক্টের
Assets/ডিরেক্টরির অধীনে.unitypackageটি ফাইল ইমপোর্ট করা হচ্ছে - Unity প্যাকেজ ম্যানেজার
(UPM) ব্যবহার করে ইমপোর্ট করা
- Unity 2018.4+ ভার্সনে প্যাকেজ ম্যানেজ করার জন্য এটি সাজেস্ট করা পদ্ধতি।
- ভবিষ্যতে ভার্সন আপডেট করা সহজ করতে এবং আপনার
Assets/ডিরেক্টরি পরিষ্কার করতে এই পদ্ধতি ব্যবহার করুন।
আপনার Unity প্রোজেক্টে, আপনার সব Firebase প্যাকেজ ম্যানেজ করার জন্য আপনাকে শুধুমাত্র একটি ইম্পোর্ট পদ্ধতি ব্যবহার করতে হবে। নিচের নির্দেশাবলী শুধু ব্যক্তিগত প্যাকেজের ভার্সন আপডেট করার জন্যই নয়, প্রয়োজন হলে, UPM-এ প্যাকেজ ম্যানেজমেন্ট মাইগ্রেট করার জন্যও ব্যবহার করা যেতে পারে (এটি হল ইম্পোর্ট করার সাজেস্ট করা পদ্ধতি)।