Join us for Firebase Summit on November 10, 2021. Tune in to learn how Firebase can help you accelerate app development, release with confidence, and scale with ease. Register

BigQuery এ Firebase Crashlytics ডেটা রপ্তানি করুন

আপনি আপনার Crashlytics ডেটা রপ্তানি করতে পারেন BigQuery- তে আরও বিশ্লেষণের জন্য। BigQuery আপনাকে BigQuery SQL ব্যবহার করে ডেটা বিশ্লেষণ করতে, অন্য ক্লাউড প্রদানকারীর কাছে রপ্তানি করতে এবং গুগল ডেটা স্টুডিও দিয়ে ভিজ্যুয়ালাইজেশন এবং কাস্টম ড্যাশবোর্ডের জন্য এটি ব্যবহার করতে দেয়।

BigQuery রপ্তানি সক্ষম করুন

  1. যান ঐক্যবদ্ধতা Firebase কনসোলে পাতা।
  2. BigQuery- তে কার্ডে, লিঙ্কে ক্লিক করুন।
  3. BigQuery সক্ষম করতে অন-স্ক্রিন নির্দেশাবলী অনুসরণ করুন।

আপনি যখন আপনার প্রকল্পটিকে BigQuery- এর সাথে লিঙ্ক করবেন:

  • Firebase আপনার Firebase প্রকল্প থেকে BigQuery- এ আপনার ডেটার দৈনিক সিঙ্ক সেট -আপ করে।
  • ডিফল্টরূপে, আপনার প্রজেক্টের সমস্ত অ্যাপ BigQuery এর সাথে লিঙ্ক করা আছে এবং যেসব অ্যাপ আপনি পরবর্তীতে প্রজেক্টে যুক্ত করবেন সেগুলো স্বয়ংক্রিয়ভাবে BigQuery- এর সাথে যুক্ত হবে। আপনি করতে পারেন কোন কোন অ্যাপ তথ্য পাঠাতে পরিচালনা
  • Firebase আপনার বিদ্যমান তথ্য একটি কপি রপ্তানি BigQuery.For প্রতিটি সংযুক্ত অ্যাপের, এই দৈনন্দিন সিঙ্ক থেকে তথ্য ধারণকারী একটি ব্যাচ টেবিল অন্তর্ভুক্ত করা হয়েছে।
  • আপনি Crashlytics BigQuery- তে রপ্তানি স্ট্রিমিং সক্ষম করলে, সব সংযুক্ত অ্যাপ একটি থাকবে রিয়েলটাইম টেবিল ক্রমাগত আপডেট তথ্য সংরক্ষণ করে।

BigQuery- তে রপ্তানি নিষ্ক্রিয় করার জন্য, আপনার প্রকল্পের লিঙ্কমুক্ত Firebase কনসোলে।

BigQuery- এ কোন ডেটা রপ্তানি করা হয়?

Firebase Crashlytics তথ্য একটি BigQuery- তে ডেটা সেটটি নামে মধ্যে রপ্তানি করা হয় firebase_crashlytics । ডিফল্টরূপে, আপনার প্রকল্পের প্রতিটি অ্যাপের জন্য ক্র্যাশলিটিক্স ডেটা সেটের মধ্যে পৃথক টেবিল তৈরি করা হবে। ফায়ারবেস অ্যাপের বান্ডেল আইডেন্টিফায়ারের উপর ভিত্তি করে টেবিলের নাম দেয়, যার সময়কাল আন্ডারস্কোরে রূপান্তরিত হয় এবং শেষে একটি প্ল্যাটফর্মের নাম থাকে।

উদাহরণস্বরূপ, আইডি দিয়ে একটি অ্যাপ্লিকেশন জন্য তথ্য com.google.test নামে একটি টেবিল হবে com_google_test_ANDROID । এই ব্যাচের টেবিলটি প্রতিদিন একবার আপডেট করা হয়। আপনি Crashlytics BigQuery- তে রপ্তানি স্ট্রিমিং সক্ষম করলে, Firebase Crashlytics ডেটা এছাড়াও রিয়েলটাইমে স্ট্রীম করা হবে com_google_test_ANDROID_REALTIME

একটি টেবিলের প্রতিটি সারি অ্যাপে ঘটে যাওয়া একটি ইভেন্টের প্রতিনিধিত্ব করে, যার মধ্যে মারাত্মক এবং অ-মারাত্মক উভয় ত্রুটি রয়েছে।

Crashlytics BigQuery স্ট্রিমিং এক্সপোর্ট সক্ষম করুন

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

Crashlytics BigQuery স্ট্রিমিং এক্সপোর্ট BigQuery স্যান্ডবক্সের জন্য উপলব্ধ নয়।

যখন আপনি Crashlytics BigQuery স্ট্রিমিং এক্সপোর্ট সক্ষম করেন, তখন ব্যাচ টেবিল ছাড়াও আপনার একটি রিয়েলটাইম টেবিল থাকবে। এখানে টেবিলের মধ্যে পার্থক্যগুলি সম্পর্কে আপনার সচেতন হওয়া উচিত:

