BigQuery-তে এক্সপোর্ট করা ডেটার জন্য ডেটাসেট স্কিমা

এই পৃষ্ঠায় এক্সপোর্ট করা Crashlytics ডেটা এবং BigQuery-এ Firebase সেশন ডেটার ডেটাসেট স্কিমা দেওয়া আছে।

Firebase আপনার এক্সপোর্ট করা ডেটার জন্য BigQuery-এ নতুন ডেটাসেট তৈরি করে:



Crashlytics ডেটাসেট

Crashlytics ডেটা BigQuery নামের ডেটাসেটে এক্সপোর্ট করা হয় firebase_crashlytics। ডেটাসেটে আপনার সম্পূর্ণ প্রোজেক্ট কভার করা হয়, এমনকি এতে একাধিক অ্যাপ থাকলেও তা করা হয়।

সারণীসমূহ

ডিফল্ট হিসেবে, Firebase আপনার প্রোজেক্টের BigQuery-এর সাথে লিঙ্ক করা প্রতিটি অ্যাপের জন্য Crashlytics ডেটা সেটের মধ্যে আলাদা আলাদা টেবিল তৈরি করে।

অ্যাপের শনাক্তকারী (ডটকে আন্ডারস্কোরে পরিবর্তন করা হয়েছে) এবং অ্যাপের প্ল্যাটফর্ম (_IOS বা _ANDROID) যোগ করে টেবিলের নাম দেওয়া হয়। যেমন, com.google.test প্যাকেজ নামের Android অ্যাপের ডেটা com_google_test_ANDROID নামের টেবিলে থাকবে।

মধ্যে থেকে আপনার প্রোজেক্টের নির্দিষ্ট অ্যাপের জন্য BigQuery ডেটা এক্সপোর্ট করার বিকল্প থেকে অপ্ট-আউট করতে পারেন।
  • BigQuery-এ স্ট্রিম এক্সপোর্ট করার সুবিধা চালু করা থাকলে, ডেটা _REALTIME-এর সাথে যুক্ত টেবিল (যেমন, com_google_test_ANDROID_REALTIME)-এও রিয়েল-টাইমে স্ট্রিম করা হবে।

  • টেবিলের প্রতিটি সারি অ্যাপে হওয়া কোনও ইভেন্টকে দেখায়, যার মধ্যে ক্র্যাশ, নন-ফ্যাটাল সমস্যা ও ANR অন্তর্ভুক্ত।

  • টেবিলে Crashlytics ডেটার একটি স্ট্যান্ডার্ড সেট থাকে, এর সাথে আপনার অ্যাপে কাস্টম Crashlytics কীও থাকে যা আপনিই নির্ধারণ করেন (iOS+ | Android | Flutter | Unity )।

সারি

টেবিলে প্রতিটি সারিতে অ্যাপের সম্মুখীন হওয়া একটি করে সমস্যার তথ্য থাকে।

কলাম

ক্র্যাশ, নন-ফ্যাটাল সমস্যা ও ANR-এর ক্ষেত্রে টেবিলের কলামগুলি একই রকম হয়।

  • BigQuery-এ স্ট্রিমিং এক্সপোর্ট চালু করা থাকলে, ব্যাচ টেবিলের মতো একই কলাম রিয়েলটাইম টেবিলে থাকবে।

  • আপনার সারিতে এমন কলাম থাকতে পারে যা এমন ইভেন্টকে উপস্থাপন করে যেগুলিতে স্ট্যাক ট্রেস নেই।

এক্সপোর্ট করা Crashlytics ডেটার জন্য সারণীতে কলামগুলি এখানে দেওয়া হল:

