ক্র্যাশলিটিক্স ড্যাশবোর্ডে পঠনযোগ্য ক্র্যাশ রিপোর্ট পান (ফ্লাটার)

প্ল্যাটফর্ম নির্বাচন করুন: iOS+ অ্যান্ড্রয়েড ফ্লাটার ইউনিটি


ডিফল্টরূপে, Firebase Crashlytics স্বয়ংক্রিয়ভাবে আপনার ফ্লাটার প্রজেক্টকে প্রয়োজনীয় সিম্বল ফাইল আপলোড করার জন্য ইন্সট্রুমেন্ট করে, যা ক্র্যাশ রিপোর্টগুলোকে ডিওবিফাসকেটেড এবং মানুষের পাঠযোগ্য করে তোলে।

দুর্ভাগ্যবশত, এমন কিছু পরিস্থিতি তৈরি হতে পারে যার ফলে প্রজেক্টটি পুরোপুরি কনফিগার করা সম্ভব হয় না। এই নির্দেশিকাটিতে অটোমেশন কী কাজ করে তা তুলে ধরা হয়েছে এবং আপনার প্রজেক্ট সেটআপের ত্রুটি খুঁজে বের করার জন্য প্রাথমিক পদক্ষেপগুলো দেওয়া হয়েছে।

অ্যাপল প্ল্যাটফর্ম

dSYM ফাইল আপলোড করার জন্য আপনার কনফিগারেশন পরীক্ষা করুন।