ব্যাচ টেবিল রিয়েলটাইম টেবিল
  • ডেটা প্রতিদিন একবার রপ্তানি করা হয়
  • BigQuery- এ ব্যাচ লেখার আগে ইভেন্টগুলি স্থায়ীভাবে সংরক্ষণ করা হয়
  • করা যেতে পারে backfilled পূর্বে 90 দিন পর্যন্ত
  • রিয়েল টাইমে রপ্তানি করা ডেটা
  • কোন ব্যাকফিল পাওয়া যায় না

ব্যাচ টেবিলটি দীর্ঘমেয়াদী বিশ্লেষণ এবং সময়ের সাথে প্রবণতা চিহ্নিত করার জন্য আদর্শ কারণ আমরা ইভেন্টগুলি লেখার আগে স্থায়ীভাবে সংরক্ষণ করি এবং সেগুলি 90 দিন পর্যন্ত টেবিলে ব্যাকফিল করা যায়। যখন আমরা আপনার রিয়েলটাইম টেবিলে ডেটা লিখি, আমরা তাৎক্ষণিকভাবে এটি BigQuery- এ লিখি, এবং তাই এটি লাইভ ড্যাশবোর্ড এবং কাস্টম অ্যালার্টের জন্য আদর্শ। উভয়ের সুবিধা পেতে এই দুটি টেবিল একটি সেলাইয়ের প্রশ্নের সাথে মিলিত হতে পারে। ক্যোয়ারী দেখুন উদাহরণ 9 থেকে কম।

ডিফল্টরূপে, রিয়েলটাইম টেবিলে পার্টিশনের মেয়াদ শেষ হওয়ার সময় 30 দিন থাকে। কিভাবে এই পরিবর্তন করতে জানতে, পার্টিশন মেয়াদ আপডেট করা হচ্ছে

Crashlytics BigQuery স্ট্রিমিং সক্ষম করুন

BigQuery- তে এর Crashlytics বিভাগে স্ট্রিমিং, নেভিগেট সক্রিয় করার জন্য ঐক্যবদ্ধতার পৃষ্ঠা এবং অন্তর্ভুক্ত করুন স্ট্রিমিং চেকবক্স নির্বাচন করুন।

ডেটা স্টুডিও টেমপ্লেট

আপনার ডেটা স্টুডিও টেমপ্লেটে রিয়েলটাইম ডেটা সক্ষম করতে, নির্দেশাবলী অনুসরণ করুন মধ্যে ভিজুয়ালাইজিং ডেটা স্টুডিও সঙ্গে Crashlytics ডেটা রপ্তানি

ভিউ

আপনি BigQuery UI ব্যবহার করে নিচের উদাহরণের প্রশ্নগুলিকে ভিউতে পরিণত করতে পারেন। দেখুন মতামত তৈরি করা হচ্ছে বিস্তারিত নির্দেশাবলীর জন্য।

রপ্তানি করা ডেটা দিয়ে আপনি কি করতে পারেন?

BigQuery রপ্তানিগুলিতে ডিভাইসের ধরন, অপারেটিং সিস্টেম, ব্যতিক্রম (অ্যান্ড্রয়েড অ্যাপস) বা ত্রুটি (iOS অ্যাপস) এবং ক্র্যাশলাইটিক্স লগসহ অন্যান্য ডেটা সহ কাঁচা ক্র্যাশ ডেটা থাকে।

BigQuery এ Firebase Crashlytics ডেটা নিয়ে কাজ করা

নিম্নলিখিত উদাহরণগুলি আপনার ক্র্যাশলিটিক্স ডেটাতে চালানো যেতে পারে এমন প্রশ্নগুলি প্রদর্শন করে। এই প্রশ্নগুলি এমন প্রতিবেদন তৈরি করে যা ক্র্যাশলিটিক্স ড্যাশবোর্ডে উপলব্ধ নয়।

Crashlytics প্রশ্নের উদাহরণ

নিচের উদাহরণগুলি দেখায় যে কিভাবে ক্র্যাশ ইভেন্ট ডেটাগুলিকে আরও সহজে বোঝা যায় এমন সারসংক্ষেপে রিপোর্ট তৈরি করতে হয়।

উদাহরণ 1: দিনে ক্র্যাশ

যতটা সম্ভব বাগ সংশোধন করার জন্য কাজ করার পরে, একজন প্রধান বিকাশকারী মনে করেন যে তার দল অবশেষে তাদের নতুন ফটো-শেয়ারিং অ্যাপ চালু করার জন্য প্রস্তুত। তারা করার আগে, তারা গত মাসের জন্য প্রতিদিন ক্র্যাশের সংখ্যা পরীক্ষা করতে চায়, নিশ্চিত হওয়ার জন্য যে তাদের বাগ-ব্যাশ সময়ের সাথে অ্যাপটিকে আরও স্থিতিশীল করেছে:

