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

শুরু করার আগে

যদি আপনি ইতিমধ্যেই না করে থাকেন, তাহলে আপনার অ্যাপল প্রজেক্টে Firebase যোগ করুন

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

Performance Monitoring SDK যোগ করার পর, Firebase স্বয়ংক্রিয়ভাবে আপনার অ্যাপের স্ক্রিন রেন্ডারিং , আপনার অ্যাপের জীবনচক্র সম্পর্কিত ডেটা (যেমন অ্যাপ শুরুর সময় ) এবং HTTP/S নেটওয়ার্ক অনুরোধের ডেটা সংগ্রহ করা শুরু করে।

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

  1. Xcode-এ, আপনার অ্যাপ প্রজেক্ট খোলা থাকা অবস্থায়, File > Add Packages- এ নেভিগেট করুন।
  2. অনুরোধ করা হলে, Firebase Apple platforms SDK সংগ্রহস্থল যোগ করুন:
  3.   https://github.com/firebase/firebase-ios-sdk.git
  4. Performance Monitoring লাইব্রেরিটি বেছে নিন।
  5. আপনার টার্গেটের বিল্ড সেটিংসের অন্যান্য লিঙ্কার ফ্ল্যাগ বিভাগে -ObjC ফ্ল্যাগ যোগ করুন।
  6. শেষ হয়ে গেলে, Xcode স্বয়ংক্রিয়ভাবে ব্যাকগ্রাউন্ডে আপনার নির্ভরতাগুলি সমাধান এবং ডাউনলোড করা শুরু করবে।

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

  1. আপনার UIApplicationDelegateFirebaseCore মডিউলটি আমদানি করুন, সেইসাথে আপনার অ্যাপ প্রতিনিধিদের দ্বারা ব্যবহৃত অন্য যেকোনো Firebase মডিউল । উদাহরণস্বরূপ, Cloud Firestore এবং Authentication ব্যবহার করতে:

    সুইফটইউআই

    import SwiftUI
    import FirebaseCore
    import FirebaseFirestore
    import FirebaseAuth
    // ...
          

    সুইফট

    import FirebaseCore
    import FirebaseFirestore
    import FirebaseAuth
    // ...
          

    অবজেক্টিভ-সি

    @import FirebaseCore;
    @import FirebaseFirestore;
    @import FirebaseAuth;
    // ...
          
  2. আপনার অ্যাপ ডেলিগেটের application(_:didFinishLaunchingWithOptions:) পদ্ধতিতে একটি FirebaseApp শেয়ার করা ইনস্ট্যান্স কনফিগার করুন:

    সুইফটইউআই

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

    সুইফট

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

    অবজেক্টিভ-সি

    // Use Firebase library to configure APIs
    [FIRApp configure];
  3. যদি আপনি SwiftUI ব্যবহার করেন, তাহলে আপনাকে একটি অ্যাপ্লিকেশন ডেলিগেট তৈরি করতে হবে এবং UIApplicationDelegateAdaptor অথবা NSApplicationDelegateAdaptor মাধ্যমে আপনার App স্ট্রাক্টের সাথে এটি সংযুক্ত করতে হবে। আপনাকে অ্যাপ ডেলিগেট সুইজলিংও অক্ষম করতে হবে। আরও তথ্যের জন্য, SwiftUI নির্দেশাবলী দেখুন।

    সুইফটইউআই

    @main
    struct YourApp: App {
      // register app delegate for Firebase setup
      @UIApplicationDelegateAdaptor(AppDelegate.self) var delegate
    
      var body: some Scene {
        WindowGroup {
          NavigationView {
            ContentView()
          }
        }
      }
    }
          
  4. আপনার অ্যাপটি পুনরায় কম্পাইল করুন।

ধাপ ২ : প্রাথমিক ডেটা প্রদর্শনের জন্য কর্মক্ষমতা ইভেন্ট তৈরি করুন

আপনার অ্যাপে SDK সফলভাবে যোগ করার পর Firebase ইভেন্টগুলি প্রক্রিয়াকরণ শুরু করে। যদি আপনি এখনও স্থানীয়ভাবে ডেভেলপ করেন, তাহলে প্রাথমিক ডেটা সংগ্রহ এবং প্রক্রিয়াকরণের জন্য ইভেন্ট তৈরি করতে আপনার অ্যাপের সাথে ইন্টারঅ্যাক্ট করুন।

  1. সিমুলেটর বা পরীক্ষামূলক ডিভাইস ব্যবহার করে আপনার অ্যাপটি তৈরি করা চালিয়ে যান।

  2. আপনার অ্যাপটিকে ব্যাকগ্রাউন্ড এবং ফোরগ্রাউন্ডের মধ্যে বেশ কয়েকবার স্যুইচ করে, স্ক্রিন জুড়ে নেভিগেট করে আপনার অ্যাপের সাথে ইন্টারঅ্যাক্ট করে এবং/অথবা নেটওয়ার্ক অনুরোধগুলি ট্রিগার করে ইভেন্ট তৈরি করুন।

  3. Firebase কনসোলের পারফরম্যান্স ড্যাশবোর্ডে যান। কয়েক মিনিটের মধ্যেই আপনার প্রাথমিক ডেটা প্রদর্শিত হবে।

    যদি আপনি আপনার প্রাথমিক ডেটার প্রদর্শন দেখতে না পান, তাহলে সমস্যা সমাধানের টিপসগুলি পর্যালোচনা করুন।