Crashlytics Flutter প্লাগইনটি যোগ করে ` flutterfire configure কমান্ডটি চালালে, এটি আপনার প্রোজেক্টের Xcode ওয়ার্কস্পেসে একটি রান স্ক্রিপ্ট যোগ করার চেষ্টা করবে, যা প্রয়োজনীয় dSYM সিম্বল ফাইলগুলো খুঁজে বের করে Crashlytics এ আপলোড করে। এই ফাইলগুলো ছাড়া, আপনি Crashlytics ড্যাশবোর্ডে একটি "Missing dSYM" অ্যালার্ট দেখতে পাবেন এবং অনুপস্থিত ফাইলগুলো আপলোড না হওয়া পর্যন্ত ব্যাকএন্ডে এক্সেপশনগুলো আটকে থাকবে।

আপনার যদি এই সমস্যাটি থাকে, তাহলে প্রথমে নিশ্চিত করুন যে আপনার রান স্ক্রিপ্টটি ইনস্টল করা আছে:

  1. আপনার প্রোজেক্টের iOS ডিরেক্টরিতে ( FLUTTER_PROJECT_NAME /ios/Runner.xcworkspace ) Xcode ওয়ার্কস্পেস ফাইলটি খুঁজুন এবং খুলুন।

  2. রানার টার্গেটের বিল্ড ফেজে [firebase_crashlytics] Crashlytics Upload Symbols শিরোনামের রান স্ক্রিপ্টটি যোগ করা হয়েছে কিনা তা শনাক্ত করুন।

    রান স্ক্রিপ্টটি বিদ্যমান নেই নাকি বিদ্যমান আছে , তা জানতে নিচের প্রযোজ্য অংশটি দেখুন।

Flutter এবং Crashlytics এর জন্য আপনার ভার্সন কনফিগারেশন যাচাই করুন (যদি --split-debug-info ফ্ল্যাগটি ব্যবহার করে থাকেন)।

আপনার ফ্লাটার প্রজেক্টে যদি --split-debug-info ফ্ল্যাগ (এবং ঐচ্ছিকভাবে --obfuscate ফ্ল্যাগও) ব্যবহৃত হয়, তাহলে আপনার অ্যাপের পাঠযোগ্য স্ট্যাক ট্রেস দেখানোর জন্য অতিরিক্ত কিছু পদক্ষেপের প্রয়োজন হবে।

নিশ্চিত করুন যে আপনার প্রজেক্টটি প্রস্তাবিত ভার্সন কনফিগারেশন (Flutter 3.12.0+ এবং Crashlytics Flutter প্লাগইন 3.3.4+) ব্যবহার করছে, যাতে আপনার প্রজেক্ট স্বয়ংক্রিয়ভাবে Flutter সিম্বল (dSYM ফাইল) তৈরি করে Crashlytics এ আপলোড করতে পারে।

অ্যান্ড্রয়েড

আপনার নির্ভরতা কনফিগারেশন পরীক্ষা করুন

flutterfire configure কমান্ডটি আপনার প্রোজেক্টের গ্রেডল বিল্ড ফাইলগুলিতে প্রয়োজনীয় ডিপেন্ডেন্সিগুলি যোগ করার চেষ্টা করে। এই ডিপেন্ডেন্সিগুলি ছাড়া, অবফাসকেশন চালু থাকলে Firebase কনসোলের ক্র্যাশ রিপোর্টগুলি অস্পষ্ট হয়ে যেতে পারে।

প্রজেক্ট-লেভেলের build.gradle এবং অ্যাপ-লেভেলের build.gradle এ নিম্নলিখিত লাইনগুলো আছে কিনা তা নিশ্চিত করুন:

  • প্রজেক্ট-লেভেলের বিল্ড ফাইলে ( android/build.gradle ) নিম্নলিখিত লাইনটি খুঁজুন:

    dependencies {
    // ... other dependencies
    
    classpath 'com.google.gms:google-services:4.3.5'
    classpath 'com.google.firebase:firebase-crashlytics-gradle:2.7.1'
    }
  • অ্যাপ-লেভেলের বিল্ড ফাইলে ( android/app/build.gradle ) নিম্নলিখিত লাইনটি খুঁজুন:

    // ... other imports
    
    android {
    // ... your android config
    }
    
    dependencies {
    // ... your dependencies
    }
    
    // This section must appear at the bottom of the file
    apply plugin: 'com.google.gms.google-services'
    apply plugin: 'com.google.firebase.crashlytics'

নিশ্চিত করুন যে আপনি ফ্লাটার সিম্বল আপলোড করার জন্য CLI ব্যবহার করছেন (যদি --split-debug-info ফ্ল্যাগটি ব্যবহার করে থাকেন)।

আপনার ফ্লাটার প্রজেক্টে যদি --split-debug-info ফ্ল্যাগ (এবং ঐচ্ছিকভাবে --obfuscate ফ্ল্যাগও) ব্যবহৃত হয়, তাহলে আপনার অ্যাপের পাঠযোগ্য স্ট্যাক ট্রেস দেখানোর জন্য অতিরিক্ত কিছু পদক্ষেপের প্রয়োজন হবে।

ফ্লাটার ডিবাগ সিম্বল আপলোড করতে Firebase সিএলআই (v.11.9.0+) ব্যবহার করুন। একটি অবফাসকেটেড কোড বিল্ড থেকে ক্র্যাশ রিপোর্ট করার আগে আপনাকে ডিবাগ সিম্বলগুলো আপলোড করতে হবে।

আপনার ফ্লাটার প্রজেক্টের রুট ডিরেক্টরি থেকে নিম্নলিখিত কমান্ডটি চালান:

firebase crashlytics:symbols:upload --app=FIREBASE_APP_ID PATH/TO/symbols
  • FIREBASE_APP_ID : আপনার ফায়ারবেস অ্যান্ড্রয়েড অ্যাপ আইডি (প্যাকেজ নেম নয়)
    উদাহরণস্বরূপ ফায়ারবেস অ্যান্ড্রয়েড অ্যাপ আইডি: 1:567383003300:android:17104a2ced0c9b9b

  • PATH/TO /symbols : অ্যাপ্লিকেশনটি বিল্ড করার সময় আপনি --split-debug-info ফ্ল্যাগে যে ডিরেক্টরিটি পাস করেন, এটি সেই একই ডিরেক্টরি।

সমস্যা অব্যাহত থাকলে, অস্পষ্ট রিপোর্টগুলির সমস্যা সমাধানের জন্য অ্যান্ড্রয়েড-নির্দিষ্ট নির্দেশিকাটি দেখুন।