SELECT
  COUNT(DISTINCT event_id) AS number_of_crashes,
  FORMAT_TIMESTAMP("%F", event_timestamp) AS date_of_crashes
FROM
 `projectId.firebase_crashlytics.package_name_ANDROID`
GROUP BY
  date_of_crashes
ORDER BY
  date_of_crashes DESC
LIMIT 30;

উদাহরণ 2: সর্বাধিক বিস্তৃত ক্র্যাশগুলি খুঁজুন

উত্পাদন পরিকল্পনাগুলিকে সঠিকভাবে অগ্রাধিকার দেওয়ার জন্য, একটি প্রকল্প ব্যবস্থাপক তাদের পণ্যের শীর্ষ 10 সর্বাধিক বিস্তৃত ক্র্যাশগুলি কীভাবে নির্দেশ করবেন তা নিয়ে চিন্তা করেন। তারা একটি প্রশ্ন উত্পাদন করে যা ডেটার প্রাসঙ্গিক পয়েন্ট সরবরাহ করে:

SELECT
  DISTINCT issue_id,
  COUNT(DISTINCT event_id) AS number_of_crashes,
  COUNT(DISTINCT installation_uuid) AS number_of_impacted_user,
  blame_frame.file,
  blame_frame.line
FROM
  `projectId.firebase_crashlytics.package_name_ANDROID`
WHERE
  event_timestamp >= TIMESTAMP_SUB(CURRENT_TIMESTAMP(),INTERVAL 168 HOUR)
  AND event_timestamp < CURRENT_TIMESTAMP()
GROUP BY
  issue_id,
  blame_frame.file,
  blame_frame.line
ORDER BY
  number_of_crashes DESC
LIMIT 10;

উদাহরণ 3: শীর্ষ 10 ক্র্যাশিং ডিভাইস

শরৎ নতুন ফোন seasonতু! একজন ডেভেলপার জানেন যে এর মানে হল এটি নতুন ডিভাইস-নির্দিষ্ট সমস্যা .তু। সামঞ্জস্যপূর্ণ উদ্বেগগুলির সামনে এগিয়ে যাওয়ার জন্য, তারা একসাথে একটি প্রশ্ন রেখেছে যা 10 টি ডিভাইসকে চিহ্নিত করে যা গত সপ্তাহে সবচেয়ে বেশি ক্র্যাশ হয়েছে:

SELECT
  device.model,
COUNT(DISTINCT event_id) AS number_of_crashes
FROM
  `projectId.firebase_crashlytics.package_name_ANDROID`
WHERE
  event_timestamp >= TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 168 HOUR)
  AND event_timestamp < CURRENT_TIMESTAMP()
GROUP BY
  device.model
ORDER BY
  number_of_crashes DESC
LIMIT 10;

উদাহরণ 4: কাস্টম কী দ্বারা ফিল্টার করুন

একজন গেম ডেভেলপার জানতে চায় যে তাদের গেমের কোন স্তরটি সবচেয়ে বেশি ক্র্যাশ হয়। তাদের যে পরিসংখ্যান ট্র্যাক সাহায্য করার জন্য, তারা একটি কাস্টম Crashlytics কী সেট current_level , এবং এটি প্রত্যেক সময় ব্যবহারকারী একটি নতুন স্তরের ছুঁয়েছে আপডেট করুন।

উদ্দেশ্য গ

CrashlyticsKit setIntValue:3 forKey:@"current_level";

সুইফট

Crashlytics.sharedInstance().setIntValue(3, forKey: "current_level");

জাভা

Crashlytics.setInt("current_level", 3);

তাদের BigQuery- তে রপ্তানিতে যে কী, তারা তারপর বিতরণের প্রতিবেদন করতে একটি ক্যোয়ারী লিখুন current_level প্রতিটি ক্র্যাশ ইভেন্টের সঙ্গে সংযুক্ত মান:

SELECT
COUNT(DISTINCT event_id) AS num_of_crashes,
  value
FROM
  `projectId.firebase_crashlytics.package_name_ANDROID`
UNNEST(custom_keys)
WHERE
  key = "current_level"
GROUP BY
  key,
  value
ORDER BY
  num_of_crashes DESC

উদাহরণ 5: ব্যবহারকারী আইডি নিষ্কাশন

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

SELECT *
FROM
  `projectId.firebase_crashlytics.package_name_ANDROID`
WHERE
  user.id IN ("userid1", "userid2", "userid3")
ORDER BY
  user.id
 

উদাহরণ 6: একটি নির্দিষ্ট ক্র্যাশ সমস্যার সম্মুখীন সমস্ত ব্যবহারকারীদের খুঁজুন

একজন ডেভেলপার বিটা টেস্টারদের একটি গ্রুপের জন্য একটি গুরুত্বপূর্ণ বাগ প্রকাশ করেছেন। নির্দিষ্ট ক্র্যাশ ইস্যু আইডি শনাক্ত করতে দলটি উপরের উদাহরণ 2 থেকে প্রশ্নটি ব্যবহার করতে সক্ষম হয়েছিল। এখন তারা এই ক্র্যাশ দ্বারা প্রভাবিত অ্যাপ্লিকেশন ব্যবহারকারীদের তালিকা বের করার জন্য একটি প্রশ্ন চালাতে চান:

