Crashlytics ড্যাশবোর্ডে পঠনযোগ্য ক্র্যাশ রিপোর্ট পান


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

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

অ্যাপল প্ল্যাটফর্মগুলি

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

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

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

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

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

    রান স্ক্রিপ্টটি বিদ্যমান কিনা , নাকি রান স্ক্রিপ্টটি বিদ্যমান তা জানতে নীচের প্রযোজ্য বিভাগটি দেখুন।

Flutter এবং Crashlytics জন্য আপনার সংস্করণ কনফিগারেশন পরীক্ষা করুন (যদি --split-debug-info পতাকা ব্যবহার করেন)

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

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

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

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

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

নিশ্চিত করুন যে নিম্নলিখিত লাইনগুলি project-level build.gradle এবং app-level 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'

আপনি Flutter প্রতীক আপলোড করার জন্য CLI ব্যবহার করছেন কিনা তা পরীক্ষা করুন (যদি --split-debug-info পতাকা ব্যবহার করেন)

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

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

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

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

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

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