ফিল্ডের নাম ডেটার ধরন বিবরণ
app_orientation স্ট্রিং যেমন, PORTRAIT, LANDSCAPE, FACE_UP, FACE_DOWN, ইত্যাদি।
application রেকর্ড যে অ্যাপ ইভেন্ট তৈরি করেছে
application.build_version স্ট্রিং অ্যাপের বিল্ড ভার্সন
application.display_version স্ট্রিং
blame_frame রেকর্ড ক্র্যাশ বা সমস্যার মূল কারণ হিসেবে শনাক্ত করা ফ্রেম
blame_frame.address INT64 বাইনারি ইমেজে সেই অ্যাড্রেস যেখানে কোড
জাভা ফ্রেমের জন্য আনসেট করা আছে
blame_frame.blamed বুলিয়ান Crashlytics নির্ধারণ করেছে কিনা যে এই ফ্রেমটি ক্র্যাশ বা সমস্যার কারণ
blame_frame.file স্ট্রিং ফ্রেম ফাইলের নাম
blame_frame.library স্ট্রিং ফ্রেম সহ লাইব্রেরির ডিসপ্লে নাম
blame_frame.line INT64 ফ্রেমের ফাইলের লাইন নম্বর
blame_frame.offset INT64 কোড
Java ব্যতিক্রমের জন্য আনসেট আছে এমন বাইনারি ইমেজে বাইট অফসেট
blame_frame.owner স্ট্রিং যেমন, DEVELOPER, VENDOR, RUNTIME, PLATFORM অথবা SYSTEM
blame_frame.symbol স্ট্রিং হাইড্রেটেড প্রতীক অথবা এটি আনহাইড্রেশনযোগ্য হলে, কাঁচা প্রতীক
breadcrumbs পুনরাবৃত্তিমূলক রেকর্ড চালু করা থাকলে, টাইমস্ট্যাম্প করা Google Analytics ব্রেডক্রাম্ব,
breadcrumbs.name স্ট্রিং ব্রেডক্রাম্বের সাথে যুক্ত নাম
breadcrumbs.params পুনরাবৃত্তিমূলক রেকর্ড ব্রেডক্রাম্বের সাথে যুক্ত প্যারামিটার
breadcrumbs.params.key স্ট্রিং ব্রেডক্রাম্বের সাথে যুক্ত প্যারামিটার কী
breadcrumbs.params.value স্ট্রিং ব্রেডক্রাম্বের সাথে যুক্ত প্যারামিটার ভ্যালু
breadcrumbs.timestamp টাইমস্ট্যাম্প ব্রেডক্রাম্বের সাথে যুক্ত টাইমস্ট্যাম্প
bundle_identifier স্ট্রিং Firebase প্রোজেক্টে রেজিস্টার করা অ্যাপের অনন্য শনাক্তকারী (যেমন, com.google.gmail)
Apple প্ল্যাটফর্মের অ্যাপের ক্ষেত্রে, এটি হল অ্যাপের বান্ডেল আইডি।
Android অ্যাপের ক্ষেত্রে, এটি হল অ্যাপের প্যাকেজের নাম।
crashlytics_sdk_versions স্ট্রিং Crashlytics ইভেন্ট তৈরি করা SDK ভার্সন
custom_keys পুনরাবৃত্তিমূলক রেকর্ড ডেভেলপার-সংজ্ঞায়িত কী-ভ্যালু পেয়ার
custom_keys.key স্ট্রিং ডেভেলপার-সংজ্ঞায়িত কী
custom_keys.value স্ট্রিং ডেভেলপার-নির্দিষ্ট ভ্যালু
device রেকর্ড যে ডিভাইসে ইভেন্টটি ঘটেছে
device_orientation স্ট্রিং যেমন, PORTRAIT, LANDSCAPE, FACE_UP, FACE_DOWN, ইত্যাদি।
device.architecture স্ট্রিং যেমন, X86_32, X86_64, ARMV7, ARM64, ARMV7S, বা ARMV7K
device.manufacturer স্ট্রিং ডিভাইস প্রস্তুতকারক
device.model স্ট্রিং ডিভাইসের মডেল
error পুনরাবৃত্তিমূলক রেকর্ড (শুধুমাত্র Apple অ্যাপের ক্ষেত্রে) গুরুতর নয় এমন সমস্যা
error_type স্ট্রিং ইভেন্টের ত্রুটির ধরন (যেমন, FATAL, NON_FATAL, ANR, ইত্যাদি)
error.blamed বুলিয়ান Crashlytics কি নির্ধারণ করেছে যে এই ফ্রেমটিই সমস্যার কারণ
error.code INT64 অ্যাপের কাস্টম লগ করা NSError-এর সাথে যুক্ত সমস্যার কোড
error.frames পুনরাবৃত্তিমূলক রেকর্ড স্ট্যাকট্রেসের ফ্রেম
error.frames.address INT64 কোড থাকা বাইনারি ইমেজের ঠিকানা
error.frames.blamed বুলিয়ান Crashlytics কি নির্ধারণ করেছে যে এই ফ্রেমটিই সমস্যার কারণ
error.frames.file স্ট্রিং ফ্রেম ফাইলের নাম
error.frames.library স্ট্রিং ফ্রেম সহ লাইব্রেরির ডিসপ্লে নাম
error.frames.line INT64 ফ্রেমের ফাইলের লাইন নম্বর
error.frames.offset INT64 কোড থাকা বাইনারি ইমেজে বাইট অফসেট
error.frames.owner স্ট্রিং যেমন, DEVELOPER, VENDOR, RUNTIME, PLATFORM অথবা SYSTEM
error.frames.symbol স্ট্রিং হাইড্রেটেড প্রতীক অথবা এটি আনহাইড্রেশনযোগ্য হলে, কাঁচা প্রতীক
error.queue_name স্ট্রিং থ্রেড যে সারিতে চলছিল
error.subtitle স্ট্রিং থ্রেডের সাবটাইটেল
error.title স্ট্রিং থ্রেডের শীর্ষক
event_id স্ট্রিং ইভেন্টের অনন্য আইডি
event_timestamp টাইমস্ট্যাম্প ইভেন্টটি কখন ঘটেছে
exceptions পুনরাবৃত্তিমূলক রেকর্ড (শুধুমাত্র Android) এই ইভেন্ট চলাকালীন হওয়া ব্যতিক্রম। নেস্টেড ব্যতিক্রমগুলি উল্টো কালানুক্রমিক ক্রমে দেখানো হয়, যার অর্থ হল শেষ রেকর্ডটি হল প্রথম ব্যতিক্রম যা থ্রো করা হয়েছে
exceptions.blamed বুলিয়ান Crashlytics যদি নির্ধারণ করে যে ব্যতিক্রমটিই সমস্যা বা ক্র্যাশ হওয়ার জন্য দায়ী, তাহলে উত্তর 'সঠিক' হবে
exceptions.exception_message স্ট্রিং এক্সেপশনের সাথে যুক্ত মেসেজ
exceptions.frames পুনরাবৃত্তিমূলক রেকর্ড ব্যতিক্রমের সাথে যুক্ত ফ্রেম
exceptions.frames.address INT64 বাইনারি ইমেজে সেই অ্যাড্রেস যেখানে কোড
জাভা ফ্রেমের জন্য আনসেট করা আছে
exceptions.frames.blamed বুলিয়ান Crashlytics নির্ধারণ করেছে কিনা যে এই ফ্রেমটি ক্র্যাশ বা সমস্যার কারণ
exceptions.frames.file স্ট্রিং ফ্রেম ফাইলের নাম
exceptions.frames.library স্ট্রিং ফ্রেম সহ লাইব্রেরির ডিসপ্লে নাম
exceptions.frames.line INT64 ফ্রেমের ফাইলের লাইন নম্বর
exceptions.frames.offset INT64 কোড
Java ব্যতিক্রমের জন্য আনসেট আছে এমন বাইনারি ইমেজে বাইট অফসেট
exceptions.frames.owner স্ট্রিং যেমন, DEVELOPER, VENDOR, RUNTIME, PLATFORM অথবা SYSTEM
exceptions.frames.symbol স্ট্রিং হাইড্রেটেড প্রতীক অথবা এটি আনহাইড্রেশনযোগ্য হলে, কাঁচা প্রতীক
exceptions.nested বুলিয়ান শেষবার ছুঁড়ে মারা ব্যতিক্রম (অর্থাৎ প্রথম রেকর্ড) ছাড়া সবকটির জন্য 'ট্রু'
exceptions.subtitle স্ট্রিং থ্রেডের সাবটাইটেল
exceptions.title স্ট্রিং থ্রেডের শীর্ষক
exceptions.type স্ট্রিং ব্যতিক্রমের ধরন (যেমন, java.lang.IllegalStateException)
firebase_session_id স্ট্রিং Crashlytics থেকে ইভেন্টের সাথে ম্যাপ করা Firebase সেশনের জন্য অটোমেটিক জেনারেট করা আইডি
installation_uuid স্ট্রিং একটি আইডি যা অনন্য অ্যাপ ও ডিভাইস ইনস্টলেশন শনাক্ত করে
is_fatal বুলিয়ান অ্যাপ ক্র্যাশ করেছে কিনা
issue_id স্ট্রিং ইভেন্টের সাথে সম্পর্কিত সমস্যা
logs পুনরাবৃত্তিমূলক রেকর্ড চালু করা থাকলে, Crashlytics logger-এর দ্বারা জেনারেট করা টাইমস্ট্যাম্প করা লগ মেসেজ
logs.message স্ট্রিং লগ করা মেসেজ
logs.timestamp টাইমস্ট্যাম্প কখন লগ তৈরি করা হয়েছে
memory রেকর্ড ডিভাইসের মেমরি স্ট্যাটাস
memory.free INT64 বাকি থাকা মেমরির বাইট
memory.used INT64 ব্যবহৃত মেমরির বাইট
operating_system রেকর্ড ডিভাইসে থাকা OS-এর বিবরণ
operating_system.device_type স্ট্রিং ডিভাইসের ধরন (যেমন, MOBILE, TABLET, TV, ইত্যাদি); এছাড়াও "ডিভাইস বিভাগ" হিসেবে পরিচিত
operating_system.display_version স্ট্রিং ডিভাইসে OS-এর ভার্সন
operating_system.modification_state স্ট্রিং ডিভাইসটি পরিবর্তন করা হয়েছে কিনা (যেমন, জেলব্রোকেন অ্যাপ হল MODIFIED এবং রুট করা অ্যাপ হল UNMODIFIED)
operating_system.name স্ট্রিং ডিভাইসে থাকা OS-এর নাম
operating_system.type স্ট্রিং (শুধুমাত্র Apple অ্যাপের ক্ষেত্রে) ডিভাইসে যে ধরনের OS চলছে (যেমন, IOS, MACOS ইত্যাদি)
platform স্ট্রিং Firebase প্রোজেক্টে রেজিস্টার করা অ্যাপের প্ল্যাটফর্ম (বৈধ ভ্যালু: IOS অথবা ANDROID)
process_state স্ট্রিং BACKGROUND বা FOREGROUND
storage রেকর্ড ডিভাইসের স্থায়ী স্টোরেজ
storage.free INT64 বাকি থাকা স্টোরেজের বাইট
storage.used INT64 ব্যবহৃত স্টোরেজের বাইট
threads পুনরাবৃত্তিমূলক রেকর্ড ইভেন্টের সময় উপস্থিত থ্রেড
threads.blamed বুলিয়ান Crashlytics নির্ধারণ করেছে কিনা যে এই ফ্রেমটি ক্র্যাশ বা সমস্যার কারণ
threads.code INT64 (শুধুমাত্র Apple অ্যাপের ক্ষেত্রে) অ্যাপ্লিকেশনের কাস্টম লগ করা NSError-এর সমস্যার কোড
threads.crash_address INT64 যে সিগন্যালের কারণে অ্যাপ্লিকেশন ক্র্যাশ করেছে তার অ্যাড্রেস; শুধুমাত্র ক্র্যাশ করা নেটিভ থ্রেডে উপস্থিত থাকে
threads.crashed বুলিয়ান থ্রেড ক্র্যাশ করেছে কিনা
threads.frames পুনরাবৃত্তিমূলক রেকর্ড থ্রেডের ফ্রেম
threads.frames.address INT64 কোড থাকা বাইনারি ইমেজের ঠিকানা
threads.frames.blamed বুলিয়ান Crashlytics কি নির্ধারণ করেছে যে এই ফ্রেমটিই সমস্যার কারণ
threads.frames.file স্ট্রিং ফ্রেম ফাইলের নাম
threads.frames.library স্ট্রিং ফ্রেম সহ লাইব্রেরির ডিসপ্লে নাম
threads.frames.line INT64 ফ্রেমের ফাইলের লাইন নম্বর
threads.frames.offset INT64 কোড থাকা বাইনারি ইমেজে বাইট অফসেট
threads.frames.owner স্ট্রিং যেমন, DEVELOPER, VENDOR, RUNTIME, PLATFORM অথবা SYSTEM
threads.frames.symbol স্ট্রিং হাইড্রেটেড চিহ্ন অথবা এটি হাইড্রেট করা না গেলে, কাঁচা চিহ্ন
threads.queue_name স্ট্রিং (শুধুমাত্র Apple অ্যাপের ক্ষেত্রে) থ্রেডটি যে সারিতে চলছিল
threads.signal_code স্ট্রিং অ্যাপ ক্র্যাশ হওয়ার কারণ যে সিগন্যাল, তার কোড; শুধু ক্র্যাশ হওয়া নেটিভ থ্রেডে থাকে
threads.signal_name স্ট্রিং যে সিগন্যালের কারণে অ্যাপ ক্র্যাশ করেছে তার নাম, শুধুমাত্র ক্র্যাশ করা নেটিভ থ্রেডে উপস্থিত থাকে
threads.subtitle স্ট্রিং থ্রেডের সাবটাইটেল
threads.thread_name স্ট্রিং থ্রেডের নাম
threads.title স্ট্রিং থ্রেডের শীর্ষক
unity_metadata.debug_build বুলিয়ান এটি যদি কোনও ডিবাগ বিল্ড হয়
unity_metadata.graphics_copy_texture_support স্ট্রিং Unity API-তে যেভাবে বলা আছে সেই অনুযায়ী গ্রাফিক্স টেক্সচার কপি করার সুবিধা
unity_metadata.graphics_device_id INT64 গ্রাফিক্স ডিভাইসের শনাক্তকারী
unity_metadata.graphics_device_name স্ট্রিং গ্রাফিক্স ডিভাইসের নাম
unity_metadata.graphics_device_type স্ট্রিং গ্রাফিক্স ডিভাইসের ধরন
unity_metadata.graphics_device_vendor_id INT64 গ্রাফিক্স প্রসেসরের ভেন্ডরের শনাক্তকারী
unity_metadata.graphics_device_vendor স্ট্রিং গ্রাফিক্স ডিভাইসের ভেন্ডর
unity_metadata.graphics_device_version স্ট্রিং গ্রাফিক্স ডিভাইসের ভার্সন
unity_metadata.graphics_max_texture_size INT64 টেক্সচার রেন্ডার করার জন্য সর্বাধিক সাইজ
unity_metadata.graphics_memory_size_mb INT64 এমবিতে গ্রাফিক মেমরি
unity_metadata.graphics_render_target_count INT64 গ্রাফিক্যাল রেন্ডারিং টার্গেটের সংখ্যা
unity_metadata.graphics_shader_level INT64 গ্রাফিক্সের শেডার লেভেল
unity_metadata.processor_count INT64 প্রসেসরের সংখ্যা (কোর)
unity_metadata.processor_frequency_mhz INT64 প্রসেসরের ফ্রিকোয়েন্সি(MHz)
unity_metadata.processor_type স্ট্রিং প্রসেসরের ধরন
unity_metadata.screen_refresh_rate_hz INT64 Hz-এ স্ক্রিনের রিফ্রেশ রেট
unity_metadata.screen_resolution_dpi স্ট্রিং ফ্লোটিং পয়েন্ট নম্বর হিসেবে স্ক্রিনের DPI
unity_metadata.screen_size_px স্ট্রিং পিক্সেলে স্ক্রিনের সাইজ, প্রস্থ x উচ্চতা হিসেবে ফর্ম্যাট করা হয়
unity_metadata.system_memory_size_mb INT64 সিস্টেমের মেমরির সাইজ এমবিতে
unity_metadata.unity_version স্ট্রিং এই ডিভাইসে Unity-র যে ভার্সন চলছে
user রেকর্ড (ঐচ্ছিক) অ্যাপের ব্যবহারকারী সম্পর্কে সংগ্রহ করা তথ্য
user.email স্ট্রিং (ঐচ্ছিক) ব্যবহারকারীর ইমেল আইডি
user.id স্ট্রিং (ঐচ্ছিক) ব্যবহারকারীর সাথে যুক্ত অ্যাপ-নির্দিষ্ট আইডি
user.name স্ট্রিং (ঐচ্ছিক) ব্যবহারকারীর নাম
variant_id স্ট্রিং এই ইভেন্টের সাথে যুক্ত সমস্যার ধরন
মনে রাখবেন, সব ইভেন্টের সাথে যুক্ত সমস্যার ধরন থাকে না।



