Firebase Crashlytics দিয়ে শুরু করুন

এই কুইকস্টার্ট বর্ণনা করে কিভাবে Firebase Crashlytics SDK এর সাথে আপনার অ্যাপে Firebase Crashlytics সেট আপ করবেন যাতে আপনি Firebase কনসোলে ব্যাপক ক্র্যাশ রিপোর্ট পেতে পারেন।

Crashlytics সেট আপ করার জন্য Firebase কনসোল এবং আপনার IDE উভয়েরই কাজ প্রয়োজন (যেমন একটি Firebase কনফিগারেশন ফাইল এবং Crashlytics SDK যোগ করা)। সেটআপ শেষ করতে, Firebase-এ আপনার প্রথম ক্র্যাশ রিপোর্ট পাঠাতে আপনাকে একটি পরীক্ষা ক্র্যাশ করতে বাধ্য করতে হবে।

তুমি শুরু করার আগে

  1. যদি আপনি ইতিমধ্যেই না করে থাকেন, তাহলে আপনার Apple প্রকল্পে Firebase যোগ করুন । আপনার কাছে অ্যাপল অ্যাপ না থাকলে, আপনি একটি নমুনা অ্যাপ ডাউনলোড করতে পারেন।

  2. প্রস্তাবিত : ক্র্যাশ, নন-ফেটাল বা ANR ইভেন্ট পর্যন্ত ব্যবহারকারীর অ্যাকশন বোঝার জন্য স্বয়ংক্রিয়ভাবে ব্রেডক্রাম্ব লগ পেতে, আপনাকে আপনার Firebase প্রোজেক্টে Google Analytics সক্ষম করতে হবে।

    • যদি আপনার বিদ্যমান ফায়ারবেস প্রকল্পে Google Analytics সক্ষম না থাকে, তাহলে আপনি আপনার ইন্টিগ্রেশন ট্যাব থেকে Google Analytics সক্ষম করতে পারেন > Firebase কনসোলে প্রকল্প সেটিংস

    • আপনি যদি একটি নতুন ফায়ারবেস প্রজেক্ট তৈরি করেন, তাহলে প্রোজেক্ট তৈরির ওয়ার্কফ্লো চলাকালীন Google Analytics সক্ষম করুন।

    নোট করুন যে ব্রেডক্রাম্ব লগগুলি watchOS ছাড়া Crashlytics দ্বারা সমর্থিত সমস্ত Apple প্ল্যাটফর্মের জন্য উপলব্ধ।

ধাপ 1 : আপনার অ্যাপে Crashlytics SDK যোগ করুন

ফায়ারবেস নির্ভরতা ইনস্টল এবং পরিচালনা করতে সুইফট প্যাকেজ ম্যানেজার ব্যবহার করুন।

  1. Xcode-এ, আপনার অ্যাপ প্রকল্প খোলার সাথে, ফাইল > প্যাকেজ যোগ করুন- এ নেভিগেট করুন।
  2. অনুরোধ করা হলে, Firebase Apple প্ল্যাটফর্ম SDK সংগ্রহস্থল যোগ করুন:
  3.   https://github.com/firebase/firebase-ios-sdk.git
  4. Crashlytics লাইব্রেরি বেছে নিন।
  5. ব্রেডক্রাম্ব লগের সুবিধা নিতে, আপনার অ্যাপে Google Analytics-এর জন্য Firebase SDK যোগ করুন। আপনার Firebase প্রোজেক্টে Google Analytics চালু আছে কিনা তা নিশ্চিত করুন।
  6. আপনার লক্ষ্যের বিল্ড সেটিংসের অন্যান্য লিঙ্কার ফ্ল্যাগ বিভাগে -ObjC পতাকা যোগ করুন।
  7. (শুধুমাত্র macOS) আপনার Info.plist এ, NSApplicationCrashOnExceptions কী যোগ করুন এবং এটিকে YES সেট করুন।
  8. শেষ হয়ে গেলে, Xcode স্বয়ংক্রিয়ভাবে পটভূমিতে আপনার নির্ভরতাগুলি সমাধান এবং ডাউনলোড করা শুরু করবে।

