# การผสานรวมกับ 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 ID ด้วย Crashlytics แล้ว

## การดาวน์โหลด User ID จากรายงานข้อขัดข้องใน 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
```