Firebase সেশন ডেটাসেট

Firebase সেশন ডেটা BigQuery নামের ডেটাসেটে এক্সপোর্ট করা হয় firebase_sessions। ডেটাসেটে আপনার সম্পূর্ণ প্রোজেক্ট কভার করা হয়, এমনকি এতে একাধিক অ্যাপ থাকলেও তা করা হয়।

সারণীসমূহ

ডিফল্ট হিসেবে, Firebase আপনার প্রোজেক্টের প্রতিটি অ্যাপের জন্য Firebase সেশন ডেটা সেটের মধ্যে আলাদা আলাদা টেবিল তৈরি করে যা BigQuery-এর সাথে লিঙ্ক করা থাকে।

অ্যাপের শনাক্তকারী (ডটকে আন্ডারস্কোরে পরিবর্তন করা হয়েছে) এবং অ্যাপের প্ল্যাটফর্ম (_IOS বা _ANDROID) যোগ করে টেবিলের নাম দেওয়া হয়। যেমন, com.google.test প্যাকেজ নামের Android অ্যাপের ডেটা com_google_test_ANDROID নামের টেবিলে থাকবে।

সারি

টেবিলের প্রতিটি সারি একটি সেশন ইভেন্টকে বোঝায় যা ঘটেছে।

কলাম