ধাপ ৩ : (ঐচ্ছিক) পারফর্ম্যান্স ইভেন্টের জন্য লগ বার্তা দেখুন

  1. ডিবাগ লগিং সক্ষম করুন, নিম্নরূপ:

    1. Xcode (সর্বনিম্ন v16.2) তে, Product > Scheme > Edit scheme নির্বাচন করুন।
    2. বাম মেনু থেকে Run নির্বাচন করুন, তারপর Arguments ট্যাব নির্বাচন করুন।
    3. "লঞ্চে পাস করা আর্গুমেন্ট" বিভাগে, -FIRDebugEnabled যোগ করুন।
  2. কোনও ত্রুটির বার্তার জন্য আপনার লগ বার্তাগুলি পরীক্ষা করুন।

  3. Performance Monitoring তার লগ বার্তাগুলিকে Firebase/Performance দিয়ে ট্যাগ করে যাতে আপনি আপনার লগ বার্তাগুলি ফিল্টার করতে পারেন।

  4. নিম্নলিখিত ধরণের লগগুলি পরীক্ষা করুন যা নির্দেশ করে যে Performance Monitoring পারফরম্যান্স ইভেন্টগুলি লগ করছে:

    • Logging trace metric: TRACE_NAME , FIREBASE_PERFORMANCE_CONSOLE_URL
    • Logging network request trace: URL
  5. Firebase কনসোলে আপনার ডেটা দেখতে URL-এ ক্লিক করুন। ড্যাশবোর্ডে ডেটা আপডেট হতে কয়েক মুহূর্ত সময় লাগতে পারে।

যদি আপনার অ্যাপ পারফর্ম্যান্স ইভেন্ট লগ না করে, তাহলে সমস্যা সমাধানের টিপস পর্যালোচনা করুন।

ধাপ ৪ : (ঐচ্ছিক) নির্দিষ্ট কোডের জন্য কাস্টম মনিটরিং যোগ করুন

আপনার অ্যাপে নির্দিষ্ট কোডের সাথে সম্পর্কিত কর্মক্ষমতা ডেটা নিরীক্ষণ করতে, আপনি কাস্টম কোড ট্রেস ব্যবহার করতে পারেন।

একটি কাস্টম কোড ট্রেস ব্যবহার করে, আপনি পরিমাপ করতে পারেন যে আপনার অ্যাপটি একটি নির্দিষ্ট কাজ বা কাজের সেট সম্পূর্ণ করতে কত সময় নেয়, যেমন ছবির একটি সেট লোড করা বা আপনার ডাটাবেস অনুসন্ধান করা। একটি কাস্টম কোড ট্রেসের ডিফল্ট মেট্রিক হল এর সময়কাল, তবে আপনি ক্যাশে হিট এবং মেমরি সতর্কতার মতো কাস্টম মেট্রিকও যোগ করতে পারেন।

আপনার কোডে, আপনি Performance Monitoring SDK দ্বারা প্রদত্ত API ব্যবহার করে একটি কাস্টম কোড ট্রেসের শুরু এবং শেষ নির্ধারণ করেন (এবং যেকোনো পছন্দসই কাস্টম মেট্রিক্স যোগ করেন)।

এই বৈশিষ্ট্যগুলি এবং আপনার অ্যাপে কীভাবে এগুলি যোগ করবেন সে সম্পর্কে আরও জানতে নির্দিষ্ট কোডের জন্য Add Monitoring দেখুন।

ধাপ ৫ : আপনার অ্যাপটি স্থাপন করুন এবং ফলাফল পর্যালোচনা করুন

Xcode সিমুলেটর এবং এক বা একাধিক পরীক্ষামূলক ডিভাইস ব্যবহার করে Performance Monitoring যাচাই করার পরে, আপনি আপনার অ্যাপের আপডেট করা সংস্করণটি আপনার ব্যবহারকারীদের কাছে স্থাপন করতে পারেন।

আপনি Firebase কনসোলের পারফরম্যান্স ড্যাশবোর্ডে পারফরম্যান্স ডেটা পর্যবেক্ষণ করতে পারেন।

জ্ঞাত সমস্যা

  • GTMSQLite-এর সাথে Performance Monitoring সামঞ্জস্যের সমস্যা রয়েছে। আমরা GTMSQLite ব্যবহারকারী অ্যাপগুলির সাথে Performance Monitoring ব্যবহার না করার পরামর্শ দিচ্ছি।
  • FirebaseApp.configure() কল করার পরে মেথড সুইজলিং Performance Monitoring SDK-তে হস্তক্ষেপ করতে পারে।
  • iOS 8.0-8.2 সিমুলেটরের জ্ঞাত সমস্যাগুলির কারণে Performance Monitoring পারফরম্যান্স ইভেন্টগুলি ক্যাপচার করতে পারে না। এই সমস্যাগুলি iOS 8.3 সিমুলেটর এবং পরবর্তী সংস্করণগুলিতে সমাধান করা হয়েছে।
  • NSURLSession এর backgroundSessionConfiguration ব্যবহার করে স্থাপিত সংযোগগুলি প্রত্যাশিত সংযোগের সময়কালের চেয়ে বেশি সময় প্রদর্শন করবে। এই সংযোগগুলি প্রক্রিয়ার বাইরে কার্যকর করা হয় এবং সময়গুলি প্রক্রিয়াধীন কলব্যাক ইভেন্টগুলিকে প্রতিফলিত করে।

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