| প্ল্যাটফর্ম বেছে নিন: | iOS+ Android Flutter Unity |
আপনি কোনও সমস্যার উপর ক্লিক করে Firebase কনসোলের DevOps ও এনগেজমেন্ট > Crashlytics ড্যাশবোর্ড থেকে ইভেন্টের বিস্তারিত রিপোর্ট পেতে পারেন। আপনার অ্যাপে কী ঘটছে এবং Crashlytics-এ রিপোর্ট করা ইভেন্টের আশেপাশের পরিস্থিতি সম্পর্কে আরও ভালোভাবে বোঝার জন্য আপনি সেইসব রিপোর্ট কাস্টমাইজ করতে পারবেন।
Crashlytics-এ ধরা পড়া ব্যতিক্রম এবং ধরা না পড়া ব্যতিক্রম সম্পর্কে অভিযোগ জানান।
মেমরি করাপশন সংক্রান্ত সমস্যার সমাধান করতে GWP-ASan রিপোর্ট অন্তর্ভুক্ত করুন।
কাস্টম কী, কাস্টম লগ মেসেজ এবং ব্যবহারকারীর শনাক্তকারী লগ করতে আপনার অ্যাপকে ইনস্ট্রুমেন্ট করুন।
আপনার অ্যাপ Google Analytics-এর জন্য Firebase SDK ব্যবহার করলে, অটোমেটিক ব্রেডক্রাম্ব লগ পান। এইসব লগ আপনাকে আপনার অ্যাপে Crashlytics-এর সংগ্রহ করা ইভেন্ট পর্যন্ত ব্যবহারকারীর অ্যাকশন সম্পর্কে দৃশ্যমানতা দেয়।
আপনার ব্যবহারকারীদের জন্য অটোমেটিক ক্র্যাশ রিপোর্টিং বন্ধ করুন এবং অপ্ট-ইন রিপোর্টিং চালু করুন। মনে রাখবেন যে, ডিফল্ট হিসেবে, Crashlytics আপনার অ্যাপের সব ব্যবহারকারীর জন্য ক্র্যাশ রিপোর্ট অটোমেটিক সংগ্রহ করে।
ব্যতিক্রম সম্পর্কে অভিযোগ জানানো
ধরা পড়া ব্যতিক্রম সম্পর্কে অভিযোগ জানানো
আপনার যদি প্রত্যাশিত ব্যতিক্রম থাকে, তাহলে Crashlytics SDK সেগুলিকে অমারাত্মক ইভেন্ট হিসেবে রিপোর্ট করতে পারে। এইসব ইভেন্ট ডিভাইসে লগ করা হয় এবং তারপর পরবর্তী মারাত্মক ইভেন্ট রিপোর্টের সাথে পাঠানো হয় অথবা এন্ড-ইউজার গেম আবার চালু করলে পাঠানো হয়।
আপনি নিম্নলিখিত পদ্ধতি ব্যবহার করে C#-এ ব্যতিক্রম লগ করতে পারবেন:
Crashlytics.LogException(Exception ex);
আপনার গেমের try/catch ব্লকে প্রত্যাশিত ব্যতিক্রম লগ করতে পারবেন:
try { myMethodThatThrows(); } catch (Exception e) { Crashlytics.LogException(e); // handle your exception here! }
আগে বোঝা যায়নি এমন সমস্যার ব্যাপারে অভিযোগ জানানো
আপনার গেম ক্র্যাশ করে না এমন ধরা না পড়া ব্যতিক্রমের (যেমন, গেম লজিকে ধরা না পড়া
C# ব্যতিক্রম) জন্য, আপনি Crashlytics SDK-কে
মারাত্মক ইভেন্ট হিসেবে রিপোর্ট করতে দিতে পারেন, এর জন্য আপনাকে
Crashlytics.ReportUncaughtExceptionsAsFatal প্রপার্টিকে true হিসেবে সেট করতে হবে, যেখানে আপনি
আপনার Unity প্রোজেক্টে Crashlytics ইনিশিয়ালাইজ করেন
।
গেমের শেষ ব্যবহারকারীকে গেম রিস্টার্ট করতে
হবে না। এইসব ইভেন্ট Crashlytics-এ রিয়েল-টাইমে রিপোর্ট করা হয়।
এইসব আনক্যাচড ব্যতিক্রমকে মারাত্মক ইভেন্ট হিসেবে রিপোর্ট করার অর্থ হল, সেগুলি আপনার ক্র্যাশ-ফ্রি ব্যবহারকারীর পরিসংখ্যান এবং ভেলোসিটি অ্যালার্টে গণনা করা হবে।
মনে রাখবেন, নেটিভ ক্র্যাশ সবসময় মারাত্মক ইভেন্ট হিসেবে রিপোর্ট করা হয়। এইসব ইভেন্ট ডিভাইসে লগ করা হয় এবং তারপর এন্ড-ইউজার গেম রিস্টার্ট করলে সেগুলি পাঠানো হয়।
void Start() { // Since there is no try-block surrounding this call, if an exception is thrown, // it is considered unexpected. // Setting `Crashlytics.ReportUncaughtExceptionsAsFatal = true` // will ensure that such cases are reported as fatals. thirdPartyMethodThatMayThrow(); }
মেমরি করাপশন সংক্রান্ত সমস্যার ডিবাগ করতে GWP-ASan রিপোর্ট অন্তর্ভুক্ত করা
IL2CPP ব্যবহার করে এমন Android অ্যাপের জন্য, Crashlytics GWP-ASan রিপোর্ট সংগ্রহ করে নেটিভ মেমরি সংক্রান্ত সমস্যার কারণে হওয়া ক্র্যাশ ডিবাগ করতে সাহায্য করতে পারে। এইসব মেমরি সংক্রান্ত সমস্যা আপনার অ্যাপের মধ্যে মেমরি করাপশনের সাথে যুক্ত থাকতে পারে, যা অ্যাপের নিরাপত্তা সংক্রান্ত দুর্বলতার প্রধান কারণ।
Firebase কনসোলের DevOps ও এনগেজমেন্ট > Crashlytics ড্যাশবোর্ডে আপনি এই ডেটা দিয়ে নিম্নলিখিত কাজগুলি করতে পারবেন:
আপনি কোনও সমস্যার বিবরণে ক্লিক করলে, নতুন "মেমরি স্ট্যাক ট্রেস" ট্যাবে এই ডেটা দেখতে পাবেন।
এই ডেটা সম্পর্কিত সব সমস্যা দ্রুত দেখতে, আপনি নতুন "GWP-ASan রিপোর্ট" সিগন্যাল ও ফিল্টার ব্যবহার করতে পারবেন।
আপনার অ্যাপ লেটেস্ট Crashlytics SDK for Unity (v10.7.0+) ব্যবহার করলে এবং GWP-ASan স্পষ্টভাবে চালু করা থাকলে (এর জন্য আপনাকে Android অ্যাপ ম্যানিফেস্ট পরিবর্তন করতে হবে), আপনি GWP-ASan মেমরি রিপোর্ট পেতে পারেন। আপনার অ্যাপে কোনও C++ কোড থাকলে, আপনি Android ডকুমেন্টেশনে দেওয়া উদাহরণ নেটিভ কোড ব্যবহার করে আপনার GWP-ASan সেট-আপ পরীক্ষা করতে পারবেন।
কাস্টম কী যোগ করা
ক্র্যাশ হওয়ার আগে আপনার অ্যাপের নির্দিষ্ট অবস্থা সম্পর্কে জানতে কাস্টম কী সাহায্য করে। আপনি ক্র্যাশ রিপোর্টের সাথে ইচ্ছামতো কী-ভ্যালু পেয়ার অ্যাসোসিয়েট করতে পারবেন, তারপর Firebase কনসোলের DevOps ও এনগেজমেন্ট > Crashlytics ড্যাশবোর্ডে ক্র্যাশ রিপোর্ট সার্চ ও ফিল্টার করতে কাস্টম কী ব্যবহার করতে পারবেন।
আপনি কাস্টম কীয়ের সাথে ম্যাচ করে এমন সমস্যা সার্চ করতে পারবেন।
কনসোলে কোনও নির্দিষ্ট সমস্যা পর্যালোচনা করার সময়, আপনি প্রতিটি ইভেন্টের জন্য সম্পর্কিত কাস্টম কী (কী সাবট্যাব) দেখতে এবং এমনকি কাস্টম কী (পৃষ্ঠার উপরে ফিল্টার মেনু) অনুযায়ী ইভেন্ট ফিল্টার করতে পারবেন।
একাধিকবার কল করা হলে, আগে থেকে থাকা কী-এর নতুন ভ্যালু, ভ্যালু আপডেট করবে এবং ক্র্যাশ রেকর্ড করা হলে, শুধুমাত্র সবচেয়ে সাম্প্রতিক ভ্যালু ক্যাপচার করা হয়।
Crashlytics.SetCustomKey(string key, string value);
কাস্টম লগ মেসেজ যোগ করা
ক্র্যাশ হওয়ার আগে পর্যন্ত ইভেন্ট সম্পর্কে আরও তথ্য পেতে, আপনি নিজের অ্যাপে কাস্টম Crashlytics লগ যোগ করতে পারেন। Crashlytics লগগুলি আপনার ক্র্যাশ ডেটার সাথে অ্যাসোসিয়েট করে এবং কোনও সমস্যার বিবরণ দেখার সময় লগ ট্যাবে সেগুলি দেখায় (Firebase কনসোলের DevOps ও এনগেজমেন্ট > Crashlytics ড্যাশবোর্ডে আপনার সব সমস্যা দেখুন)।
Crashlytics.Log(string message);
ব্যবহারকারীর শনাক্তকারী সেট করা
আপনি কোনও আইডি নম্বর, টোকেন বা হ্যাশ করা মান ব্যবহার করে আপনার অ্যাপ্লিকেশনের শেষ ব্যবহারকারীকে অনন্যভাবে শনাক্ত করতে পারবেন, তবে এর জন্য তাদের কোনও ব্যক্তিগত তথ্য প্রকাশ বা ট্রান্সমিট করতে হবে না। এছাড়াও, আপনি ফাঁকা স্ট্রিং সেট করে ভ্যালু মুছে দিতে পারেন। Firebase কনসোলের DevOps ও এনগেজমেন্ট > Crashlytics ড্যাশবোর্ডে কোনও নির্দিষ্ট ক্র্যাশ দেখার সময় এই ভ্যালু দেখানো হয়।
Crashlytics.SetUserId(string identifier);
ব্রেডক্রাম্ব লগ পাওয়া
ক্র্যাশ, নন-ফ্যাটাল বা ANR ইভেন্ট হওয়ার আগে ব্যবহারকারী আপনার অ্যাপের সাথে কীভাবে ইন্টার্যাক্ট করেছেন তা ব্রেডক্রাম্ব লগ থেকে আরও ভালোভাবে বুঝতে পারবেন। কোনও সমস্যা আবার তৈরি ও ডিবাগ করার চেষ্টা করার সময় এইসব লগ সহায়ক হতে পারে।
ব্রেডক্রাম্ব লগ Google Analytics দ্বারা পরিচালিত হয়, তাই ব্রেডক্রাম্ব লগ পেতে, আপনাকে Firebase প্রোজেক্টের জন্য Google Analytics চালু করতে হবে এবং আপনার অ্যাপে Google Analytics-এর জন্য Firebase SDK যোগ করতে হবেGoogle Analytics। এইসব প্রয়োজনীয়তা পূরণ হয়ে গেলে, কোনও সমস্যার বিবরণ দেখার সময়, লগ ট্যাবে ইভেন্টের ডেটার সাথে ব্রেডক্রাম্ব লগ অটোমেটিক অন্তর্ভুক্ত করা হয় (Firebase কনসোলের DevOps ও এনগেজমেন্ট > Crashlytics ড্যাশবোর্ডে আপনার সব সমস্যা দেখুন)।
Analytics SDK
অটোমেটিক screen_view ইভেন্ট লগ করে
যা ক্র্যাশ, নন-ফ্যাটাল বা ANR ইভেন্টের আগে দেখা স্ক্রিনের
তালিকা দেখানোর জন্য ব্রেডক্রাম্ব লগ চালু করে। screen_view ব্রেডক্রাম্ব লগে একটি
firebase_screen_class প্যারামিটার থাকে।
এছাড়াও, ব্যবহারকারীর সেশনের মধ্যে আপনি ম্যানুয়ালি লগ করা যেকোনও কাস্টম ইভেন্ট, ইভেন্টের প্যারামিটার ডেটা সহ, ব্রেডক্রাম্ব লগ পূরণ করে। এই ডেটা ক্র্যাশ, নন-ফ্যাটাল বা ANR ইভেন্টের আগে ব্যবহারকারীর অ্যাকশনের একটি সিরিজ দেখাতে সাহায্য করতে পারে।
মনে রাখবেন, আপনি Google Analytics ডেটা সংগ্রহ ও ব্যবহার করা নিয়ন্ত্রণ করতে পারবেন, এর মধ্যে ব্রেডক্রাম্ব লগ পূরণ করা ডেটা অন্তর্ভুক্ত।
রিপোর্টিংয়ে অপ্ট-ইন করার সুবিধা চালু করা
ডিফল্ট হিসেবে, Crashlytics আপনার সব অ্যাপের ব্যবহারকারীদের জন্য ক্র্যাশ রিপোর্ট অটোমেটিক সংগ্রহ করে। ক্র্যাশ রিপোর্ট করার বিকল্পে ব্যবহারকারীদের অপ্ট-ইন করার সুযোগ দিয়ে, তাদের পাঠানো ডেটার উপর আপনি আরও বেশি নিয়ন্ত্রণ দিতে পারেন।
শুধুমাত্র বেছে নেওয়া ব্যবহারকারীদের জন্য অটোমেটিক সংগ্রহ করার সুবিধা বন্ধ করতে, রানটাইমে Crashlytics ডেটা সংগ্রহ ওভাররাইড কল করুন। আপনার অ্যাপের পরবর্তী সব লঞ্চ জুড়ে ওভাররাইড ভ্যালু থাকে, তাই Crashlytics সেই ব্যবহারকারীর জন্য অটোমেটিক রিপোর্ট সংগ্রহ করতে পারে।
Crashlytics.IsCrashlyticsCollectionEnabled = true
ব্যবহারকারী পরে ডেটা সংগ্রহ করার বিকল্প থেকে বেরিয়ে এলে, আপনি ওভাররাইড ভ্যালু হিসেবে false পাস করতে পারবেন। এর ফলে, ব্যবহারকারী পরের বার অ্যাপ লঞ্চ করলে এটি প্রয়োগ করা হবে এবং
ব্যবহারকারী যতবার অ্যাপ লঞ্চ করবেন ততবার এটি প্রয়োগ করা হবে।
ক্র্যাশ ইনসাইট ডেটা ম্যানেজ করা
অন্যান্য Firebase অ্যাপ থেকে পাওয়া ট্রেসের সাথে আপনার বেনামী স্ট্যাক ট্রেস তুলনা করে এবং আপনার সমস্যাটি কোনও বৃহত্তর ট্রেন্ডের অংশ কিনা তা জানিয়ে ক্র্যাশ ইনসাইট আপনাকে সমস্যা সমাধান করতে সাহায্য করে। অনেক সমস্যার ক্ষেত্রে, ক্র্যাশ ইনসাইট এমনকি ক্র্যাশ ডিবাগ করার জন্য রিসোর্সও প্রদান করে।
সাধারণ স্থিতিশীলতা সংক্রান্ত ট্রেন্ড শনাক্ত করতে ক্র্যাশ ইনসাইট এগ্রিগেট করা ক্র্যাশ ডেটা ব্যবহার করে। আপনি অ্যাপের ডেটা শেয়ার করতে না চাইলে, ক্র্যাশ ইনসাইট থেকে বেরিয়ে আসতে পারেন। এর জন্য, Firebase কনসোলের DevOps ও এনগেজমেন্ট > Crashlytics ড্যাশবোর্ডের মধ্যে থাকা ক্র্যাশ ইনসাইট মেনু থেকে বেরিয়ে আসতে পারেন।
পরবর্তী ধাপ
- উন্নত বিশ্লেষণ ও ফিচারের জন্য, যেমন আপনার ডেটা কোয়েরি করা, কাস্টম ড্যাশবোর্ড তৈরি করা এবং কাস্টম অ্যালার্ট সেট-আপ করার জন্য, BigQuery বা Cloud Logging-এ আপনার ডেটা এক্সপোর্ট করুন ।