BigQuery-এ স্ট্রিমিং এক্সপোর্ট চালু করা থাকলে, ব্যাচ টেবিলের মতো একই কলাম রিয়েলটাইম টেবিলে থাকবে।

এক্সপোর্ট করা Firebase সেশন ডেটার টেবিলের মধ্যে কলামগুলি এখানে দেওয়া হল:

ফিল্ডের নাম ডেটার ধরন বিবরণ
instance_id স্ট্রিং ডিভাইস থেকে Firebase ইনস্টলেশন আইডি (FID)। অনন্য অ্যাপ + ডিভাইস ইনস্টলেশন শনাক্ত করে
session_id স্ট্রিং এই সেশনের অনন্য আইডি
first_session_id স্ট্রিং অ্যাপটি কোল্ড স্টার্ট করার পর থেকে এই সেশনটি যে সেশন সিরিজের মধ্যে রয়েছে তার প্রথম আইডি। কোল্ড স্টার্টের পর থেকে হওয়া সব সেশনকে গ্রুপ করতে এটি ব্যবহার করা যেতে পারে। এই সেশনটি প্রথম সেশন হলে, এই ফিল্ডটি session_id-এর মতো একই হবে।
session_index ইন্টিজার অ্যাপ কোল্ড স্টার্ট হওয়ার পরে এই সেশনের অর্ডার এসেছে। কোল্ড স্টার্টের পরে প্রথম সেশনের জন্য, এটি 0 হবে। কোনও কোল্ড স্টার্ট না হয়ে সেশন তৈরি হলেই ইনডেক্স ইনক্রিমেন্ট করা হবে (যেমন, ৩০ মিনিট অ্যাক্টিভিটি না থাকার পরে)।
event_type স্ট্রিং সেশনে হওয়া ইভেন্টের ধরন (যেমন, SESSION_START)
event_timestamp টাইমস্ট্যাম্প ইভেন্ট হওয়ার সময়
received_timestamp টাইমস্ট্যাম্প ডিভাইস থেকে সার্ভার ইভেন্টটি যে সময়ে পেয়েছে
performance_data_collection_enabled বুলিয়ান সেশন চলাকালীন Firebase পারফর্ম্যান্স মনিটরিং SDK ডেটা সংগ্রহ করার সুবিধা চালু ছিল কিনা
crashlytics_data_collection_enabled বুলিয়ান সেশন চলাকালীন Firebase Crashlytics SDK ডেটা সংগ্রহ করার সুবিধা চালু ছিল কিনা
application রেকর্ড আবেদনের বিবরণ দেয়
application.build_version স্ট্রিং অ্যাপ্লিকেশনের বিল্ড ভার্সন (যেমন, 1523456)
application.display_version স্ট্রিং অ্যাপ্লিকেশনের ডিসপ্লে ভার্সন (যেমন, 4.1.7)
device রেকর্ড যে ডিভাইসে ইভেন্টটি ঘটেছে
device.model স্ট্রিং ডিভাইসের মডেল
device.manufacturer স্ট্রিং ডিভাইসের প্রস্তুতকারক। Apple প্ল্যাটফর্ম অ্যাপের জন্য, এটি হবে NULL.
operating_system রেকর্ড ডিভাইসের OS সম্পর্কে বর্ণনা করে
operating_system.display_version স্ট্রিং অপারেটিং সিস্টেমের ডিসপ্লে ভার্সন (যেমন, 10.2.1)
operating_system.name স্ট্রিং অপারেটিং সিস্টেমের নাম
operating_system.type স্ট্রিং অপারেটিং সিস্টেমের ধরন (যেমন, IOS)। এই ফিল্ডটি শুধুমাত্র Apple ডিভাইসের জন্য সেট করা আছে।
operating_system.device_type স্ট্রিং ডিভাইসের ধরন (যেমন, MOBILE, TABLET, TV)