# Crashlytics ইন্টিগ্রেশন

<Aside type="caution" icon="setting" title="ডেভেলপারের সহায়তা প্রয়োজন">
 ইন্টিগ্রেশন সেট আপ করার জন্য আপনার ডেভেলপমেন্ট টিমের সাহায্যের প্রয়োজন হবে। অনুগ্রহ করে এই গাইডটি তাদের সাথে শেয়ার করুন।
</Aside>

বিশ্বাস এমন একটি জিনিস যা সময়ের সাথে সাথে তৈরি হয় এবং চোখের পলকে হারিয়ে যেতে পারে। একবার আপনি ব্যবহারকারীদের আপনার অ্যাপে নিয়ে আসলে, আপনি তাদের সাথে একটি দীর্ঘমেয়াদী সম্পর্ক রাখতে চাইবেন, এবং অ্যাপ ক্র্যাশ সেই সম্পর্ক নষ্ট করে দিতে পারে।

কেমন হতো যদি আপনার কাছে খুব ব্যক্তিগতভাবে "আমি দুঃখিত" বলার সুযোগ থাকতো? যেমন, আপনার পরিসংখ্যান দেখাচ্ছে যে আপনার ৩০% ব্যবহারকারী সর্বশেষ রিলিজে একটি ক্র্যাশের সম্মুখীন হচ্ছেন, এবং একটি সমাধান দেওয়ার জন্য আপনাকে শুধু তাদের আপডেট করতে বলতে হবে। তবে, বাকি ৭০% ব্যবহারকারী তাদের প্রিয় অ্যাপের সম্ভাব্য সমস্যা সম্পর্কে শুনে খুশি নাও হতে পারেন।

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

চলুন দেখি এটি কিভাবে কাজ করে।

## Crashlytics ইন্টিগ্রেট করা

প্রথমত, আমাদের [Crashlytics](https://firebase.google.com/docs/crashlytics)-এ কিছু আইডেন্টিফায়ার দিতে হবে যা আমাদের পরে ব্যবহারকারীকে টার্গেট করতে সাহায্য করবে।
Crashlytics এই উদ্দেশ্যে **setUserIdentifier** মেথড প্রদান করে ([iOS](https://docs.fabric.io/ios/crashlytics/enhanced-reports.html#user-identifiers)-এর লিঙ্ক, [Android](https://docs.fabric.io/android/crashlytics/enhanced-reports.html#user-information)-এর লিঙ্ক)।

আমাদের ক্ষেত্রে এটিকে Pushwoosh Hardware ID-তে সেট করতে হবে। আপনি হয়তো জানেন যে Pushwoosh Hardware ID হলো iOS-এ _IDFV_ (অথবা _IDFA_ যদি আপনি _AdSupport.framework_-এর সাথে লিঙ্ক করেন) এবং বেশিরভাগ ক্ষেত্রে Android-এ _Android Id_ বা _Serial Number_।

এই কোডটি এটিকে সহজ করে তোলে:

<Tabs>
<TabItem label="Java">
```java
String userId = pushManager.getPushwooshHWID(this);
Crashlytics.setUserIdentifier(userId);
```
</TabItem>

<TabItem label="Objective-C">
```objective-c
NSString * userId = [[PushNotificationManager pushManager] getHWID];
[Crashlytics setUserIdentifier:userId];
```
</TabItem>
</Tabs>

ব্যাস! এখন আপনি Crashlytics-এর মাধ্যমে ইউজার আইডি সংগ্রহ করছেন।

## Crashlytics-এর ক্র্যাশ রিপোর্ট থেকে ইউজার আইডি ডাউনলোড করা

অনুগ্রহ করে মনে রাখবেন যে Fabric ডকুমেন্টেশন অনুযায়ী Crashlytics ড্যাশবোর্ডের ক্র্যাশ ডিটেল রিপোর্টে "Export IDs" বোতামটি প্রদর্শিত হতে ২৪ ঘন্টা পর্যন্ত সময় লাগতে পারে।

<img src="/integrations-crashlytics-integration-1.webp" alt="Crashlytics ক্র্যাশ ডিটেল রিপোর্টে Export IDs বোতাম"/>

_Export IDs_ বোতামে ক্লিক করলে _user-data.csv_ ফাইলটি ডাউনলোড হবে।
ফাইলটির গঠন নিম্নরূপ:

```javascript title="user-data.csv"
userId,email,name,mostRecentTimestamp,count
XXXXXXXXXXXXXXXX,test@example.com,John Snow,MAR 03 2016 01:22,1
YYYYYYYYYYYYYYYY,another@example.com,John Snow Jr,MAR 03 2016 01:11,1
```