এর পরে, Firebase মডিউল কনফিগার করুন:

  1. আপনার App স্ট্রাকটে বা UIApplicationDelegate এ Firebase মডিউল আমদানি করুন:

    সুইফট

    import Firebase

    উদ্দেশ্য গ

    @import Firebase;
  2. একটি FirebaseApp শেয়ার করা উদাহরণ কনফিগার করুন, সাধারণত আপনার অ্যাপ প্রতিনিধির application(_:didFinishLaunchingWithOptions:) পদ্ধতিতে:

    সুইফট

    // Use the Firebase library to configure APIs.
    FirebaseApp.configure()
    

    উদ্দেশ্য গ

    // Use the Firebase library to configure APIs.
    [FIRApp configure];
    

ধাপ 2 : স্বয়ংক্রিয়ভাবে dSYM ফাইল আপলোড করতে Xcode সেট আপ করুন

মানুষের পঠনযোগ্য ক্র্যাশ রিপোর্ট তৈরি করতে, Crashlytics-এর আপনার প্রকল্পের ডিবাগ প্রতীক (dSYM) ফাইলের প্রয়োজন। নিচের ধাপগুলো বর্ণনা করে কিভাবে Xcode কনফিগার করতে হয় যাতে স্বয়ংক্রিয়ভাবে আপনার dSYM তৈরি করা যায়, সেগুলি প্রক্রিয়া করা যায় এবং আপনি যখনই আপনার অ্যাপ তৈরি করবেন তখন ফাইল আপলোড করবেন।

  1. আপনার প্রোজেক্টের এক্সকোড ওয়ার্কস্পেস খুলুন, তারপর বাম নেভিগেটরে এর প্রোজেক্ট ফাইলটি নির্বাচন করুন।

  2. লক্ষ্য তালিকা থেকে, আপনার প্রধান বিল্ড লক্ষ্য নির্বাচন করুন।

  3. বিল্ড সেটিংস ট্যাবে ক্লিক করুন, তারপরে নিম্নলিখিত পদক্ষেপগুলি সম্পূর্ণ করুন যাতে Xcode আপনার বিল্ডগুলির জন্য dSYM তৈরি করে৷

    1. সমস্ত ক্লিক করুন, তারপর debug information format অনুসন্ধান করুন।

    2. আপনার সমস্ত বিল্ড প্রকারের জন্য DWARF with dSYM Fileডিবাগ তথ্য বিন্যাস সেট করুন।

  4. বিল্ড ফেজ ট্যাবে ক্লিক করুন, তারপরে নিম্নলিখিত ধাপগুলি সম্পূর্ণ করুন যাতে Xcode আপনার dSYMগুলি প্রক্রিয়া করতে পারে এবং ফাইলগুলি আপলোড করতে পারে৷

    1. > নতুন রান স্ক্রিপ্ট ফেজ ক্লিক করুন।

      নিশ্চিত করুন যে এই নতুন রান স্ক্রিপ্ট পর্বটি আপনার প্রকল্পের শেষ বিল্ড ফেজ; অন্যথায়, Crashlytics সঠিকভাবে dSYM গুলি প্রক্রিয়া করতে পারে না।

    2. নতুন রান স্ক্রিপ্ট বিভাগটি প্রসারিত করুন।

    3. স্ক্রিপ্ট ক্ষেত্রে ( শেল লেবেলের অধীনে অবস্থিত), নিম্নলিখিত রান স্ক্রিপ্ট যোগ করুন।

      এই স্ক্রিপ্টটি আপনার প্রকল্পের dSYM ফাইলগুলিকে প্রক্রিয়া করে এবং ফাইলগুলিকে Crashlytics-এ আপলোড করে৷

      "${BUILD_DIR%/Build/*}/SourcePackages/checkouts/firebase-ios-sdk/Crashlytics/run"
    4. ইনপুট ফাইল বিভাগে, নিম্নলিখিত ফাইলগুলির অবস্থানের জন্য পাথ যোগ করুন:

      ${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)

