# تكامل Crashlytics

<Aside type="caution" icon="setting" title="مطلوب مساعدة المطور">
 ستحتاج إلى مساعدة من فريق التطوير الخاص بك لإعداد التكامل. يرجى مشاركة هذا الدليل معهم.
</Aside>

الثقة شيء يمكنك بناؤه بمرور الوقت وتفقده في غمضة عين. بمجرد أن تجلب الأشخاص إلى تطبيقك، فأنت تريد أن تكون لديك علاقة طويلة الأمد معهم، ويمكن أن تصبح أعطال التطبيق سببًا في إنهاء هذه العلاقة.

ماذا لو أتيحت لك الفرصة لقول "أنا آسف" بطريقة شخصية جدًا؟ على سبيل المثال، تظهر إحصائياتك أن 30% من مستخدميك يواجهون عطلاً في الإصدار الأخير، وتحتاج فقط إلى إخبارهم بالتحديث لتقديم إصلاح. ومع ذلك، قد لا يكون الـ 70% الآخرون سعداء بسماع المشكلات المحتملة في التطبيق الذي يحبونه كثيرًا.

هنا يأتي دورنا للمساعدة. تكامل 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 هو _IDFV_ (أو _IDFA_ إذا قمت بالربط مع _AdSupport.framework_) على iOS وفي معظم الحالات يكون _Android Id_ أو _Serial Number_ على Android.

هذا الكود يجعل الأمر بسيطًا:

<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>

هذا كل شيء! أنت الآن تجمع معرفات المستخدمين (user IDs) مع Crashlytics.

## تنزيل معرفات المستخدمين من تقارير الأعطال في Crashlytics

يرجى ملاحظة أنه قد يستغرق الأمر ما يصل إلى 24 ساعة وفقًا لتوثيق Fabric حتى يظهر زر "Export IDs" في تقرير تفاصيل العطل في لوحة تحكم Crashlytics.

<img src="/integrations-crashlytics-integration-1.webp" alt="زر Export IDs في تقرير تفاصيل العطل في Crashlytics"/>

سيؤدي النقر على زر _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
```