# คำถามที่พบบ่อยเกี่ยวกับ Outsystems

## การจัดการไฟล์ google-services ในโปรเจกต์ที่มีชื่อแพ็กเกจหลายชื่อ

ในปลั๊กอิน คุณสามารถเพิ่มไฟล์ `google-service.json` ได้หลายไฟล์ในโปรเจกต์ของคุณ ซึ่งจะถูกเลือกตามชื่อแพ็กเกจที่ตั้งค่าไว้ระหว่างการ build

หากคุณต้องการสลับระหว่างโปรเจกต์ Firebase หลายโปรเจกต์ (แต่ละโปรเจกต์มีไฟล์การกำหนดค่า `google-services.json` ของตัวเอง) ให้ทำตามขั้นตอนต่อไปนี้:

1. สร้างไฟล์ ZIP archive วางไฟล์ `google-services.json` แต่ละไฟล์ลงในไฟล์ `.zip` archive ที่ชื่อว่า `google-services.zip`

2. เมื่อเพิ่มไฟล์ `.zip` นี้ไปยังโปรเจกต์ ให้ตั้งค่าการดำเนินการเป็น Deploy to Target Directory และระบุไดเรกทอรีเป้าหมายเป็น `google-services/${package_name}`

ตัวอย่างเช่น หากชื่อแพ็กเกจของโปรเจกต์คือ `com.pushwoosh.demo` ไดเรกทอรีเป้าหมายจะเป็น `google-services/com.pushwoosh.demo`

<img src="/outsystems-outsystems-faq-1.webp" alt=""/>

3. ระหว่างการ build โปรเจกต์ ให้ระบุชื่อแพ็กเกจที่สอดคล้องกัน

<img src="/outsystems-outsystems-faq-2.webp" alt=""/>

## การแก้ไขข้อขัดแย้งระหว่างปลั๊กอินหลายตัวที่ขึ้นอยู่กับ FirebaseMessagingService

Android ไม่ได้แก้ไขข้อขัดแย้งดังกล่าวโดยอัตโนมัติ ดังนั้นจึงต้องทำด้วยตนเอง เนื่องจากแต่ละปลั๊กอินมีตรรกะของตัวเอง เราจึงไม่สามารถให้โค้ดที่เป็นสากลซึ่งทำงานได้กับปลั๊กอินที่เป็นไปได้ทั้งหมด

นี่คือวิธีแก้ไขข้อขัดแย้ง:

1. เขียนคลาสเราเตอร์ในภาษา Java เพื่อจัดการกับข้อขัดแย้ง คลาสนี้ต้องมีชื่อว่า `FirebaseMessagingRouterService`

โปรดดูคู่มือสำหรับตัวอย่าง: [การใช้ Pushwoosh SDK กับบริการ FCM อื่นๆ](/th/developer/pushwoosh-sdk/android-sdk/android-faq/#using-pushwoosh-sdk-with-other-fcm-services)

2. ตั้งชื่อไฟล์คลาส ไฟล์ที่บรรจุคลาสนี้ต้องมีชื่อว่า `FirebaseMessagingRouterService.java`

3. วางไฟล์นี้ลงในไฟล์ `.zip` archive ที่ชื่อว่า `FirebaseMessagingRouterService.zip`

4. เพิ่มไฟล์ archive นี้ไปยังทรัพยากรของโปรเจกต์ Outsystems ของคุณ

5. ตั้งค่าการดำเนินการเป็น Deploy to Target Directory และระบุไดเรกทอรีเป้าหมายเป็น `FirebaseMessagingRouterService`

<img src="/outsystems-outsystems-faq-3.webp" alt=""/>