SELECT user.id as user_id
FROM
  `projectId.firebase_crashlytics.package_name_ANDROID`
WHERE
  issue_id = "YOUR_ISSUE_ID"
  AND application.display_version = ""
  AND user.id != ""
ORDER BY
  user.id;

উদাহরণ 7: একটি ক্র্যাশ ইস্যু দ্বারা প্রভাবিত ব্যবহারকারীর সংখ্যা, দেশ অনুযায়ী বিভক্ত

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

এই প্রশ্নটি লিখতে, টিমকে প্রয়োজন হবে:

  1. Google Analytics- এর জন্য BigQuery রপ্তানি সক্ষম করুন। দেখুন BigQuery- তে রপ্তানি করুন প্রোজেক্ট ডেটা

  2. গুগল অ্যানালিটিক্স এসডিকে এবং ক্র্যাশলাইটিক্স এসডিকে উভয়েই একটি ইউজার আইডি পাস করতে তাদের অ্যাপ আপডেট করুন।

    উদ্দেশ্য গ
    CrashlyticsKit setUserIdentifier:@"123456789";
    FIRAnalytics setUserID:@"12345678 9";
    
    সুইফট
    Crashlytics.sharedInstance().setUserIdentifier("123456789");
    Analytics.setUserID("123456789");
    
    জাভা
    Crashlytics.setUserIdentifier("123456789");
    mFirebaseAnalytics.setUserId("123456789");
    
  3. Crashlytics BigQuery ডেটা সেটে ক্র্যাশ সহ Google Analytics BigQuery ডেটা সেটে ইভেন্টে যোগ দিতে ব্যবহারকারী ID ক্ষেত্র ব্যবহার করে এমন একটি প্রশ্ন লিখুন:

    SELECT DISTINCT c.issue_id, a.geo.country, COUNT(DISTINCT c.user.id) as num_users_impacted
    FROM `projectId.firebase_crashlytics.package_name_ANDROID` c
    INNER JOIN  `projectId.analytics_YOUR_TABLE.events_*` a on c.user.id = a.user_id
    WHERE
     c.issue_id = "YOUR_ISSUE_ID"
     AND a._TABLE_SUFFIX BETWEEN '20190101'
     AND '20200101'
    GROUP BY
     c.issue_id,
     a.geo.country,
     c.user.id
    

উদাহরণ 8: আজ পর্যন্ত শীর্ষ 5 টি সমস্যা

Crashlytics BigQuery স্ট্রিমিং এক্সপোর্ট সক্ষম করার প্রয়োজন

SELECT
  issue_id,
  COUNT(DISTINCT event_id) AS events
FROM
  `your_project.firebase_crashlytics.package_name_ANDROID_REALTIME`
WHERE
  DATE(event_timestamp) = CURRENT_DATE()
GROUP BY
  issue_id
ORDER BY
  events DESC
LIMIT
  5;

উদাহরণ 9: DATE থেকে আজকের দিন সহ শীর্ষ 5 টি সমস্যা

Crashlytics BigQuery স্ট্রিমিং এক্সপোর্ট সক্ষম করার প্রয়োজন।

এই উদাহরণে, আমরা ব্যাচ এবং রিয়েলটাইম টেবিলগুলিকে একত্রিত করে নির্ভরযোগ্য ব্যাচের ডেটাতে রিয়েলটাইম তথ্য যোগ করি। যেহেতু event_id একটি প্রাথমিক কী হয়, আমরা ব্যবহার করতে পারেন DISTINCT event_id দুই টেবিল থেকে কোন সাধারণ ঘটনা dedupe করতে।

SELECT
  issue_id,
  COUNT(DISTINCT event_id) AS events
FROM (
  SELECT
    issue_id,
    event_id,
    event_timestamp
  FROM
    `your_project.firebase_crashlytics.package_name_ANDROID_REALTIME`
  UNION ALL
  SELECT
    issue_id,
    event_id,
    event_timestamp
  FROM
    `your_project.firebase_crashlytics.package_name_ANDROID`)
WHERE
  event_timestamp >= "2020-01-13"
GROUP BY
  issue_id
ORDER BY
  events DESC
LIMIT
  5;

BigQuery- এ Firebase Crashlytics স্কিমা বোঝা

আপনি যখন BigQuery- তে সঙ্গে Crashlytics লিঙ্ক Firebase দুই দিন পর্যন্ত সময় লিংক আগে থেকে ঘটনা সহ সাম্প্রতিক মারাত্মক এবং অ মারাত্মক ক্র্যাশ ঘটনা, রপ্তানি, এর বিকল্প ব্যাকফিল নব্বই দিনের পর্যন্ত।

