| প্ল্যাটফর্ম নির্বাচন করুন: | iOS+ অ্যান্ড্রয়েড অ্যান্ড্রয়েড এনডিকে ফ্লাটার ইউনিটি |
এই কুইকস্টার্টটি বর্ণনা করে কিভাবে Firebase Crashlytics SDK ব্যবহার করে আপনার অ্যাপে Firebase Crashlytics সেট আপ করবেন যাতে আপনি Firebase কনসোলে ব্যাপক ক্র্যাশ রিপোর্ট পেতে পারেন।
Crashlytics সেট আপ করার জন্য Firebase কনসোল এবং আপনার IDE উভয় ক্ষেত্রেই কাজ করতে হবে (যেমন একটি Firebase কনফিগারেশন ফাইল এবং Crashlytics SDK যোগ করা)। সেটআপ শেষ করতে, আপনার প্রথম ক্র্যাশ রিপোর্ট Firebase-এ পাঠানোর জন্য আপনাকে একটি পরীক্ষামূলক ক্র্যাশ জোর করতে হবে।
শুরু করার আগে
যদি আপনি ইতিমধ্যেই না করে থাকেন, তাহলে আপনার অ্যাপল প্রোজেক্টে Firebase যোগ করুন । যদি আপনার অ্যাপল অ্যাপ না থাকে, তাহলে আপনি একটি নমুনা অ্যাপ ডাউনলোড করতে পারেন।
প্রস্তাবিত : ব্রেডক্রাম্ব লগগুলি স্বয়ংক্রিয়ভাবে ব্যবহারকারীর ক্রিয়াকলাপগুলি বুঝতে সক্ষম করতে যাতে কোনও ক্র্যাশ বা অ-মারাত্মক ঘটনার দিকে পরিচালিত করে, আপনার ফায়ারবেস প্রকল্পে Google Analytics সক্ষম করতে হবে।
যদি আপনার বিদ্যমান Firebase প্রকল্পে Google Analytics সক্ষম না থাকে, তাহলে আপনি আপনার Integrations ট্যাব থেকে Google Analytics সক্ষম করতে পারেন
> Firebase কনসোলে প্রজেক্ট সেটিংস । যদি আপনি একটি নতুন Firebase প্রকল্প তৈরি করেন, তাহলে প্রকল্প তৈরির কর্মপ্রবাহের সময় Google Analytics সক্ষম করুন।
মনে রাখবেন যে ব্রেডক্রাম্ব লগগুলি watchOS ছাড়া Crashlytics দ্বারা সমর্থিত সমস্ত Apple প্ল্যাটফর্মের জন্য উপলব্ধ।
ধাপ ১ : আপনার অ্যাপে Crashlytics SDK যোগ করুন
ফায়ারবেস নির্ভরতা ইনস্টল এবং পরিচালনা করতে সুইফট প্যাকেজ ম্যানেজার ব্যবহার করুন।
- Xcode-এ, আপনার অ্যাপ প্রজেক্ট খোলা থাকা অবস্থায়, File > Add Packages- এ নেভিগেট করুন।
- অনুরোধ করা হলে, Firebase Apple platforms SDK সংগ্রহস্থল যোগ করুন:
- Crashlytics লাইব্রেরিটি নির্বাচন করুন।
- ব্রেডক্রাম্ব লগের সুবিধা নিতে, আপনার অ্যাপে Google Analytics জন্য ফায়ারবেস SDK যোগ করুন। নিশ্চিত করুন যে আপনার ফায়ারবেস প্রকল্পে গুগল অ্যানালিটিক্স সক্ষম আছে ।
- আপনার টার্গেটের বিল্ড সেটিংসের অন্যান্য লিঙ্কার ফ্ল্যাগ বিভাগে
-ObjCফ্ল্যাগ যোগ করুন। - (শুধুমাত্র macOS) আপনার
Info.plistএ,NSApplicationCrashOnExceptionsকী যোগ করুন এবং এটিYESএ সেট করুন। - শেষ হয়ে গেলে, Xcode স্বয়ংক্রিয়ভাবে ব্যাকগ্রাউন্ডে আপনার নির্ভরতাগুলি সমাধান এবং ডাউনলোড করা শুরু করবে।
https://github.com/firebase/firebase-ios-sdk.git
এরপর, Firebase মডিউলটি কনফিগার করুন:
আপনার
Appস্ট্রাক্ট অথবাUIApplicationDelegateএ Firebase মডিউলটি আমদানি করুন:সুইফট
import Firebase
অবজেক্টিভ-সি
@import Firebase;
সাধারণত আপনার অ্যাপ ডেলিগেটের
application(_:didFinishLaunchingWithOptions:)পদ্ধতিতে একটিFirebaseAppশেয়ার্ড ইনস্ট্যান্স কনফিগার করুন:সুইফট
// Use the Firebase library to configure APIs. FirebaseApp.configure()
অবজেক্টিভ-সি
// Use the Firebase library to configure APIs. [FIRApp configure];
ধাপ ২ : dSYM ফাইলগুলি স্বয়ংক্রিয়ভাবে আপলোড করার জন্য Xcode সেট আপ করুন
মানুষের পঠনযোগ্য ক্র্যাশ রিপোর্ট তৈরি করতে, Crashlytics এর আপনার প্রোজেক্টের ডিবাগ প্রতীক (dSYM) ফাইলের প্রয়োজন। নিম্নলিখিত ধাপগুলি বর্ণনা করে যে কীভাবে Xcode কনফিগার করবেন যাতে আপনার dSYM স্বয়ংক্রিয়ভাবে তৈরি হয়, সেগুলি প্রক্রিয়া করা যায় এবং যখনই আপনি আপনার অ্যাপ তৈরি করেন তখন ফাইলগুলি আপলোড করা যায়।
আপনার প্রোজেক্টের Xcode ওয়ার্কস্পেস খুলুন, তারপর বাম নেভিগেটরে এর প্রোজেক্ট ফাইলটি নির্বাচন করুন।
লক্ষ্য তালিকা থেকে, আপনার প্রধান বিল্ড লক্ষ্য নির্বাচন করুন।
বিল্ড সেটিংস ট্যাবে ক্লিক করুন, তারপর নিম্নলিখিত ধাপগুলি সম্পূর্ণ করুন যাতে Xcode আপনার বিল্ডগুলির জন্য dSYM তৈরি করে।
All এ ক্লিক করুন, তারপর
debug information formatঅনুসন্ধান করুন।আপনার সকল ধরণের বিল্ডের জন্য
DWARF with dSYM Fileডিবাগ ইনফরমেশন ফর্ম্যাটকে DWARF এ সেট করুন।
বিল্ড ফেজেস ট্যাবে ক্লিক করুন, তারপর নিম্নলিখিত ধাপগুলি সম্পূর্ণ করুন যাতে Xcode আপনার dSYM গুলি প্রক্রিয়া করতে পারে এবং ফাইলগুলি আপলোড করতে পারে।
> নতুন রান স্ক্রিপ্ট ফেজ ক্লিক করুন।
নিশ্চিত করুন যে এই নতুন রান স্ক্রিপ্ট ফেজটি আপনার প্রোজেক্টের শেষ বিল্ড ফেজ; অন্যথায়, Crashlytics সঠিকভাবে dSYM প্রক্রিয়া করতে পারবে না।
নতুন রান স্ক্রিপ্ট বিভাগটি প্রসারিত করুন।
স্ক্রিপ্ট ক্ষেত্রে ( শেল লেবেলের নীচে অবস্থিত), নিম্নলিখিত রান স্ক্রিপ্টটি যুক্ত করুন।
এই স্ক্রিপ্টটি আপনার প্রোজেক্টের dSYM ফাইলগুলি প্রক্রিয়া করে এবং ফাইলগুলিকে Crashlytics এ আপলোড করে।
"${BUILD_DIR%/Build/*}/SourcePackages/checkouts/firebase-ios-sdk/Crashlytics/run"ইনপুট ফাইল বিভাগে, নিম্নলিখিত ফাইলগুলির অবস্থানের জন্য পাথ যোগ করুন:
${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Resources/DWARF/${PRODUCT_NAME}${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Info.plist$(TARGET_BUILD_DIR)/$(UNLOCALIZED_RESOURCES_FOLDER_PATH)/GoogleService-Info.plist
যদি আপনার প্রোজেক্ট বিল্ড সেটিংসে$(TARGET_BUILD_DIR)/$(EXECUTABLE_PATH)
ENABLE_USER_SCRIPT_SANDBOXING=YESএবংENABLE_DEBUG_DYLIB=YESথাকে, তাহলে নিম্নলিখিতগুলি অন্তর্ভুক্ত করুন:${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Resources/DWARF/${PRODUCT_NAME}.debug.dylib
dSYM ফাইল এবং Crashlytics (dSYM ফাইলগুলি ম্যানুয়ালি আপলোড করার পদ্ধতি সহ) সম্পর্কে আরও বিস্তারিত তথ্যের জন্য, Get deobfuscated crash reports দেখুন।
ধাপ ৩ : সেটআপ শেষ করতে জোর করে একটি পরীক্ষামূলক ক্র্যাশ করুন
Crashlytics সেট আপ করা শেষ করতে এবং Firebase কনসোলের Crashlytics ড্যাশবোর্ডে প্রাথমিক ডেটা দেখতে, আপনাকে একটি পরীক্ষামূলক ক্র্যাশ জোর করে করতে হবে।
আপনার অ্যাপে এমন কোড যোগ করুন যা আপনি জোর করে পরীক্ষামূলক ক্র্যাশ করতে ব্যবহার করতে পারেন।
আপনি নিচের কোডটি ব্যবহার করে আপনার অ্যাপে একটি বোতাম যোগ করতে পারেন যা চাপলে ক্র্যাশ হয়। বোতামটির নাম "টেস্ট ক্র্যাশ"।
সুইফটইউআই
Button("Crash") { fatalError("Crash was triggered") }
ইউআইকিট
সুইফট
import UIKit class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view, typically from a nib. let button = UIButton(type: .roundedRect) button.frame = CGRect(x: 20, y: 50, width: 100, height: 30) button.setTitle("Test Crash", for: []) button.addTarget(self, action: #selector(self.crashButtonTapped(_:)), for: .touchUpInside) view.addSubview(button) } @IBAction func crashButtonTapped(_ sender: AnyObject) { let numbers = [0] let _ = numbers[1] } }
অবজেক্টিভ-সি
#import "ViewController.h" @implementation ViewController ‐ (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. UIButton* button = [UIButton buttonWithType:UIButtonTypeRoundedRect]; button.frame = CGRectMake(20, 50, 100, 30); [button setTitle:@"Test Crash" forState:UIControlStateNormal]; [button addTarget:self action:@selector(crashButtonTapped:) forControlEvents:UIControlEventTouchUpInside]; [self.view addSubview:button]; } ‐ (IBAction)crashButtonTapped:(id)sender { @[][1]; } @end
Xcode ডিবাগার সংযোগ বিচ্ছিন্ন করে Xcode-এ আপনার অ্যাপ তৈরি করুন এবং চালান।
Build এ ক্লিক করুন এবং তারপর একটি পরীক্ষামূলক ডিভাইস বা সিমুলেটরে আপনার অ্যাপ তৈরি করতে বর্তমান স্কিমটি চালান ।
আপনার অ্যাপটি চালু না হওয়া পর্যন্ত অপেক্ষা করুন, তারপর আপনার অ্যাপের প্রাথমিক ইনস্ট্যান্স বন্ধ করতে স্কিম বা অ্যাকশন চালানো এ ক্লিক করুন। এই প্রাথমিক ইনস্ট্যান্সে ডিবাগারটি অন্তর্ভুক্ত ছিল যা Crashlytics এর সাথে হস্তক্ষেপ করে।
আপনার অ্যাপের প্রথম ক্র্যাশ রিপোর্ট পাঠানোর জন্য পরীক্ষামূলক ক্র্যাশ জোর করে করুন:
আপনার পরীক্ষামূলক ডিভাইস বা সিমুলেটরের হোম স্ক্রিন থেকে আপনার অ্যাপটি খুলুন।
আপনার অ্যাপে, উপরের কোডটি ব্যবহার করে যোগ করা "টেস্ট ক্র্যাশ" বোতামটি টিপুন।
আপনার অ্যাপ ক্র্যাশ হওয়ার পর, Xcode থেকে এটি আবার চালান যাতে আপনার অ্যাপটি ক্র্যাশ রিপোর্টটি Firebase-এ পাঠাতে পারে।
আপনার টেস্ট ক্র্যাশ দেখতে Firebase কনসোলের Crashlytics ড্যাশবোর্ডে যান।
যদি আপনি কনসোলটি রিফ্রেশ করে থাকেন এবং পাঁচ মিনিট পরেও পরীক্ষামূলক ক্র্যাশ দেখতে না পান, তাহলে আপনার অ্যাপটি ক্র্যাশ রিপোর্ট পাঠাচ্ছে কিনা তা দেখার জন্য ডিবাগ লগিং সক্ষম করুন ।
আর এই তো! Crashlytics এখন আপনার অ্যাপের ক্র্যাশ পর্যবেক্ষণ করছে। আপনার সমস্ত রিপোর্ট এবং পরিসংখ্যান দেখতে এবং তদন্ত করতে Crashlytics ড্যাশবোর্ডে যান।
পরবর্তী পদক্ষেপ
অপ্ট-ইন রিপোর্টিং, লগ, কী এবং অ-মারাত্মক ত্রুটির ট্র্যাকিং যোগ করে আপনার ক্র্যাশ রিপোর্ট সেটআপ কাস্টমাইজ করুন ।
Google Play এর সাথে ইন্টিগ্রেট করুন যাতে আপনি Crashlytics ড্যাশবোর্ডে সরাসরি Google Play ট্র্যাক দ্বারা আপনার অ্যান্ড্রয়েড অ্যাপের ক্র্যাশ রিপোর্ট ফিল্টার করতে পারেন। এটি আপনাকে নির্দিষ্ট বিল্ডগুলিতে আপনার ড্যাশবোর্ডকে আরও ভালভাবে ফোকাস করতে দেয়।