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

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

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

ধাপ 1 : আপনার অ্যাপে পারফরম্যান্স মনিটরিং যোগ করুন

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

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

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

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

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

    সুইফটইউআই

    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. আপনার অ্যাপ্লিকেশন পুনরায় কম্পাইল.

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

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

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

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

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

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

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

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

    1. Xcode (সর্বনিম্ন v14.1) এ, পণ্য > স্কিম > স্কিম সম্পাদনা করুন নির্বাচন করুন।
    2. বাম মেনু থেকে রান নির্বাচন করুন, তারপর আর্গুমেন্ট ট্যাব নির্বাচন করুন।
    3. আর্গুমেন্ট পাসড অন লঞ্চ বিভাগে, -FIRDebugEnabled যোগ করুন।
  2. কোনো ত্রুটি বার্তা জন্য আপনার লগ বার্তা পরীক্ষা করুন.

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

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

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

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

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

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

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

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

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

ধাপ 5 : আপনার অ্যাপ স্থাপন করুন তারপর ফলাফল পর্যালোচনা করুন

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

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

জ্ঞাত সমস্যা

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

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