সেই বিন্দু থেকে যতক্ষণ না আপনি লিঙ্কটি অক্ষম করেন, ফায়ারবেস প্রতিদিনের ভিত্তিতে ক্র্যাশলিটিক্স ইভেন্টগুলি রপ্তানি করে। প্রতিটি রপ্তানির পর BigQuery- এ ডেটা উপলব্ধ হতে কয়েক মিনিট সময় লাগতে পারে।

ডেটাসেট

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

টেবিল

Firebase Crashlytics আপনার প্রজেক্টের প্রতিটি অ্যাপের জন্য ডেটাসেটে একটি টেবিল তৈরি করে, যদি না আপনি সেই অ্যাপের জন্য ডেটা রপ্তানি বন্ধ করেন। ফায়ারবেস অ্যাপের বান্ডেল আইডেন্টিফায়ারের উপর ভিত্তি করে টেবিলের নাম দেয়, যার সময়কাল আন্ডারস্কোরে রূপান্তরিত হয় এবং শেষে একটি প্ল্যাটফর্মের নাম থাকে।

উদাহরণস্বরূপ, আইডি দিয়ে একটি Android অ্যাপ্লিকেশন জন্য তথ্য com.google.test নামে একটি টেবিল হবে com_google_test_ANDROID , এবং রিয়েলটাইম তথ্য (সক্ষম করা থাকলে) নামে একটি টেবিল হবে com_google_test_ANDROID_REALTIME

টেবিলগুলিতে ডেভেলপারদের দ্বারা সংজ্ঞায়িত যেকোনো কাস্টম ক্র্যাশলিটিক্স কী ছাড়াও ক্র্যাশলাইটিক্স ডেটার একটি আদর্শ সেট রয়েছে।

সারি

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

কলাম

একটি টেবিলের কলামগুলি মারাত্মক এবং অ-মারাত্মক ত্রুটির জন্য অভিন্ন। যদি Crashlytics BigQuery স্ট্রিমিং এক্সপোর্ট সক্ষম করা হয়, তাহলে রিয়েলটাইম টেবিলে ব্যাচ টেবিলের মতো কলাম থাকবে। রপ্তানির মধ্যে থাকা কলামগুলি নীচে তালিকাভুক্ত করা হয়েছে।

স্ট্যাক ট্রেস ছাড়া

সারিগুলিতে উপস্থিত কলাম যা স্ট্যাক ট্রেস ছাড়াই ইভেন্টগুলি উপস্থাপন করে।

