Crashlytics ড্যাশবোর্ডে, আপনি কোনও সমস্যার উপর ক্লিক করতে পারেন এবং একটি বিস্তারিত ইভেন্ট রিপোর্ট পেতে পারেন। আপনার অ্যাপে কী ঘটছে এবং Crashlytics এ রিপোর্ট করা ইভেন্টগুলির পরিস্থিতি আরও ভালভাবে বুঝতে সাহায্য করার জন্য আপনি সেই রিপোর্টগুলি কাস্টমাইজ করতে পারেন।
আপনার অ্যাপটিকে কাস্টম কী , কাস্টম লগ বার্তা এবং ব্যবহারকারী শনাক্তকারী লগ করার জন্য ব্যবহার করুন।
ব্যতিক্রমগুলি Crashlytics এ রিপোর্ট করুন।
যদি আপনার অ্যাপটি Google Analytics জন্য Firebase SDK ব্যবহার করে, তাহলে স্বয়ংক্রিয়ভাবে ব্রেডক্রাম্ব লগগুলি পাবেন। এই লগগুলি আপনাকে আপনার অ্যাপে Crashlytics সংগৃহীত ইভেন্টের দিকে পরিচালিত ব্যবহারকারীর ক্রিয়াকলাপগুলিতে দৃশ্যমানতা দেয়।
স্বয়ংক্রিয় ক্র্যাশ রিপোর্টিং বন্ধ করুন এবং আপনার ব্যবহারকারীদের জন্য অপ্ট-ইন রিপোর্টিং সক্ষম করুন । মনে রাখবেন, ডিফল্টরূপে, Crashlytics স্বয়ংক্রিয়ভাবে আপনার সমস্ত অ্যাপ ব্যবহারকারীদের জন্য ক্র্যাশ রিপোর্ট সংগ্রহ করে।
কাস্টম কী যোগ করুন
কাস্টম কীগুলি আপনাকে আপনার অ্যাপের নির্দিষ্ট অবস্থা জানতে সাহায্য করে যা ক্র্যাশের দিকে পরিচালিত করে। আপনি আপনার ক্র্যাশ রিপোর্টের সাথে ইচ্ছামত কী/মান জোড়া সংযুক্ত করতে পারেন, তারপর Firebase কনসোলে ক্র্যাশ রিপোর্ট অনুসন্ধান এবং ফিল্টার করতে কাস্টম কীগুলি ব্যবহার করতে পারেন।
- Crashlytics ড্যাশবোর্ডে , আপনি এমন সমস্যাগুলি অনুসন্ধান করতে পারেন যা একটি কাস্টম কী-এর সাথে মেলে।
- যখন আপনি কনসোলে একটি নির্দিষ্ট সমস্যা পর্যালোচনা করছেন, তখন আপনি প্রতিটি ইভেন্টের জন্য সংশ্লিষ্ট কাস্টম কীগুলি দেখতে পারেন ( কী সাবট্যাব) এবং এমনকি কাস্টম কী দ্বারা ইভেন্টগুলি ফিল্টার করতে পারেন (পৃষ্ঠার শীর্ষে ফিল্টার মেনু)।
কী/মান জোড়া সেট করতে setCustomValue পদ্ধতি ব্যবহার করুন। উদাহরণস্বরূপ:
সুইফট
// Set int_key to 100. Crashlytics.crashlytics().setCustomValue(100, forKey: "int_key") // Set str_key to "hello". Crashlytics.crashlytics().setCustomValue("hello", forKey: "str_key")
অবজেক্টিভ-সি
পূর্ণসংখ্যা, বুলিয়ান, অথবা ফ্লোট সেট করার সময়, মানটি @( value ) হিসেবে বক্স করুন।
// Set int_key to 100. [[FIRCrashlytics crashlytics] setCustomValue:@(100) forKey:@"int_key"]; // Set str_key to "hello". [[FIRCrashlytics crashlytics] setCustomValue:@"hello" forKey:@"str_key"];
আপনি একটি বিদ্যমান কী-এর মান পরিবর্তন করতে পারেন, কীটি কল করে এবং এটিকে একটি ভিন্ন মানে সেট করে। উদাহরণস্বরূপ:
সুইফট
Crashlytics.crashlytics().setCustomValue(100, forKey: "int_key") // Set int_key to 50 from 100. Crashlytics.crashlytics().setCustomValue(50, forKey: "int_key")
অবজেক্টিভ-সি
[[FIRCrashlytics crashlytics] setCustomValue:@(100) forKey:@"int_key"]; // Set int_key to 50 from 100. [[FIRCrashlytics crashlytics] setCustomValue:@(50) forKey:@"int_key"];
setCustomKeysAndValues পদ্ধতি ব্যবহার করে একটি NSDictionary একমাত্র প্যারামিটার ব্যবহার করে বাল্ক কী/মান জোড়া যোগ করুন:
সুইফট
let keysAndValues = [ "string key" : "string value", "string key 2" : "string value 2", "boolean key" : true, "boolean key 2" : false, "float key" : 1.01, "float key 2" : 2.02 ] as [String : Any] Crashlytics.crashlytics().setCustomKeysAndValues(keysAndValues)
অবজেক্টিভ-সি
NSDictionary *keysAndValues = @{@"string key" : @"string value", @"string key 2" : @"string value 2", @"boolean key" : @(YES), @"boolean key 2" : @(NO), @"float key" : @(1.01), @"float key 2" : @(2.02)}; [[FIRCrashlytics crashlytics] setCustomKeysAndValues: keysAndValues];
কাস্টম লগ বার্তা যোগ করুন
ক্র্যাশের পূর্ববর্তী ঘটনাগুলির জন্য আরও প্রসঙ্গ প্রদানের জন্য, আপনি আপনার অ্যাপে কাস্টম Crashlytics লগ যোগ করতে পারেন। Crashlytics লগগুলিকে আপনার ক্র্যাশ ডেটার সাথে সংযুক্ত করে এবং লগ ট্যাবের অধীনে Firebase কনসোলের Crashlytics পৃষ্ঠায় প্রদর্শন করে।
সুইফট
সমস্যাগুলি চিহ্নিত করতে log() অথবা log(format:, arguments:) ব্যবহার করুন। যদি আপনি বার্তা সহ একটি কার্যকর লগ আউটপুট পেতে চান, তাহলে আপনি যে অবজেক্টটি log() এ পাস করবেন তা অবশ্যই CustomStringConvertible প্রপার্টির সাথে সঙ্গতিপূর্ণ হবে। log() আপনার দ্বারা অবজেক্টের জন্য সংজ্ঞায়িত বর্ণনা প্রপার্টিটি ফেরত পাঠায়। উদাহরণস্বরূপ:
Crashlytics.crashlytics().log("Higgs-Boson detected! Bailing out…, \(attributesDict)")
.log(format:, arguments:) ফর্ম্যাটের মান getVaList() কল করার ফলে ফিরে আসে। উদাহরণস্বরূপ:
Crashlytics.crashlytics().log(format: "%@, %@", arguments: getVaList(["Higgs-Boson detected! Bailing out…", attributesDict]))
log() অথবা log(format:, arguments:) কীভাবে ব্যবহার করবেন সে সম্পর্কে আরও তথ্যের জন্য, Crashlytics রেফারেন্স ডকুমেন্টেশন দেখুন।
অবজেক্টিভ-সি
সমস্যাগুলি চিহ্নিত করতে log অথবা logWithFormat ব্যবহার করুন। মনে রাখবেন যে আপনি যদি বার্তা সহ একটি কার্যকর লগ আউটপুট পেতে চান, তাহলে আপনি যে অবজেক্টটি উভয় পদ্ধতিতে পাস করবেন সেটিকে description instance property ওভাররাইড করতে হবে। উদাহরণস্বরূপ:
[[FIRCrashlytics crashlytics] log:@"Simple string message"]; [[FIRCrashlytics crashlytics] logWithFormat:@"Higgs-Boson detected! Bailing out... %@", attributesDict]; [[FIRCrashlytics crashlytics] logWithFormat:@"Logging a variable argument list %@" arguments:va_list_arg];
log এবং logWithFormat কীভাবে ব্যবহার করবেন সে সম্পর্কে আরও তথ্যের জন্য, Crashlytics রেফারেন্স ডকুমেন্টেশন দেখুন।
ব্যবহারকারী শনাক্তকারী সেট করুন
কোনও সমস্যা নির্ণয়ের জন্য, আপনার কোন ব্যবহারকারী ক্র্যাশের সম্মুখীন হয়েছেন তা জানা প্রায়শই সহায়ক। Crashlytics আপনার ক্র্যাশ রিপোর্টে ব্যবহারকারীদের বেনামে সনাক্ত করার একটি উপায় অন্তর্ভুক্ত করে।
আপনার রিপোর্টে ব্যবহারকারীর আইডি যোগ করতে, প্রতিটি ব্যবহারকারীকে একটি আইডি নম্বর, টোকেন, অথবা হ্যাশ করা মানের আকারে একটি অনন্য শনাক্তকারী বরাদ্দ করুন:
সুইফট
Crashlytics.crashlytics().setUserID("123456789")
অবজেক্টিভ-সি
[[FIRCrashlytics crashlytics] setUserID:@"123456789"];
যদি আপনার কোন ব্যবহারকারী শনাক্তকারী সেট করার পরে তা মুছে ফেলার প্রয়োজন হয়, তাহলে মানটি একটি ফাঁকা স্ট্রিংয়ে রিসেট করুন। ব্যবহারকারী শনাক্তকারী সাফ করলে বিদ্যমান Crashlytics রেকর্ডগুলি মুছে যাবে না। যদি আপনার কোন ব্যবহারকারী আইডির সাথে সম্পর্কিত রেকর্ডগুলি মুছে ফেলার প্রয়োজন হয়, তাহলে Firebase সহায়তার সাথে যোগাযোগ করুন ।
ব্রেডক্রাম্ব লগ পান
ব্রেডক্রাম্ব লগগুলি আপনাকে আপনার অ্যাপের সাথে ব্যবহারকারীর ইন্টারঅ্যাকশন সম্পর্কে আরও ভাল ধারণা দেয় যা ক্র্যাশ, নন-ফ্যাটাল, বা ANR ইভেন্টের দিকে পরিচালিত করে। কোনও সমস্যা পুনরুত্পাদন এবং ডিবাগ করার চেষ্টা করার সময় এই লগগুলি সহায়ক হতে পারে।
ব্রেডক্রাম্ব লগগুলি গুগল অ্যানালিটিক্স দ্বারা চালিত হয়, তাই ব্রেডক্রাম্ব লগ পেতে, আপনাকে আপনার ফায়ারবেস প্রকল্পের জন্য গুগল অ্যানালিটিক্স সক্ষম করতে হবে এবং আপনার অ্যাপে Google Analytics জন্য ফায়ারবেস SDK যুক্ত করতে হবে । একবার এই প্রয়োজনীয়তাগুলি পূরণ হয়ে গেলে, যখন আপনি কোনও সমস্যার বিবরণ দেখেন তখন লগ ট্যাবের মধ্যে ব্রেডক্রাম্ব লগগুলি স্বয়ংক্রিয়ভাবে ইভেন্টের ডেটার সাথে অন্তর্ভুক্ত হয়ে যায়।
Analytics SDK স্বয়ংক্রিয়ভাবে screen_view ইভেন্ট লগ করে যা ব্রেডক্রাম্ব লগগুলিকে ক্র্যাশের আগে দেখা, নন-ফ্যাটাল, বা ANR ইভেন্টের স্ক্রিনের তালিকা দেখাতে সক্ষম করে। একটি screen_view breadcrumb লগে একটি firebase_screen_class প্যারামিটার থাকে।
ব্যবহারকারীর সেশনের মধ্যে ম্যানুয়ালি লগ করা যেকোনো কাস্টম ইভেন্ট দিয়ে ব্রেডক্রাম্ব লগগুলি পূর্ণ করা হয়, যার মধ্যে ইভেন্টের প্যারামিটার ডেটাও অন্তর্ভুক্ত থাকে। এই ডেটা ব্যবহারকারীর ক্র্যাশ, নন-ফ্যাটাল বা ANR ইভেন্টের দিকে পরিচালিত করে এমন একাধিক ক্রিয়া দেখাতে সাহায্য করতে পারে।
মনে রাখবেন যে আপনি Google Analytics ডেটা সংগ্রহ এবং ব্যবহার নিয়ন্ত্রণ করতে পারেন, যার মধ্যে ব্রেডক্রাম্ব লগ পূরণ করে এমন ডেটা অন্তর্ভুক্ত রয়েছে।
অপ্ট-ইন রিপোর্টিং সক্ষম করুন
ডিফল্টরূপে, Crashlytics আপনার সমস্ত অ্যাপ ব্যবহারকারীদের জন্য স্বয়ংক্রিয়ভাবে ক্র্যাশ রিপোর্ট সংগ্রহ করে। ব্যবহারকারীদের তাদের প্রেরিত ডেটার উপর আরও নিয়ন্ত্রণ দেওয়ার জন্য, আপনি স্বয়ংক্রিয় রিপোর্টিং অক্ষম করে এবং আপনার কোডে যখন আপনি চান তখনই Crashlytics এ ডেটা প্রেরণ করে অপ্ট-ইন রিপোর্টিং সক্ষম করতে পারেন।
আপনার
Info.plistফাইলে একটি নতুন কী যোগ করে স্বয়ংক্রিয় সংগ্রহ বন্ধ করুন:- কী:
FirebaseCrashlyticsCollectionEnabled - মান:
false
- কী:
রানটাইমে Crashlytics ডেটা সংগ্রহ ওভাররাইড কল করে নির্বাচিত ব্যবহারকারীদের জন্য সংগ্রহ সক্ষম করুন। ওভাররাইড মান আপনার অ্যাপের পরবর্তী সমস্ত লঞ্চে বজায় থাকে যাতে Crashlytics স্বয়ংক্রিয়ভাবে সেই ব্যবহারকারীর জন্য প্রতিবেদন সংগ্রহ করতে পারে।
সুইফট
Crashlytics.crashlytics().setCrashlyticsCollectionEnabled(true)
অবজেক্টিভ-সি
[[FIRCrashlytics crashlytics] setCrashlyticsCollectionEnabled:YES];
যদি ব্যবহারকারী পরে ডেটা সংগ্রহ থেকে বেরিয়ে যান, তাহলে আপনি ওভাররাইড মান হিসেবে
falseপাস করতে পারেন, যা ব্যবহারকারী পরের বার অ্যাপ চালু করার সময় প্রযোজ্য হবে এবং সেই ব্যবহারকারীর জন্য পরবর্তী সমস্ত লঞ্চে এটি বজায় থাকবে।
ক্র্যাশ ইনসাইট ডেটা পরিচালনা করুন
ক্র্যাশ ইনসাইটস আপনার বেনামী স্ট্যাক ট্রেসগুলিকে অন্যান্য ফায়ারবেস অ্যাপের ট্রেসের সাথে তুলনা করে এবং আপনার সমস্যাটি কোনও বৃহত্তর ট্রেন্ডের অংশ কিনা তা আপনাকে জানিয়ে সমস্যা সমাধানে সহায়তা করে। অনেক সমস্যার জন্য, ক্র্যাশ ইনসাইটস এমনকি ক্র্যাশ ডিবাগ করতে সহায়তা করার জন্য সংস্থান সরবরাহ করে।
ক্র্যাশ ইনসাইটস সাধারণ স্থিতিশীলতার প্রবণতা সনাক্ত করতে সমষ্টিগত ক্র্যাশ ডেটা ব্যবহার করে। আপনি যদি আপনার অ্যাপের ডেটা শেয়ার না করতে চান, তাহলে আপনি Firebase কনসোলে আপনার Crashlytics সমস্যা তালিকার শীর্ষে থাকা Crash Insights মেনু থেকে Crash Insights থেকে অপ্ট-আউট করতে পারেন।