dSYM ফাইল এবং Crashlytics সম্পর্কে আরও বিশদ তথ্যের জন্য (যেমন ম্যানুয়ালি dSYM ফাইল আপলোড করতে হয়) দেখুন, ডিঅফসকেটেড ক্র্যাশ রিপোর্ট পান

ধাপ 3 : সেটআপ শেষ করতে একটি পরীক্ষা ক্র্যাশ বাধ্য করুন

Crashlytics সেট আপ শেষ করতে এবং Firebase কনসোলের Crashlytics ড্যাশবোর্ডে প্রাথমিক ডেটা দেখতে, আপনাকে একটি পরীক্ষা ক্র্যাশ করতে বাধ্য করতে হবে।

  1. আপনার অ্যাপে কোড যোগ করুন যা আপনি একটি পরীক্ষা ক্র্যাশ করতে বাধ্য করতে ব্যবহার করতে পারেন।

    আপনি আপনার অ্যাপে একটি বোতাম যোগ করতে নিম্নলিখিত কোডটি ব্যবহার করতে পারেন যা চাপলে ক্র্যাশ হয়। বোতামটি "টেস্ট ক্র্যাশ" লেবেলযুক্ত।

    সুইফটইউআই

    Button("Crash") {
      fatalError("Crash was triggered")
    }
    

    UIKit

    সুইফট

    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
    
  2. Xcode ডিবাগার সংযোগ বিচ্ছিন্ন করে Xcode-এ আপনার অ্যাপ তৈরি করুন এবং চালান।

    1. Build-এ ক্লিক করুন এবং তারপরে একটি টেস্ট ডিভাইস বা সিমুলেটরে আপনার অ্যাপ তৈরি করতে বর্তমান স্কিমটি চালান

    2. আপনার অ্যাপ চালু না হওয়া পর্যন্ত অপেক্ষা করুন, তারপর আপনার অ্যাপের প্রাথমিক উদাহরণ বন্ধ করতে স্কিম চালানো বন্ধ করুন বা অ্যাকশনে করুন। এই প্রাথমিক উদাহরণে ডিবাগার অন্তর্ভুক্ত যা ক্র্যাশলিটিক্সের সাথে হস্তক্ষেপ করে।

  3. আপনার অ্যাপের প্রথম ক্র্যাশ রিপোর্ট পাঠানোর জন্য পরীক্ষা ক্র্যাশ জোরপূর্বক করুন:

    1. আপনার পরীক্ষা ডিভাইস বা সিমুলেটর হোম স্ক্রীন থেকে আপনার অ্যাপ্লিকেশন খুলুন.

    2. আপনার অ্যাপে, উপরের কোডটি ব্যবহার করে আপনি যোগ করা "টেস্ট ক্র্যাশ" বোতাম টিপুন।

    3. আপনার অ্যাপ ক্র্যাশ হওয়ার পরে, এটিকে আবার Xcode থেকে চালান যাতে আপনার অ্যাপটি Firebase-এ ক্র্যাশ রিপোর্ট পাঠাতে পারে।

  4. আপনার পরীক্ষা ক্র্যাশ দেখতে Firebase কনসোলের Crashlytics ড্যাশবোর্ডে যান।

    আপনি যদি কনসোলটি রিফ্রেশ করে থাকেন এবং আপনি এখনও পাঁচ মিনিটের পরেও পরীক্ষা ক্র্যাশ দেখতে না পান, আপনার অ্যাপ ক্র্যাশ রিপোর্ট পাঠাচ্ছে কিনা তা দেখতে ডিবাগ লগিং সক্ষম করুন


এবং এটাই! Crashlytics এখন ক্র্যাশের জন্য আপনার অ্যাপ নিরীক্ষণ করছে। আপনার সমস্ত রিপোর্ট এবং পরিসংখ্যান দেখতে এবং তদন্ত করতে Crashlytics ড্যাশবোর্ডে যান।

পরবর্তী পদক্ষেপ