ক্ষেত্র নাম ডাটা টাইপ বর্ণনা
প্ল্যাটফর্ম STRING অ্যান্ড্রয়েড বা আইওএস
বান্ডেল_ শনাক্তকারী STRING বান্ডেল আইডি, যেমন com.google.gmail
event_id STRING অনুষ্ঠানের জন্য একটি অনন্য আইডি
মারাত্মক বুলিয়ান অ্যাপটি ক্র্যাশ হয়েছে কিনা
ইস্যু_আইডি STRING ঘটনার সাথে যুক্ত একটি সমস্যা
event_timestamp টাইমস্ট্যাম্প যখন ঘটনাটি ঘটেছিল
যন্ত্র রেকর্ড যে ডিভাইসে ইভেন্টটি ঘটেছে
ডিভাইস নির্মাতা STRING ডিভাইস প্রস্তুতকারক
ডিভাইস মডেল STRING ডিভাইসের মডেল
device.architecture STRING X86_32, X86_64, ARMV7, ARM64, ARMV7S, বা ARMV7K
স্মৃতি রেকর্ড ডিভাইসের মেমরির অবস্থা
মেমরি ব্যবহার করা হয়েছে INT64 ব্যবহৃত মেমরির বাইট
মেমরি বিনামূল্যে INT65 মেমরির বাইট বাকি
স্টোরেজ রেকর্ড ডিভাইসের স্থায়ী স্টোরেজ
storage.used INT64 স্টোরেজের বাইট ব্যবহার করা হয়েছে
সংগ্রহস্থল বিনামূল্যে INT64 স্টোরেজ বাইট অবশিষ্ট
অপারেটিং_ সিস্টেম রেকর্ড ডিভাইসের ওএসের বিবরণ
operating_system.display_version STRING ওএস সংস্করণ
operating_system.name STRING ওএসের নাম
operating_system.modification_state STRING সংশোধিত বা অপরিবর্তিত, অর্থাৎ ডিভাইসটি জেলব্রোক/রুট করা হয়েছে কিনা
operating_system.type STRING ডিভাইসে অপারেটিং সিস্টেমের ধরন। যেমন IOS, MACOS
operating_system.device_type STRING ডিভাইসের ধরন। যেমন মোবাইল, ট্যাবলেট, টিভি
আবেদন রেকর্ড যে অ্যাপটি ইভেন্টটি তৈরি করেছে
application.build_version STRING অ্যাপটির বিল্ড ভার্সন
application.display_version STRING
ব্যবহারকারী রেকর্ড Ptionচ্ছিক: অ্যাপের ব্যবহারকারীর তথ্য সংগ্রহ করা হয়েছে
ব্যবহারকারীর নাম STRING চ্ছিক: ব্যবহারকারীর নাম
user.email STRING চ্ছিক: ব্যবহারকারীর ইমেল ঠিকানা
ব্যবহারকারীর প্রমানপত্র STRING Ptionচ্ছিক: ব্যবহারকারীর সাথে যুক্ত একটি অ্যাপ-নির্দিষ্ট আইডি
custom_keys পুনরাবৃত্তি রেকর্ড বিকাশকারী-সংজ্ঞায়িত কী-মান জোড়া
custom_keys.key STRING একটি ডেভেলপার-সংজ্ঞায়িত কী
custom_keys.value STRING একটি ডেভেলপার-সংজ্ঞায়িত মান
install_uuid STRING একটি আইডি যা একটি অনন্য অ্যাপ এবং ডিভাইস ইনস্টলেশন চিহ্নিত করে
ক্র্যাশলিটিক্স_এসডিকে_ভারশন STRING Crashlytics SDK সংস্করণ যা ইভেন্টটি তৈরি করেছে
app_orientation STRING পোর্ট্রেট, ল্যান্ডস্কেপ, FACE_UP, অথবা FACE_DOWN
device_orientation STRING পোর্ট্রেট, ল্যান্ডস্কেপ, FACE_UP, অথবা FACE_DOWN
প্রসেস_স্টেট STRING ব্যাকগ্রাউন্ড বা ফোরগ্রাউন্ড
লগ পুনরাবৃত্তি রেকর্ড ক্র্যাশলাইটিকস লগার দ্বারা উৎপন্ন টাইমস্ট্যাম্পেড লগ বার্তা, যদি সক্রিয় থাকে
logs.timestamp টাইমস্ট্যাম্প যখন লগ করা হয়েছিল
logs.message STRING লগ করা বার্তা
ব্রেডক্রাম্বস পুনরাবৃত্তি রেকর্ড টাইমস্ট্যাম্প করা গুগল অ্যানালিটিক্স ব্রেডক্রাম্বস, যদি সক্রিয় থাকে
ব্রেডক্রাম্বস টাইমস্ট্যাম্প টাইমস্ট্যাম্প ব্রেডক্রাম্বের সাথে যুক্ত টাইমস্ট্যাম্প
breadcrumbs.name STRING ব্রেডক্রাম্বের সাথে যুক্ত নাম
পাউরুটি পুনরাবৃত্তি রেকর্ড ব্রেডক্রাম্বের সাথে যুক্ত প্যারামিটার
breadcrumbs.params.key STRING ব্রেডক্রাম্বের সাথে যুক্ত একটি প্যারামিটার কী
breadcrumbs.params.value STRING ব্রেডক্রাম্বের সাথে যুক্ত একটি প্যারামিটার মান
দোষ_ফ্রেম রেকর্ড ক্র্যাশ বা ত্রুটির মূল কারণ হিসেবে চিহ্নিত ফ্রেম
blame_frame.line INT64 ফ্রেমের ফাইলের লাইন নম্বর
blame_frame.file STRING ফ্রেম ফাইলের নাম
blame_frame.symbol STRING হাইড্রেটেড প্রতীক, বা কাঁচা প্রতীক যদি এটি পানিশূন্য হয়
blame_frame.offset INT64 বাইটটি বাইনারি ইমেজে অফসেট করে যা কোড ধারণ করে, জাভা ব্যতিক্রমগুলির জন্য সেট না করা
blame_frame.address INT64 বাইনারি ইমেজের ঠিকানা যা কোড ধারণ করে, জাভা ফ্রেমের জন্য সেট করা নেই
blame_frame.library STRING লাইব্রেরির ডিসপ্লে নাম যার মধ্যে রয়েছে ফ্রেম
blame_frame.owner STRING বিকাশকারী, বিক্রেতা, রানটাইম, প্ল্যাটফর্ম, বা সিস্টেম
blame_frame.blamed বুলিয়ান Crashlytics- এর বিশ্লেষণ নির্ধারণ করেছে যে এই ফ্রেমটি ক্র্যাশ বা ত্রুটির কারণ
ব্যতিক্রম পুনরাবৃত্তি রেকর্ড শুধুমাত্র Android: এই ইভেন্টের সময় ঘটে যাওয়া ব্যতিক্রমগুলি। নেস্টেড ব্যতিক্রমগুলি বিপরীত কালানুক্রমিকভাবে উপস্থাপন করা হয় (পড়ুন: শেষ রেকর্ডটি প্রথম নিক্ষিপ্ত ব্যতিক্রম)
ব্যতিক্রম প্রকার STRING ব্যতিক্রমের ধরন, যেমন java.lang.IllegalStateException
ব্যতিক্রম। exception_message STRING ব্যতিক্রমের সাথে যুক্ত একটি বার্তা
ব্যতিক্রম বুলিয়ান শেষ নিক্ষিপ্ত ব্যতিক্রম ছাড়া সবার জন্য সত্য (অর্থাৎ প্রথম রেকর্ড)
ব্যতিক্রম। শিরোনাম STRING সুতার শিরোনাম
ব্যতিক্রম। উপশিরোনাম STRING থ্রেডের সাবটাইটেল
ব্যতিক্রম বুলিয়ান সত্য যদি ক্র্যাশলিটিক্স নির্ধারণ করে যে ব্যতিক্রমটি ত্রুটি বা ক্র্যাশের জন্য দায়ী
ব্যতিক্রম ফ্রেম পুনরাবৃত্তি রেকর্ড ব্যতিক্রম সঙ্গে যুক্ত ফ্রেম
ব্যতিক্রম.ফ্রেমস লাইন INT64 ফ্রেমের ফাইলের লাইন নম্বর
ব্যতিক্রম। ফ্রেম। ফাইল STRING ফ্রেম ফাইলের নাম
ব্যতিক্রমগুলি STRING হাইড্রেটেড প্রতীক, বা কাঁচা প্রতীক যদি এটি পানিশূন্য হয়
ব্যতিক্রম। ফ্রেম। অফসেট INT64 বাইটটি বাইনারি ইমেজে অফসেট করে যা কোড ধারণ করে, জাভা ব্যতিক্রমগুলির জন্য সেট না করা
ব্যতিক্রম। ফ্রেম. ঠিকানা INT64 বাইনারি ইমেজের ঠিকানা যা কোড ধারণ করে, জাভা ফ্রেমের জন্য সেট না করা
ব্যতিক্রম। ফ্রেমস লাইব্রেরি STRING লাইব্রেরির ডিসপ্লে নাম যার মধ্যে রয়েছে ফ্রেম
ব্যতিক্রম। ফ্রেমস মালিক STRING বিকাশকারী, বিক্রেতা, রানটাইম, প্ল্যাটফর্ম, বা সিস্টেম
ব্যতিক্রম। ফ্রেম বুলিয়ান Crashlytics- এর বিশ্লেষণ নির্ধারণ করেছে যে এই ফ্রেমটি ক্র্যাশ বা ত্রুটির কারণ
ত্রুটি পুনরাবৃত্তি রেকর্ড শুধুমাত্র iOS: অ-মারাত্মক ত্রুটি
error.queue_name STRING সারি থ্রেড চলছিল
ভুল সংকেত INT64 অ্যাপের কাস্টম লগ করা NSError এর সাথে যুক্ত ত্রুটি কোড
error.title STRING সুতার শিরোনাম
error.subtitle STRING থ্রেডের সাবটাইটেল
ত্রুটি বুলিয়ান Crashlytics এর বিশ্লেষণ নির্ধারণ করেছে যে এই ফ্রেমটি ত্রুটির কারণ
ত্রুটি ফ্রেম পুনরাবৃত্তি রেকর্ড স্ট্যাকট্রেসের ফ্রেম
error.frames.line INT64 ফ্রেমের ফাইলের লাইন নম্বর
error.frames.file STRING ফ্রেম ফাইলের নাম
error.frames.symbol STRING হাইড্রেটেড প্রতীক, বা কাঁচা প্রতীক যদি এটি পানিশূন্য হয়
error.frames.offset INT64 বাইটটি বাইনারি ইমেজে অফসেট করে যা কোড ধারণ করে
error.frames.address INT64 বাইনারি ইমেজের ঠিকানা যেখানে কোড আছে
error.frames.library STRING লাইব্রেরির ডিসপ্লে নাম যার মধ্যে রয়েছে ফ্রেম
error.frames.owner STRING বিকাশকারী, বিক্রেতা, রানটাইম, প্ল্যাটফর্ম, বা সিস্টেম
error.frames.blamed বুলিয়ান Crashlytics এর বিশ্লেষণ নির্ধারণ করেছে যে এই ফ্রেমটি ত্রুটির কারণ
থ্রেড পুনরাবৃত্তি রেকর্ড ইভেন্টের সময় উপস্থিত থ্রেড
থ্রেড ক্র্যাশ বুলিয়ান থ্রেড ক্র্যাশ হয়েছে কিনা
threads.thread_name STRING থ্রেডের নাম
threads.queue_name STRING শুধুমাত্র iOS: থ্রেডের সারি চলছে
threads.signal_name STRING সিগন্যালের নাম যা অ্যাপটি ক্র্যাশ করেছে, কেবল ক্র্যাশ করা স্থানীয় থ্রেডগুলিতে উপস্থিত
threads.signal_code STRING সিগন্যালের কোড যা অ্যাপ ক্র্যাশ করেছে; শুধুমাত্র বিধ্বস্ত নেটিভ থ্রেডে উপস্থিত
থ্রেড ক্র্যাশ_ড্রেস INT64 সিগন্যালের ঠিকানা যা অ্যাপ্লিকেশনটি ক্র্যাশ করেছে; শুধুমাত্র বিধ্বস্ত নেটিভ থ্রেডে উপস্থিত
থ্রেড কোড INT64 শুধুমাত্র iOS: অ্যাপ্লিকেশনের কাস্টম লগ করা NSError এর ত্রুটি কোড
threads.title STRING সুতার শিরোনাম
থ্রেডস সাবটাইটেল STRING থ্রেডের সাবটাইটেল
থ্রেড বুলিয়ান Crashlytics- এর বিশ্লেষণ নির্ধারণ করেছে যে এই ফ্রেমটি ক্র্যাশ বা ত্রুটির কারণ
থ্রেড ফ্রেম পুনরাবৃত্তি রেকর্ড সুতার ফ্রেম
threads.frames.line INT64 ফ্রেমের ফাইলের লাইন নম্বর
threads.frames.file STRING ফ্রেম ফাইলের নাম
threads.frames.symbol STRING হাইড্রেটেড প্রতীক, বা কাঁচা প্রতীক যদি এটি অস্বাস্থ্যকর হয়
threads.frames.offset INT64 বাইটটি বাইনারি ইমেজে অফসেট করে যা কোড ধারণ করে
threads.frames.address INT64 বাইনারি ইমেজের ঠিকানা যেখানে কোড আছে
threads.frames.library STRING লাইব্রেরির ডিসপ্লে নাম যার মধ্যে রয়েছে ফ্রেম
threads.frames.owner STRING বিকাশকারী, বিক্রেতা, রানটাইম, প্ল্যাটফর্ম, বা সিস্টেম
threads.frames.blamed বুলিয়ান Crashlytics এর বিশ্লেষণ নির্ধারণ করেছে যে এই ফ্রেমটি ত্রুটির কারণ

