আপনার প্রতিটি অ্যাপের জন্য, Crashlytics স্বয়ংক্রিয়ভাবে ক্র্যাশ-মুক্ত মেট্রিক গণনা করে এবং প্রদর্শন করে, বিশেষত ক্র্যাশ-মুক্ত ব্যবহারকারীর শতাংশ এবং ক্র্যাশ-মুক্ত সেশনের শতাংশ। এই মেট্রিকগুলো আপনাকে আপনার অ্যাপের স্থিতিশীলতা দ্রুত বুঝতে সাহায্য করতে পারে।
আপনি Crashlytics ড্যাশবোর্ডের শীর্ষে এই ক্র্যাশ-মুক্ত মেট্রিকগুলোর চার্ট খুঁজে পাবেন এবং সময়সীমা, বিল্ড, এবং (অ্যান্ড্রয়েড অ্যাপের জন্য) Google Play ট্র্যাকের মতো বিভিন্ন ডাইমেনশন দ্বারা এই চার্টগুলো ফিল্টার করতে পারবেন।
উল্লেখ্য যে, ক্র্যাশ-মুক্ত মেট্রিক শুধুমাত্র মারাত্মক ঘটনাগুলোর (এবং ইউনিটি ও ফ্লাটারের ক্ষেত্রে মারাত্মক হিসেবে রিপোর্ট করা আনক্যাচড এক্সেপশনগুলোর) জন্যই গণনা করা হয়।
ক্র্যাশ-মুক্ত মেট্রিক্স পান
বেশিরভাগ অ্যাপের ক্ষেত্রে, আপনি যখন আপনার অ্যাপে Crashlytics SDK ইন্টিগ্রেট করেন, তখন ক্র্যাশ-ফ্রি মেট্রিকগুলো স্বয়ংক্রিয়ভাবে গণনা করা হয়। তবে, কিছু নির্দিষ্ট পরিস্থিতি রয়েছে যেখানে ক্র্যাশ-ফ্রি মেট্রিক গণনা করার জন্য Crashlytics প্রয়োজনীয় ডেটা পায় না:
আপনার অ্যাপের যে বিল্ডগুলিতে Crashlytics SDK-এর পুরোনো সংস্করণ ব্যবহৃত হয় (নিচে সর্বনিম্ন সমর্থিত সংস্করণগুলো সম্পর্কে জানুন)
আপনার অ্যাপের এমন বিল্ড যা স্বয়ংক্রিয় Crashlytics ডেটা সংগ্রহ এবং রিপোর্টিং নিষ্ক্রিয় করে (এই পৃষ্ঠার "মেট্রিক্সের মানের উপর ডেটা সংগ্রহ সেটিংসের প্রভাব" বিভাগে আরও জানুন)
SDK সংস্করণ যা ক্র্যাশ-মুক্ত মেট্রিক সমর্থন করে
ক্র্যাশ-মুক্ত মেট্রিক্স পেতে হলে, আপনাকে অবশ্যই আপনার অ্যাপটিকে এমন একটি Crashlytics SDK সংস্করণে আপডেট করতে হবে যা এগুলিকে সমর্থন করে। নিচে Crashlytics SDK-এর ন্যূনতম সমর্থিত সংস্করণগুলো দেওয়া হলো, যা ক্র্যাশ-মুক্ত মেট্রিক্স পরিচালনা করতে পারে:
- অ্যাপল প্ল্যাটফর্ম: v10.8.0+
- অ্যান্ড্রয়েড: v18.6.0+ ( BoM v32.6.0+)
- ফ্লাটার: v3.4.5+
- ইউনিটি: ১১.৭.০+
আপনার অ্যাপের যে বিল্ডগুলিতে আপডেট করা SDK সংস্করণ ব্যবহার করা হয়, সেগুলির জন্য আপনি স্বয়ংক্রিয়ভাবে ক্র্যাশ-মুক্ত মেট্রিক্স পেয়ে যাবেন।
ক্র্যাশ-মুক্ত মেট্রিকগুলো কী কী?
ক্র্যাশ-মুক্ত মেট্রিকগুলোর মধ্যে ক্র্যাশ-মুক্ত ব্যবহারকারী এবং ক্র্যাশ-মুক্ত সেশন অন্তর্ভুক্ত।
ক্র্যাশ-মুক্ত মেট্রিক দুটি ধারণার উপর নির্ভর করে: ব্যবহারকারী এবং সেশন। আপনার অ্যাপের জন্য ক্র্যাশ-মুক্ত মেট্রিক পেতে, আপনাকে এমন একটি Crashlytics SDK সংস্করণ ব্যবহার করতে হবে যা এই দুটি ধারণা সম্পর্কেই ডেটা পাঠাতে পারে। Crashlytics যেভাবে একজন ব্যবহারকারীকে একটি সেশন থেকে আলাদা করে তা নিচে দেওয়া হলো:
একটি ডিভাইসে আপনার অ্যাপের প্রতিটি ইনস্টলেশনই হলো একজন ব্যবহারকারী । উদাহরণস্বরূপ, যদি কোনো ব্যক্তি বিভিন্ন ডিভাইসে আপনার অ্যাপটি ইনস্টল করে রাখেন, তাহলে Crashlytics প্রতিটি ইনস্টলেশনকে একজন ভিন্ন ও স্বতন্ত্র ব্যবহারকারী হিসেবে গণনা করবে।
সেশন হলো একটি অবিচ্ছিন্ন সময়কাল যখন একজন ব্যবহারকারী কোনো অ্যাপ্লিকেশনের সাথে যুক্ত থাকেন। অ্যাপটি কোল্ড-স্টার্ট করা হলে অথবা কমপক্ষে ৩০ মিনিট ব্যাকগ্রাউন্ডে থাকার পর ফোরগ্রাউন্ডে আনা হলে একটি নতুন সেশন শুরু হয়।
এছাড়াও, ক্র্যাশ-মুক্ত মেট্রিক শুধুমাত্র মারাত্মক ঘটনাগুলোর (এবং ইউনিটি ও ফ্লাটারের জন্য মারাত্মক হিসাবে রিপোর্ট করা আনক্যাচড এক্সেপশনগুলোর) জন্য গণনা করা হয়।
ক্র্যাশ-মুক্ত ব্যবহারকারী মেট্রিকটি কী?
ক্র্যাশ-মুক্ত ব্যবহারকারী মেট্রিক হলো সেইসব ব্যবহারকারীর শতাংশ, যারা একটি নির্দিষ্ট সময়কালে আপনার অ্যাপ ব্যবহার করেছেন কিন্তু তাদের অ্যাপ ক্র্যাশ করেনি। এই মেট্রিকটি একজন একক ব্যবহারকারীকে আপনার অ্যাপের দেওয়া অভিজ্ঞতাকে প্রতিফলিত করে। যখন মূল লক্ষ্য থাকে সামগ্রিক ব্যবহারকারীর অভিজ্ঞতা, তখন এটিকে প্রায়শই পুরো অ্যাপের প্রধান স্বাস্থ্য মেট্রিক হিসেবে ট্র্যাক করা হয়।
এই মেট্রিকটি নিম্নলিখিত ধরণের অ্যাপগুলির ক্ষেত্রে বিশেষভাবে প্রযোজ্য হতে পারে:
অন-ডিমান্ড স্ট্রিমিং অ্যাপ, সোশ্যাল মিডিয়া অ্যাপ বা ক্যাজুয়াল গেমের মতো অ্যাপগুলোতে দীর্ঘ ও অনানুষ্ঠানিক সেশন থাকে , যেখানে ব্যবহারকারী যেখানে শেষ করেছিলেন সেখান থেকেই আবার শুরু করতে পারেন। যেহেতু ব্যবহারকারীরা সাধারণত এই অ্যাপগুলোতে দীর্ঘ সময় ধরে, প্রায়শই একাধিক সেশনের অভিজ্ঞতা লাভ করেন, তাই প্রতিটি সেশন ত্রুটিহীনভাবে সম্পন্ন করার চেয়ে ক্র্যাশ-মুক্ত ব্যবহারকারীর মোট সংখ্যা সর্বাধিক করা বেশি অগ্রাধিকার পায়।
যেসব অ্যাপের একটি সুপ্রতিষ্ঠিত ব্যবহারকারী গোষ্ঠী রয়েছে, যেমন কর্মক্ষেত্রের জনপ্রিয় অ্যাপ বা বৃহৎ অনলাইন প্ল্যাটফর্ম, যেখানে এই প্ল্যাটফর্মগুলোর প্রতি অভ্যাস এবং প্রয়োজনীয়তা ক্র্যাশের অসুবিধাকে ছাপিয়ে যায়।
ক্র্যাশ-মুক্ত সেশন মেট্রিকটি কী?
ক্র্যাশ-মুক্ত সেশন মেট্রিক হলো একটি নির্দিষ্ট সময়কালে সংঘটিত হওয়া সেইসব সেশনের শতাংশ, যা কোনো ক্র্যাশে শেষ হয়নি। ক্র্যাশবিহীন সেশনগুলো একটি অ্যাপের সামগ্রিক নির্ভরযোগ্যতা নির্দেশ করে এবং ব্যবহারকারীর আস্থা তৈরি করে। কোনো নতুন রিলিজের প্রাথমিক পর্যায়ে ক্র্যাশ-মুক্ত সেশন ট্র্যাক করা বিশেষভাবে গুরুত্বপূর্ণ, কারণ ব্যবহারকারীর প্রথমবার ব্যবহারের সময় একটি ক্র্যাশ ঘটলে তা তাৎক্ষণিক হতাশার কারণ হতে পারে এবং ব্যবহারকারী অ্যাপটি ব্যবহার করা ছেড়েও দিতে পারেন।
নিম্নলিখিত ধরনের অ্যাপগুলোর জন্য এই মেট্রিকটি প্রায়শই পছন্দের মেট্রিক হয়ে থাকে:
যেসব অ্যাপের ব্যবহার স্বল্প সময়ের এবং তীব্র, যেমন রিয়েল-টাইম গেমিং বা সময়-সংবেদনশীল স্ট্রিমিং অ্যাপ, সেগুলোর কোনো গুরুত্বপূর্ণ মুহূর্তের মাঝখানে ক্র্যাশ করলে তা ব্যবহারকারীর জন্য মারাত্মক বিপর্যয় ডেকে আনতে পারে।
আর্থিক অ্যাপ বা নেভিগেশনাল অ্যাপের মতো গুরুত্বপূর্ণ পরিণামযুক্ত অ্যাপ , যেখানে ব্যবহারের চূড়ান্ত ফলাফলের ওপর জোর দেওয়া হয়। এই ধরনের কোনো অ্যাপ ক্র্যাশ করলে গুরুতর সমস্যা দেখা দিতে পারে, যার ফলে অ্যাপটির ওপর আস্থা নষ্ট হয়।
ক্র্যাশ-মুক্ত মেট্রিক্সের গণনা
ক্র্যাশ-মুক্ত ব্যবহারকারীদের কীভাবে গণনা করা হয়?
ক্র্যাশ-মুক্ত ব্যবহারকারী মানটি সেইসব ব্যবহারকারীর শতাংশকে বোঝায়, যারা একটি নির্বাচিত সময়কালে আপনার অ্যাপ ব্যবহার করেছেন কিন্তু তাদের অ্যাপটি ক্র্যাশ করেনি ।
ক্র্যাশ-মুক্ত ব্যবহারকারীর শতাংশ গণনা করার সূত্রটি এখানে দেওয়া হলো। এর ইনপুট মানগুলো Crashlytics এসডিকে (Crashlytics SDK) দ্বারা সরবরাহ করা হয় এবং এগুলো Crashlytics ড্যাশবোর্ডের উপরের-ডানদিকের ড্রপ-ডাউন মেনু থেকে আপনার নির্বাচিত সময়কালের উপর ভিত্তি করে নির্ধারিত হয়।
CRASH_FREE_USERS_PERCENTAGE = 1 - ( CRASHED_USERS / ALL_USERS )
CRASHED_USERS হলো নির্বাচিত সময়কালে ক্র্যাশের শিকার হওয়া মোট স্বতন্ত্র ব্যবহারকারীর সংখ্যা।
ALL_USERS হলো নির্বাচিত সময়কালে আপনার অ্যাপ ব্যবহারকারী মোট ব্যবহারকারীর সংখ্যা।
ক্র্যাশ-মুক্ত ব্যবহারকারীর শতাংশ হলো সময়ের সাথে সাথে অর্জিত সমষ্টি , কোনো গড় নয়।
উদাহরণস্বরূপ, ধরুন আপনার অ্যাপের তিনজন ব্যবহারকারী আছেন; আমরা তাদের নাম দেবো ব্যবহারকারী এ, ব্যবহারকারী বি এবং ব্যবহারকারী সি। নিচের সারণিটি দেখাচ্ছে যে কোন ব্যবহারকারীরা প্রতিদিন আপনার অ্যাপটি ব্যবহার করেছেন এবং সেই দিনে তাদের মধ্যে কাদের অ্যাপ ক্র্যাশ করেছে:
| সোমবার | মঙ্গলবার | বুধবার | |
|---|---|---|---|
| যেসব ব্যবহারকারী আপনার অ্যাপের সাথে যুক্ত হয়েছেন | এ, বি, সি | এ, বি, সি | এ, বি |
| যে ব্যবহারকারীর ক্র্যাশ হয়েছিল | সি | বি | একটি |
বুধবারে, আপনার ক্র্যাশ-মুক্ত ব্যবহারকারীর হার ৫০% (প্রতি ২ জন ব্যবহারকারীর মধ্যে ১ জন ক্র্যাশ-মুক্ত ছিলেন)।
বুধবার আপনার দুজন ব্যবহারকারী আপনার অ্যাপটি ব্যবহার করেছিলেন, কিন্তু তাদের মধ্যে কেবল একজনের (ব্যবহারকারী বি) অ্যাপ ক্র্যাশ করেনি।গত ২ দিনে আপনার ক্র্যাশ-মুক্ত ব্যবহারকারীর হার ৩৩.৩% (প্রতি ৩ জন ব্যবহারকারীর মধ্যে ১ জন ক্র্যাশ-মুক্ত ছিলেন)।
গত দুই দিনে আপনার তিনজন ব্যবহারকারী আপনার অ্যাপটি ব্যবহার করেছেন, কিন্তু তাদের মধ্যে কেবল একজনের (ব্যবহারকারী সি) অ্যাপটি ক্র্যাশ করেনি।গত ৩ দিন ধরে, আপনার ক্র্যাশ-মুক্ত ব্যবহারকারীর শতাংশ ০% (প্রতি ৩ জন ব্যবহারকারীর মধ্যে ০ জন ক্র্যাশ-মুক্ত ছিলেন)।
গত তিন দিনে আপনার তিনজন ব্যবহারকারী আপনার অ্যাপটি ব্যবহার করেছেন, কিন্তু তাদের কারোরই অ্যাপ ক্র্যাশ করেনি।
ক্র্যাশ-মুক্ত ব্যবহারকারীর সংখ্যাকে বিভিন্ন সময়কালের মধ্যে তুলনা করা উচিত নয়। একজন ব্যবহারকারী যত বেশিবার আপনার অ্যাপ ব্যবহার করেন, তার ক্র্যাশের সম্মুখীন হওয়ার সম্ভাবনা তত বাড়ে, তাই দীর্ঘ সময় ধরে ক্র্যাশ-মুক্ত ব্যবহারকারীর সংখ্যা কম হওয়ার সম্ভাবনা থাকে।
ক্র্যাশ-মুক্ত সেশনগুলো কীভাবে গণনা করা হয়?
ক্র্যাশ-মুক্ত সেশন মানটি একটি নির্বাচিত সময়কালে আপনার অ্যাপে সংঘটিত কিন্তু ক্র্যাশ না হওয়া সেশনগুলির শতাংশকে বোঝায়।
ক্র্যাশ-মুক্ত সেশনের শতাংশ গণনা করার সূত্রটি এখানে দেওয়া হলো। এর ইনপুট মানগুলো Crashlytics এসডিকে (Crashlytics SDK) দ্বারা সরবরাহ করা হয় এবং এগুলো Crashlytics ড্যাশবোর্ডের উপরের-ডানদিকের ড্রপ-ডাউন মেনু থেকে আপনার নির্বাচিত সময়কালের উপর ভিত্তি করে নির্ধারিত হয়।
CRASH_FREE_SESSIONS_PERCENTAGE = 1 - ( CRASHED_SESSIONS / ALL_SESSIONS )
CRASHED_SESSIONS হলো নির্বাচিত সময়কালে ক্র্যাশের কারণে সমাপ্ত হওয়া সেশনগুলির সংখ্যা।
ALL_SESSIONS হলো নির্বাচিত সময়কালে আপনার অ্যাপে সংঘটিত মোট সেশনের সংখ্যা।
ক্র্যাশ-মুক্ত সেশনের শতাংশ হলো সময়ের সাথে সাথে প্রাপ্ত সমষ্টি , কোনো গড় নয়।
মেট্রিক্সের গুণমানের উপর ডেটা সংগ্রহের সেটিংসের প্রভাব
আপনার ডেটা সংগ্রহের সেটিংসের উপর নির্ভর করে, আপনার ক্র্যাশ-ফ্রি মেট্রিক্সে কম বা শূন্য মান দেখা যেতে পারে। এখানে দুটি সাধারণ পরিস্থিতি উল্লেখ করা হলো যা অনির্ভরযোগ্য ক্র্যাশ-ফ্রি মেট্রিক্সের কারণ হতে পারে:
আপনি যদি স্বয়ংক্রিয় ক্র্যাশ রিপোর্টিং নিষ্ক্রিয় করে অপ্ট-ইন রিপোর্টিং চালু করেন , তাহলে ক্র্যাশের তথ্য শুধুমাত্র সেইসব ব্যবহারকারীদের কাছ থেকেই Crashlytics পাঠানো যাবে, যারা স্পষ্টভাবে ডেটা সংগ্রহের জন্য সম্মতি দিয়েছেন। ফলে, ক্র্যাশ-মুক্ত মেট্রিক্সের নির্ভুলতা প্রভাবিত হবে, কারণ Crashlytics আপনার সকল ব্যবহারকারীর পরিবর্তে শুধুমাত্র এই সম্মতি দেওয়া ব্যবহারকারীদের ক্র্যাশের তথ্যই থাকবে। এর অর্থ হলো, আপনার ক্র্যাশ-মুক্ত মেট্রিক্স কম নির্ভরযোগ্য হতে পারে এবং আপনার অ্যাপের সামগ্রিক স্থিতিশীলতার কম প্রতিফলন ঘটাতে পারে।
আপনার যদি স্বয়ংক্রিয় ডেটা সংগ্রহ নিষ্ক্রিয় করা থাকে, তাহলে আপনি ডিভাইসে ক্যাশ করা রিপোর্টগুলো Crashlytics এ পাঠাতে
sendUnsentReportsব্যবহার করতে পারেন। এই পদ্ধতি ব্যবহার করলে ক্র্যাশ ডেটা Crashlytics এ পাঠানো হবে, কিন্তু সেশন ডেটা পাঠানো হবে না, যার ফলে কনসোল চার্টে ক্র্যাশ-মুক্ত মেট্রিকগুলোর মান কম বা শূন্য দেখায়।