অ্যাপল প্ল্যাটফর্মের জন্য ক্র্যাশলিটিক্স দিয়ে শুরু করুন

প্ল্যাটফর্ম নির্বাচন করুন: iOS+ অ্যান্ড্রয়েড অ্যান্ড্রয়েড এনডিকে ফ্লাটার ইউনিটি


এই নির্দেশিকায় বর্ণনা করা হয়েছে কীভাবে আপনার অ্যাপল প্ল্যাটফর্মের অ্যাপে (যেমন, একটি iOS অ্যাপ) Firebase Crashlytics ব্যবহার শুরু করবেন।

আপনার অ্যাপে Firebase Crashlytics SDK সেট আপ করার পরে, আপনি Firebase কনসোলে বিস্তারিত ক্র্যাশ রিপোর্ট পেতে পারেন। Apple প্ল্যাটফর্মের জন্য Crashlytics মাধ্যমে, আপনি ক্র্যাশ এবং নন-ফেটাল এরর উভয়েরই রিপোর্ট পান।

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

শুরু করার আগে

  1. যদি আগে থেকে না করে থাকেন, তাহলে আপনার অ্যাপল প্রজেক্টে ফায়ারবেস যোগ করুন । যদি আপনার কোনো অ্যাপল অ্যাপ না থাকে, তাহলে আপনি একটি স্যাম্পল অ্যাপ ডাউনলোড করতে পারেন।

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

    • আপনার বিদ্যমান Firebase প্রজেক্টে যদি Google Analytics সক্রিয় করা না থাকে, তাহলে আপনি আপনার প্রজেক্টের Integrations ট্যাব থেকে Google Analytics সক্রিয় করতে পারেন। Firebase কনসোলে > প্রজেক্ট সেটিংস

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

    উল্লেখ্য যে, watchOS ব্যতীত Crashlytics দ্বারা সমর্থিত অ্যাপলের অন্য সকল প্ল্যাটফর্মের জন্য ব্রেডক্রাম্ব লগ উপলব্ধ।

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

ফায়ারবেস ডিপেন্ডেন্সিগুলো ইনস্টল ও পরিচালনা করতে সুইফট প্যাকেজ ম্যানেজার ব্যবহার করুন।

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

এরপর, ফায়ারবেস মডিউলটি কনফিগার করুন:

  1. আপনার App struct অথবা 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];

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

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

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

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

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

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

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

  4. Build Phases ট্যাবে ক্লিক করুন, তারপর নিচের ধাপগুলো সম্পন্ন করুন যাতে 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)
      আপনার প্রোজেক্টের বিল্ড সেটিংসে যদি 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 ড্যাশবোর্ডে প্রাথমিক ডেটা দেখতে, আপনাকে একটি টেস্ট ক্র্যাশ ঘটাতে হবে।

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

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

    SwiftUI

    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. আপনার অ্যাপটি একটি টেস্ট ডিভাইস বা সিমুলেটরে বিল্ড করতে বিল্ড বোতামে ক্লিক করুন এবং তারপরে বর্তমান স্কিমাটি চালান

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

  3. আপনার অ্যাপের প্রথম ক্র্যাশ রিপোর্টটি পাঠানোর জন্য টেস্টটি জোর করে ক্র্যাশ করান:

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

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

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

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

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


ব্যাস, এটুকুই! Crashlytics এখন আপনার অ্যাপে ক্র্যাশ হচ্ছে কিনা তা পর্যবেক্ষণ করছে। আপনার সমস্ত রিপোর্ট ও পরিসংখ্যান দেখতে এবং খতিয়ে দেখতে Crashlytics ড্যাশবোর্ডে যান।

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