ডেটা স্টুডিও দিয়ে রপ্তানি করা ক্র্যাশলিটিক্স ডেটা ভিজ্যুয়ালাইজ করা

Google ডেটা স্টুডিও রিপোর্ট, সহজ পড়া আছে সহজ ভাগ করার জন্য, এবং সম্পূর্ণরূপে স্বনির্ধারিত মধ্যে BigQuery- তে আপনার Crashlytics ডেটাসেট সক্রিয়।

ডেটা স্টুডিও ব্যবহার সম্পর্কে আরও জানার জন্য, তথ্য স্টুডিও দ্রুতশুরু নির্দেশিকা চেষ্টা করুন, ডেটা স্টুডিও স্বাগতম

একটি Crashlytics রিপোর্ট টেমপ্লেট ব্যবহার করে

ডেটা স্টুডিওতে ক্র্যাশলাইটিক্সের জন্য একটি নমুনা রিপোর্ট রয়েছে যা এক্সপোর্ট করা ক্র্যাশলিটিক্স বিগকিউরি স্কিমা থেকে মাত্রা এবং মেট্রিক্সের একটি বিস্তৃত সেট অন্তর্ভুক্ত করে। আপনি রপ্তানি স্ট্রিমিং Crashlytics BigQuery- তে সক্ষম করেছেন, তাহলে আপনি ডেটা স্টুডিও template.You এর রিয়েলটাইম প্রবণতা পৃষ্ঠাতে যে ডেটা দেখতে দ্রুত করার জন্য একটি ফর্মা হিসেবে নমুনা ব্যবহার নতুন রিপোর্ট এবং দৃশ্য আপনার নিজের অ্যাপ্লিকেশনের কাঁচা ক্র্যাশ ডেটার উপর ভিত্তি করে তৈরি করতে পারেন পারেন:

  1. খুলুন Crashlytics ডেটা স্টুডিও ড্যাশবোর্ড টেমপ্লেট
  2. উপরের ডান দিকের কোণায় অবস্থিত ব্যবহারের টেমপ্লেট ক্লিক করুন।
  3. নতুন তথ্য উত্স ড্রপডাউন, নতুন ডেটা উত্স তৈরি করুন নির্বাচন করুন।
  4. BigQuery- তে কার্ডে নির্বাচন ক্লিক করুন।
  5. নির্বাচন আমার প্রকল্পওয়ারি রপ্তানি Crashlytics তথ্য ধারণকারী একটি সারণি নির্বাচন করুন> [আপনার প্রকল্পের-নাম]> firebase_crashlytics> [আপনার টেবিল-নাম]। আপনার ব্যাচ টেবিল সবসময় নির্বাচন করার জন্য উপলব্ধ; যদি Crashlytics BigQuery স্ট্রিমিং রপ্তানি সক্ষম করা হয়, আপনি পরিবর্তে আপনার রিয়েলটাইম টেবিল নির্বাচন করতে পারেন।
  6. কনফিগারেশন অধীনে, সেট Crashlytics টেমপ্লেট স্তর ডিফল্ট।
  7. নতুন তথ্য উৎস তৈরি করতে কানেক্ট ক্লিক করুন।
  8. Crashlytics টেমপ্লেট ফিরে যাওয়ার প্রতিবেদন যোগ করুন।
  9. অবশেষে, Crashlytics ডেটা স্টুডিও ড্যাশবোর্ড টেমপ্লেটের আপনার কপি তৈরি করতে প্রতিবেদন তৈরি করুন এ ক্লিক করুন।