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")
উদ্দেশ্য-C
পূর্ণসংখ্যা, বুলিয়ান বা ফ্লোট সেট করার সময়, মানটিকে @( 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")
উদ্দেশ্য-C
[[FIRCrashlytics crashlytics] setCustomValue:@(100) forKey:@"int_key"]; // Set int_key to 50 from 100. [[FIRCrashlytics crashlytics] setCustomValue:@(50) forKey:@"int_key"];
শুধুমাত্র পরামিতি হিসাবে NSD অভিধান সহ setCustomKeysAndValues
পদ্ধতি ব্যবহার করে বাল্কে কী/মান জোড়া যোগ করুন:
সুইফট
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)
উদ্দেশ্য-C
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 রেফারেন্স ডকুমেন্টেশন দেখুন।
উদ্দেশ্য-C
সমস্যা চিহ্নিত করতে সাহায্য করতে log
বা logWithFormat
ব্যবহার করুন। মনে রাখবেন যে আপনি যদি বার্তা সহ একটি দরকারী লগ আউটপুট পেতে চান তবে যে বস্তুটি আপনি যেকোনও পদ্ধতিতে পাস করবেন তা অবশ্যই description
উদাহরণ সম্পত্তিকে ওভাররাইড করবে। যেমন:
[[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")
উদ্দেশ্য-C
[[FIRCrashlytics crashlytics] setUserID:@"123456789"];
আপনি যদি এটি সেট করার পরে কখনও একটি ব্যবহারকারী শনাক্তকারী সাফ করতে চান, তাহলে মানটিকে একটি ফাঁকা স্ট্রিংয়ে পুনরায় সেট করুন। একটি ব্যবহারকারী শনাক্তকারী সাফ করা বিদ্যমান Crashlytics রেকর্ড মুছে ফেলা হয় না। আপনি যদি একটি ব্যবহারকারী আইডির সাথে যুক্ত রেকর্ড মুছে ফেলতে চান, Firebase সহায়তার সাথে যোগাযোগ করুন ।
ব্রেডক্রাম্ব লগ পান
ব্রেডক্রাম্ব লগগুলি আপনাকে ক্র্যাশ, অ-মারাত্মক বা ANR ইভেন্টের দিকে নিয়ে যাওয়ার জন্য আপনার অ্যাপের সাথে একজন ব্যবহারকারীর ইন্টারঅ্যাকশনগুলি সম্পর্কে আরও ভাল ধারণা দেয়। একটি সমস্যা পুনরুত্পাদন এবং ডিবাগ করার চেষ্টা করার সময় এই লগগুলি সহায়ক হতে পারে।
ব্রেডক্রাম্ব লগগুলি Google Analytics দ্বারা চালিত হয়, তাই ব্রেডক্রাম্ব লগগুলি পেতে, আপনাকে আপনার Firebase প্রকল্পের জন্য Google Analytics সক্ষম করতে হবে এবং আপনার অ্যাপে Google Analytics এর জন্য Firebase SDK যোগ করতে হবে ৷ একবার এই প্রয়োজনীয়তাগুলি পূরণ হয়ে গেলে, আপনি যখন কোনও সমস্যার বিশদ বিবরণ দেখেন তখন লগ ট্যাবের মধ্যে একটি ইভেন্টের ডেটার সাথে ব্রেডক্রাম্ব লগগুলি স্বয়ংক্রিয়ভাবে অন্তর্ভুক্ত হয়৷
Analytics SDK স্বয়ংক্রিয়ভাবে screen_view
ইভেন্ট লগ করে যা ব্রেডক্রাম্ব লগগুলিকে ক্র্যাশ, নন-ফেটাল বা ANR ইভেন্টের আগে দেখা স্ক্রিনের তালিকা দেখাতে সক্ষম করে। একটি screen_view
ব্রেডক্রাম্ব লগে একটি firebase_screen_class
প্যারামিটার থাকে।
ব্রেডক্রাম্ব লগগুলি ইভেন্টের প্যারামিটার ডেটা সহ ব্যবহারকারীর সেশনের মধ্যে ম্যানুয়ালি লগ করা যেকোন কাস্টম ইভেন্টগুলির সাথেও পূর্ণ হয়৷ এই ডেটা ক্র্যাশ, নন-ফেটাল বা ANR ইভেন্ট পর্যন্ত ব্যবহারকারীর ক্রিয়াকলাপগুলির একটি সিরিজ দেখাতে সাহায্য করতে পারে।
মনে রাখবেন যে আপনি Google Analytics ডেটা সংগ্রহ এবং ব্যবহার নিয়ন্ত্রণ করতে পারেন, যার মধ্যে সেই ডেটা রয়েছে যা ব্রেডক্রাম্ব লগগুলিকে পপুলেট করে৷
অপ্ট-ইন রিপোর্টিং সক্ষম করুন
ডিফল্টরূপে, Crashlytics স্বয়ংক্রিয়ভাবে আপনার সমস্ত অ্যাপের ব্যবহারকারীদের জন্য ক্র্যাশ রিপোর্ট সংগ্রহ করে। ব্যবহারকারীদের তাদের পাঠানো ডেটার উপর আরও নিয়ন্ত্রণ দিতে, আপনি স্বয়ংক্রিয় রিপোর্টিং অক্ষম করে অপ্ট-ইন রিপোর্টিং সক্ষম করতে পারেন এবং যখন আপনি আপনার কোডে বেছে নেন তখন শুধুমাত্র Crashlytics এ ডেটা পাঠাতে পারেন।
আপনার
Info.plist
ফাইলে একটি নতুন কী যোগ করে স্বয়ংক্রিয় সংগ্রহ বন্ধ করুন:- কী:
FirebaseCrashlyticsCollectionEnabled
- মান:
false
- কী:
রানটাইমে Crashlytics ডেটা সংগ্রহ ওভাররাইড কল করে নির্বাচিত ব্যবহারকারীদের জন্য সংগ্রহ সক্ষম করুন। ওভাররাইড মান আপনার অ্যাপের পরবর্তী সমস্ত লঞ্চ জুড়ে থাকে যাতে Crashlytics স্বয়ংক্রিয়ভাবে সেই ব্যবহারকারীর জন্য প্রতিবেদন সংগ্রহ করতে পারে।
সুইফট
Crashlytics.crashlytics().setCrashlyticsCollectionEnabled(true)
উদ্দেশ্য-C
[[FIRCrashlytics crashlytics] setCrashlyticsCollectionEnabled:YES];
ব্যবহারকারী যদি পরে ডেটা সংগ্রহ থেকে অপ্ট-আউট করেন, তাহলে আপনি ওভাররাইড মান হিসাবে
false
পাস করতে পারেন, যা পরবর্তী সময়ে ব্যবহারকারী অ্যাপটি চালু করার সময় প্রযোজ্য হবে এবং সেই ব্যবহারকারীর জন্য পরবর্তী সমস্ত লঞ্চ জুড়ে থাকবে।
ক্র্যাশ ইনসাইট ডেটা পরিচালনা করুন
ক্র্যাশ ইনসাইট আপনাকে আপনার বেনামী স্ট্যাক ট্রেসগুলিকে অন্যান্য ফায়ারবেস অ্যাপের ট্রেসের সাথে তুলনা করে এবং আপনার সমস্যাটি একটি বৃহত্তর প্রবণতার অংশ কিনা তা আপনাকে জানিয়ে সমস্যার সমাধান করতে সহায়তা করে। অনেক সমস্যার জন্য, ক্র্যাশ ইনসাইট এমনকি আপনাকে ক্র্যাশ ডিবাগ করতে সহায়তা করার জন্য সংস্থান সরবরাহ করে।
ক্র্যাশ ইনসাইট সাধারণ স্থিতিশীলতার প্রবণতা সনাক্ত করতে সমষ্টিগত ক্র্যাশ ডেটা ব্যবহার করে। আপনি যদি আপনার অ্যাপের ডেটা শেয়ার না করতে চান, তাহলে Firebase কনসোলে আপনার Crashlytics সমস্যা তালিকার শীর্ষে থাকা ক্র্যাশ ইনসাইটস মেনু থেকে আপনি ক্র্যাশ ইনসাইটগুলি অপ্ট-আউট করতে পারেন৷
,Crashlytics ড্যাশবোর্ডে, আপনি কোনও ইস্যুতে ক্লিক করতে পারেন এবং একটি বিশদ ইভেন্টের প্রতিবেদন পেতে পারেন। আপনার অ্যাপ্লিকেশনটিতে কী ঘটছে এবং Crashlytics রিপোর্ট করা ইভেন্টগুলির আশেপাশের পরিস্থিতিগুলি আরও ভালভাবে বুঝতে আপনি এই প্রতিবেদনগুলি কাস্টমাইজ করতে পারেন।
কাস্টম কী , কাস্টম লগ বার্তা এবং ব্যবহারকারী সনাক্তকারী লগ করার জন্য আপনার অ্যাপ্লিকেশনটিকে উপকরণ।
Crashlytics ব্যতিক্রম প্রতিবেদন করুন।
Google Analytics জন্য যদি আপনার অ্যাপ্লিকেশন ফায়ারবেস এসডিকে ব্যবহার করে তবে স্বয়ংক্রিয়ভাবে ব্রেডক্রম্ব লগগুলি পান। এই লগগুলি আপনাকে আপনার অ্যাপ্লিকেশনটিতে 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")
উদ্দেশ্য-C
পূর্ণসংখ্যা, বুলিয়ানস বা ভাসমান সেট করার সময়, @( 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")
উদ্দেশ্য-C
[[FIRCrashlytics crashlytics] setCustomValue:@(100) forKey:@"int_key"]; // Set int_key to 50 from 100. [[FIRCrashlytics crashlytics] setCustomValue:@(50) forKey:@"int_key"];
একমাত্র প্যারামিটার হিসাবে একটি এনএসডিকশনারি সহ setCustomKeysAndValues
পদ্ধতি ব্যবহার করে বাল্কে কী/মান জোড়া যুক্ত করুন:
সুইফট
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)
উদ্দেশ্য-C
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 রেফারেন্স ডকুমেন্টেশনটি দেখুন।
উদ্দেশ্য-C
পিনপয়েন্টের সমস্যাগুলি সহায়তা করতে log
বা logWithFormat
ব্যবহার করুন। মনে রাখবেন যে আপনি যদি বার্তাগুলির সাথে একটি দরকারী লগ আউটপুট পেতে চান তবে আপনি যে কোনও পদ্ধতিতে পাস করা অবজেক্টটি অবশ্যই description
উদাহরণ সম্পত্তিটিকে ওভাররাইড করতে হবে। যেমন:
[[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")
উদ্দেশ্য-C
[[FIRCrashlytics crashlytics] setUserID:@"123456789"];
আপনি যদি এটি সেট করার পরে কোনও ব্যবহারকারীর শনাক্তকারী সাফ করার প্রয়োজন হয় তবে একটি ফাঁকা স্ট্রিংয়ে মানটি পুনরায় সেট করুন। ব্যবহারকারী সনাক্তকারী সাফ করা বিদ্যমান Crashlytics রেকর্ডগুলি সরিয়ে দেয় না। আপনার যদি কোনও ব্যবহারকারী আইডির সাথে সম্পর্কিত রেকর্ডগুলি মুছতে হয় তবে ফায়ারবেস সাপোর্টের সাথে যোগাযোগ করুন ।
ব্রেডক্রাম্ব লগ পান
ব্রেডক্রাম্ব লগগুলি আপনাকে আপনার অ্যাপ্লিকেশনটির সাথে ক্র্যাশ, অ-মারাত্মক বা এএনআর ইভেন্টের দিকে এগিয়ে যাওয়ার সাথে কোনও ব্যবহারকারীর যে মিথস্ক্রিয়া ছিল সে সম্পর্কে আরও ভাল ধারণা দেয়। কোনও সমস্যা পুনরুত্পাদন এবং ডিবাগ করার চেষ্টা করার সময় এই লগগুলি সহায়ক হতে পারে।
ব্রেডক্রম্ব লগগুলি গুগল অ্যানালিটিক্স দ্বারা চালিত, তাই ব্রেডক্রাম্ব লগগুলি পেতে আপনাকে আপনার ফায়ারবেস প্রকল্পের জন্য গুগল অ্যানালিটিক্স সক্ষম করতে হবে এবং আপনার অ্যাপ্লিকেশনটিতে Google Analytics জন্য ফায়ারবেস এসডিকে যুক্ত করতে হবে । এই প্রয়োজনীয়তাগুলি পূরণ হয়ে গেলে, আপনি যখন কোনও সমস্যার বিশদটি দেখেন তখন ব্রেডক্রম্ব লগগুলি স্বয়ংক্রিয়ভাবে লগস ট্যাবের মধ্যে কোনও ইভেন্টের ডেটা সহ অন্তর্ভুক্ত করা হয়।
Analytics এসডিকে স্বয়ংক্রিয়ভাবে screen_view
ইভেন্টটি লগ করে যা ব্রেডক্রাম্ব লগগুলিকে ক্র্যাশ, অ-মারাত্মক বা এএনআর ইভেন্টের আগে দেখা পর্দার একটি তালিকা দেখাতে সক্ষম করে। একটি screen_view
ব্রেডক্রাম্ব লগটিতে একটি firebase_screen_class
প্যারামিটার রয়েছে।
আপনি ইভেন্টের প্যারামিটার ডেটা সহ ব্যবহারকারীর সেশনের মধ্যে ম্যানুয়ালি লগ ইন করে এমন কোনও কাস্টম ইভেন্টের সাথে ব্রেডক্রম্ব লগগুলিও পপুলেট করা হয়। এই ডেটা ক্র্যাশ, অ-মারাত্মক বা এএনআর ইভেন্ট পর্যন্ত পরিচালিত ব্যবহারকারী ক্রিয়াকলাপগুলির একটি সিরিজ দেখাতে সহায়তা করতে পারে।
নোট করুন যে আপনি Google Analytics ডেটা সংগ্রহ এবং ব্যবহার নিয়ন্ত্রণ করতে পারেন, যার মধ্যে এমন ডেটা অন্তর্ভুক্ত রয়েছে যা ব্রেডক্রাম্ব লগগুলি পপুলেট করে।
অপ্ট-ইন রিপোর্টিং সক্ষম করুন
ডিফল্টরূপে, Crashlytics স্বয়ংক্রিয়ভাবে আপনার সমস্ত অ্যাপের ব্যবহারকারীদের জন্য ক্র্যাশ রিপোর্ট সংগ্রহ করে। ব্যবহারকারীদের তারা যে ডেটা প্রেরণ করে তার উপর আরও নিয়ন্ত্রণ দেওয়ার জন্য, আপনি স্বয়ংক্রিয় প্রতিবেদন অক্ষম করে অপ্ট-ইন রিপোর্টিং সক্ষম করতে পারেন এবং যখন আপনি আপনার কোডটিতে বেছে নেন তখন কেবল Crashlytics ডেটা প্রেরণ করতে পারেন।
আপনার
Info.plist
ফাইলটিতে একটি নতুন কী যুক্ত করে স্বয়ংক্রিয় সংগ্রহ বন্ধ করুন:- কী:
FirebaseCrashlyticsCollectionEnabled
- মান:
false
- কী:
রানটাইমে Crashlytics ডেটা সংগ্রহ ওভাররাইড কল করে নির্বাচিত ব্যবহারকারীদের জন্য সংগ্রহ সক্ষম করুন। ওভাররাইড মানটি আপনার অ্যাপ্লিকেশনটির পরবর্তী সমস্ত লঞ্চগুলিতে অব্যাহত রয়েছে যাতে Crashlytics স্বয়ংক্রিয়ভাবে সেই ব্যবহারকারীর জন্য প্রতিবেদনগুলি সংগ্রহ করতে পারে।
সুইফট
Crashlytics.crashlytics().setCrashlyticsCollectionEnabled(true)
উদ্দেশ্য-C
[[FIRCrashlytics crashlytics] setCrashlyticsCollectionEnabled:YES];
যদি ব্যবহারকারী পরে ডেটা সংগ্রহ থেকে অপ্ট-আউট করে, আপনি ওভাররাইড মান হিসাবে
false
পাস করতে পারেন, যা পরের বার ব্যবহারকারী অ্যাপটি চালু করার সময় প্রয়োগ করবে এবং সেই ব্যবহারকারীর জন্য পরবর্তী সমস্ত লঞ্চগুলি অব্যাহত রাখবে।
ক্র্যাশ অন্তর্দৃষ্টি ডেটা পরিচালনা করুন
ক্র্যাশ অন্তর্দৃষ্টিগুলি আপনাকে অন্যান্য ফায়ারবেস অ্যাপ্লিকেশনগুলির ট্রেসগুলির সাথে আপনার বেনামে স্ট্যাক ট্রেসগুলির তুলনা করে সমস্যাগুলি সমাধান করতে এবং আপনার সমস্যাটি বৃহত্তর প্রবণতার অংশ কিনা তা আপনাকে জানাতে সহায়তা করে। অনেক সমস্যার জন্য, ক্র্যাশ অন্তর্দৃষ্টি এমনকি ক্র্যাশটি ডিবাগ করতে সহায়তা করার জন্য সংস্থান সরবরাহ করে।
ক্র্যাশ অন্তর্দৃষ্টিগুলি সাধারণ স্থিতিশীলতার প্রবণতাগুলি সনাক্ত করতে একত্রিত ক্র্যাশ ডেটা ব্যবহার করে। আপনি যদি নিজের অ্যাপের ডেটা ভাগ না করতে পছন্দ করেন তবে আপনি Firebase কনসোলে আপনার Crashlytics ইস্যু তালিকার শীর্ষে ক্র্যাশ ইনসাইটস মেনু থেকে ক্র্যাশ অন্তর্দৃষ্টি থেকে বেরিয়ে যেতে পারেন।
,In the Crashlytics dashboard, you can click into an issue and get a detailed event report. You can customize those reports to help you better understand what's happening in your app and the circumstances around events reported to Crashlytics .
Instrument your app to log custom keys , custom log messages , and user identifiers .
Report exceptions to Crashlytics .
Automatically get breadcrumb logs if your app uses the Firebase SDK for Google Analytics . These logs give you visibility into user actions leading up to a Crashlytics -collected event in your app.
Turn off automatic crash reporting and enable opt-in reporting for your users. Note that, by default, Crashlytics automatically collects crash reports for all your app's users.
Add custom keys
Custom keys help you get the specific state of your app leading up to a crash. You can associate arbitrary key/value pairs with your crash reports, then use the custom keys to search and filter crash reports in the Firebase console.
- In the Crashlytics dashboard , you can search for issues that match a custom key.
- When you're reviewing a specific issue in the console, you can view the associated custom keys for each event ( Keys subtab) and even filter the events by custom keys ( Filter menu at the top of the page).
Use the setCustomValue
method to set key/value pairs. যেমন:
সুইফট
// Set int_key to 100. Crashlytics.crashlytics().setCustomValue(100, forKey: "int_key") // Set str_key to "hello". Crashlytics.crashlytics().setCustomValue("hello", forKey: "str_key")
উদ্দেশ্য-C
When setting integers, booleans, or floats, box the value as @( 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"];
You can also modify the value of an existing key by calling the key and setting it to a different value. যেমন:
সুইফট
Crashlytics.crashlytics().setCustomValue(100, forKey: "int_key") // Set int_key to 50 from 100. Crashlytics.crashlytics().setCustomValue(50, forKey: "int_key")
উদ্দেশ্য-C
[[FIRCrashlytics crashlytics] setCustomValue:@(100) forKey:@"int_key"]; // Set int_key to 50 from 100. [[FIRCrashlytics crashlytics] setCustomValue:@(50) forKey:@"int_key"];
Add key/value pairs in bulk by using the setCustomKeysAndValues
method with an NSDictionary as the only parameter:
সুইফট
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)
উদ্দেশ্য-C
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];
কাস্টম লগ বার্তা যোগ করুন
To give yourself more context for the events leading up to a crash, you can add custom Crashlytics logs to your app. Crashlytics associates the logs with your crash data and displays them in the Crashlytics page of the Firebase console , under the Logs tab.
সুইফট
Use log()
or log(format:, arguments:)
to help pinpoint issues. If you want to get a useful log output with messages, the object that you pass to log()
must conform to the CustomStringConvertible
property. log()
returns the description property you define for the object. যেমন:
Crashlytics.crashlytics().log("Higgs-Boson detected! Bailing out…, \(attributesDict)")
.log(format:, arguments:)
formats values returned from calling getVaList()
. যেমন:
Crashlytics.crashlytics().log(format: "%@, %@", arguments: getVaList(["Higgs-Boson detected! Bailing out…", attributesDict]))
For more details on how to use log()
or log(format:, arguments:)
, refer to the Crashlytics reference documentation .
উদ্দেশ্য-C
Use log
or logWithFormat
to help pinpoint issues. Note that if you want to get a useful log output with messages, the object that you pass to either method must override the 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];
For more details on how to use log
and logWithFormat
, refer to the Crashlytics reference documentation .
ব্যবহারকারী শনাক্তকারী সেট করুন
To diagnose an issue, it's often helpful to know which of your users experienced a given crash. Crashlytics includes a way to anonymously identify users in your crash reports.
To add user IDs to your reports, assign each user a unique identifier in the form of an ID number, token, or hashed value:
সুইফট
Crashlytics.crashlytics().setUserID("123456789")
উদ্দেশ্য-C
[[FIRCrashlytics crashlytics] setUserID:@"123456789"];
If you ever need to clear a user identifier after you set it, reset the value to a blank string. Clearing a user identifier does not remove existing Crashlytics records. If you need to delete records associated with a user ID, contact Firebase support .
Get breadcrumb logs
Breadcrumb logs give you a better understanding of the interactions that a user had with your app leading up to a crash, non-fatal, or ANR event. These logs can be helpful when trying to reproduce and debug an issue.
Breadcrumb logs are powered by Google Analytics, so to get breadcrumb logs, you need to enable Google Analytics for your Firebase project and add the Firebase SDK for Google Analytics to your app. Once these requirements are met, breadcrumb logs are automatically included with an event's data within the Logs tab when you view the details of an issue.
The Analytics SDK automatically logs the screen_view
event which enables the breadcrumb logs to show a list of screens viewed before the crash, non-fatal, or ANR event. A screen_view
breadcrumb log contains a firebase_screen_class
parameter.
Breadcrumb logs are also populated with any custom events that you manually log within the user's session, including the event's parameter data. This data can help show a series of user actions leading up to a crash, non-fatal, or ANR event.
Note that you can control the collection and use of Google Analytics data , which includes the data that populates breadcrumb logs.
অপ্ট-ইন রিপোর্টিং সক্ষম করুন
By default, Crashlytics automatically collects crash reports for all your app's users. To give users more control over the data they send, you can enable opt-in reporting by disabling automatic reporting and only sending data to Crashlytics when you choose to in your code.
Turn off automatic collection by adding a new key to your
Info.plist
file:- কী:
FirebaseCrashlyticsCollectionEnabled
- Value:
false
- কী:
Enable collection for select users by calling the Crashlytics data collection override at runtime. The override value persists across all subsequent launches of your app so Crashlytics can automatically collect reports for that user.
সুইফট
Crashlytics.crashlytics().setCrashlyticsCollectionEnabled(true)
উদ্দেশ্য-C
[[FIRCrashlytics crashlytics] setCrashlyticsCollectionEnabled:YES];
If the user later opts-out of data collection, you can pass
false
as the override value, which will apply the next time the user launches the app and will persist across all subsequent launches for that user.
Manage Crash Insights data
Crash Insights helps you resolve issues by comparing your anonymized stack traces to traces from other Firebase apps and letting you know if your issue is part of a larger trend. For many issues, Crash Insights even provides resources to help you debug the crash.
Crash Insights uses aggregated crash data to identify common stability trends. If you'd prefer not to share your app's data, you can opt-out of Crash Insights from the Crash Insights menu at the top of your Crashlytics issue list in the Firebase console .
,In the Crashlytics dashboard, you can click into an issue and get a detailed event report. You can customize those reports to help you better understand what's happening in your app and the circumstances around events reported to Crashlytics .
Instrument your app to log custom keys , custom log messages , and user identifiers .
Report exceptions to Crashlytics .
Automatically get breadcrumb logs if your app uses the Firebase SDK for Google Analytics . These logs give you visibility into user actions leading up to a Crashlytics -collected event in your app.
Turn off automatic crash reporting and enable opt-in reporting for your users. Note that, by default, Crashlytics automatically collects crash reports for all your app's users.
Add custom keys
Custom keys help you get the specific state of your app leading up to a crash. You can associate arbitrary key/value pairs with your crash reports, then use the custom keys to search and filter crash reports in the Firebase console.
- In the Crashlytics dashboard , you can search for issues that match a custom key.
- When you're reviewing a specific issue in the console, you can view the associated custom keys for each event ( Keys subtab) and even filter the events by custom keys ( Filter menu at the top of the page).
Use the setCustomValue
method to set key/value pairs. যেমন:
সুইফট
// Set int_key to 100. Crashlytics.crashlytics().setCustomValue(100, forKey: "int_key") // Set str_key to "hello". Crashlytics.crashlytics().setCustomValue("hello", forKey: "str_key")
উদ্দেশ্য-C
When setting integers, booleans, or floats, box the value as @( 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"];
You can also modify the value of an existing key by calling the key and setting it to a different value. যেমন:
সুইফট
Crashlytics.crashlytics().setCustomValue(100, forKey: "int_key") // Set int_key to 50 from 100. Crashlytics.crashlytics().setCustomValue(50, forKey: "int_key")
উদ্দেশ্য-C
[[FIRCrashlytics crashlytics] setCustomValue:@(100) forKey:@"int_key"]; // Set int_key to 50 from 100. [[FIRCrashlytics crashlytics] setCustomValue:@(50) forKey:@"int_key"];
Add key/value pairs in bulk by using the setCustomKeysAndValues
method with an NSDictionary as the only parameter:
সুইফট
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)
উদ্দেশ্য-C
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];
কাস্টম লগ বার্তা যোগ করুন
To give yourself more context for the events leading up to a crash, you can add custom Crashlytics logs to your app. Crashlytics associates the logs with your crash data and displays them in the Crashlytics page of the Firebase console , under the Logs tab.
সুইফট
Use log()
or log(format:, arguments:)
to help pinpoint issues. If you want to get a useful log output with messages, the object that you pass to log()
must conform to the CustomStringConvertible
property. log()
returns the description property you define for the object. যেমন:
Crashlytics.crashlytics().log("Higgs-Boson detected! Bailing out…, \(attributesDict)")
.log(format:, arguments:)
formats values returned from calling getVaList()
. যেমন:
Crashlytics.crashlytics().log(format: "%@, %@", arguments: getVaList(["Higgs-Boson detected! Bailing out…", attributesDict]))
For more details on how to use log()
or log(format:, arguments:)
, refer to the Crashlytics reference documentation .
উদ্দেশ্য-C
Use log
or logWithFormat
to help pinpoint issues. Note that if you want to get a useful log output with messages, the object that you pass to either method must override the 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];
For more details on how to use log
and logWithFormat
, refer to the Crashlytics reference documentation .
ব্যবহারকারী শনাক্তকারী সেট করুন
To diagnose an issue, it's often helpful to know which of your users experienced a given crash. Crashlytics includes a way to anonymously identify users in your crash reports.
To add user IDs to your reports, assign each user a unique identifier in the form of an ID number, token, or hashed value:
সুইফট
Crashlytics.crashlytics().setUserID("123456789")
উদ্দেশ্য-C
[[FIRCrashlytics crashlytics] setUserID:@"123456789"];
If you ever need to clear a user identifier after you set it, reset the value to a blank string. Clearing a user identifier does not remove existing Crashlytics records. If you need to delete records associated with a user ID, contact Firebase support .
Get breadcrumb logs
Breadcrumb logs give you a better understanding of the interactions that a user had with your app leading up to a crash, non-fatal, or ANR event. These logs can be helpful when trying to reproduce and debug an issue.
Breadcrumb logs are powered by Google Analytics, so to get breadcrumb logs, you need to enable Google Analytics for your Firebase project and add the Firebase SDK for Google Analytics to your app. Once these requirements are met, breadcrumb logs are automatically included with an event's data within the Logs tab when you view the details of an issue.
The Analytics SDK automatically logs the screen_view
event which enables the breadcrumb logs to show a list of screens viewed before the crash, non-fatal, or ANR event. A screen_view
breadcrumb log contains a firebase_screen_class
parameter.
Breadcrumb logs are also populated with any custom events that you manually log within the user's session, including the event's parameter data. This data can help show a series of user actions leading up to a crash, non-fatal, or ANR event.
Note that you can control the collection and use of Google Analytics data , which includes the data that populates breadcrumb logs.
অপ্ট-ইন রিপোর্টিং সক্ষম করুন
By default, Crashlytics automatically collects crash reports for all your app's users. To give users more control over the data they send, you can enable opt-in reporting by disabling automatic reporting and only sending data to Crashlytics when you choose to in your code.
Turn off automatic collection by adding a new key to your
Info.plist
file:- কী:
FirebaseCrashlyticsCollectionEnabled
- Value:
false
- কী:
Enable collection for select users by calling the Crashlytics data collection override at runtime. The override value persists across all subsequent launches of your app so Crashlytics can automatically collect reports for that user.
সুইফট
Crashlytics.crashlytics().setCrashlyticsCollectionEnabled(true)
উদ্দেশ্য-C
[[FIRCrashlytics crashlytics] setCrashlyticsCollectionEnabled:YES];
If the user later opts-out of data collection, you can pass
false
as the override value, which will apply the next time the user launches the app and will persist across all subsequent launches for that user.
Manage Crash Insights data
Crash Insights helps you resolve issues by comparing your anonymized stack traces to traces from other Firebase apps and letting you know if your issue is part of a larger trend. For many issues, Crash Insights even provides resources to help you debug the crash.
Crash Insights uses aggregated crash data to identify common stability trends. If you'd prefer not to share your app's data, you can opt-out of Crash Insights from the Crash Insights menu at the top of your Crashlytics issue list in the Firebase console .