# การผสานรวมกับ RevenueCat

<Aside type="caution" icon="setting" title="ต้องการความช่วยเหลือจากนักพัฒนา">
 คุณจะต้องได้รับความช่วยเหลือจากทีมพัฒนาของคุณเพื่อตั้งค่าการผสานรวมนี้ โปรดแชร์คู่มือนี้กับพวกเขา
</Aside>

[RevenueCat](https://www.revenuecat.com/) เป็นแพลตฟอร์มการจัดการการสมัครสมาชิกที่ช่วยให้การซื้อในแอปและการสมัครสมาชิกสำหรับธุรกิจบนแพลตฟอร์ม iOS, Android และเว็บเป็นเรื่องง่าย โดยมีเครื่องมือที่ครอบคลุมสำหรับการสร้าง วิเคราะห์ และปรับปรุงการสมัครสมาชิกในแอป

ด้วยการผสานรวม Pushwoosh กับ [RevenueCat](https://www.revenuecat.com/) ธุรกิจสามารถส่งการแจ้งเตือนแบบพุชที่ตรงเป้าหมาย ข้อความแจ้งเตือนในแอป และข้อความอื่นๆ ไปยังผู้ใช้ตามอีเวนต์การสมัครสมาชิกที่ส่งจาก RevenueCat ไปยัง Pushwoosh ซึ่งสามารถกระตุ้นให้ผู้ใช้ต่ออายุการสมัครสมาชิก อัปเกรดเป็นระดับที่สูงขึ้น หรือใช้ประโยชน์จากข้อเสนอพิเศษ ซึ่งจะช่วยเพิ่มการมีส่วนร่วม เพิ่มรายได้สูงสุด และทำให้การจัดการการสมัครสมาชิกง่ายขึ้น

## กรณีการใช้งาน

#### การสื่อสารส่วนบุคคล

ธุรกิจสามารถใช้การผสานรวมนี้เพื่อปรับแต่งการสื่อสารกับลูกค้าให้เป็นแบบส่วนตัว ตัวอย่างเช่น แพลตฟอร์ม e-learning สามารถเพิ่มการมีส่วนร่วมของผู้ใช้โดยการส่งการแจ้งเตือนแบบพุชส่วนบุคคลเมื่อตรวจพบการเปลี่ยนแปลงแผนการสมัครสมาชิก การแจ้งเตือนเหล่านี้จะให้คำแนะนำในการเปลี่ยนแปลง แนะนำหลักสูตรที่เกี่ยวข้องตามแผนใหม่ และมอบสิทธิประโยชน์พิเศษที่สอดคล้องกับการอัปเดต

#### การแจ้งเตือนปปัญหาการเรียกเก็บเงิน

เมื่อการสมัครสมาชิกของผู้ใช้ประสบปัญหาการเรียกเก็บเงิน ธุรกิจสามารถใช้การผสานรวม RevenueCat กับ Pushwoosh เพื่อส่งการแจ้งเตือนที่ตรงเป้าหมายได้อย่างรวดเร็ว ตัวอย่างเช่น บริการสตรีมมิ่งสามารถแจ้งให้ผู้ใช้ทราบเกี่ยวกับปัญหาการเรียกเก็บเงินและให้คำแนะนำในการแก้ไข เช่น การอัปเดตข้อมูลการชำระเงิน

#### การแจ้งเตือนการซื้อที่ไม่ต่ออายุ

ธุรกิจสามารถใช้ประโยชน์จากการผสานรวม RevenueCat กับ Pushwoosh เพื่อเปลี่ยนการซื้อครั้งเดียวให้เป็นความสัมพันธ์กับลูกค้าที่ยั่งยืน ตัวอย่างเช่น บริการจัดส่งอาหารสามารถส่งการแจ้งเตือนแบบพุชหลังการซื้อเพื่อขอบคุณลูกค้าและแนะนำผลิตภัณฑ์ที่เกี่ยวข้องหรือโปรโมตแผนการสมัครสมาชิกเพื่อความสะดวกอย่างต่อเนื่อง ซึ่งจะช่วยสร้างความภักดีของลูกค้า เพิ่มโอกาสในการขายเพิ่ม และอาจเปลี่ยนผู้ซื้อครั้งเดียวให้เป็นผู้สมัครสมาชิก

#### โปรโมชันการอัปเกรดระดับ

แอปที่มีระดับการสมัครสมาชิกหลายระดับสามารถใช้การผสานรวมนี้เพื่อติดตามการสมัครสมาชิกของผู้ใช้และส่งข้อความแจ้งเตือนการอัปเกรดที่ปรับให้เหมาะสม ตัวอย่างเช่น แอปเกมสามารถใช้การแจ้งเตือนแบบพุชเพื่อเน้นย้ำถึงประโยชน์ของระดับพรีเมียม เช่น เนื้อหาพิเศษหรือส่วนลด เพื่อกระตุ้นให้ผู้ใช้อัปเกรดการสมัครสมาชิกของตน

## อีเวนต์

การผสานรวมนี้ช่วยให้สามารถติดตามอีเวนต์ต่างๆ ได้ โดยจะสร้างอีเวนต์เหล่านี้ใน Pushwoosh โดยอัตโนมัติเมื่ออีเวนต์แรกถูกส่งจาก RevenueCat อีเวนต์เหล่านี้รวมถึง:

| อีเวนต์                 | ชื่ออีเวนต์      <div style="width:160px"></div>                   | คำอธิบาย                                                                                                                      | คุณลักษณะ       <div style="width:200px"></div>                                                                                                   |
|---------------------- |--------------------------- |------------------------------------------------------------------------------------------------------------------------------ |--------------------------------------------------------------------------------------------------------------- |
| การซื้อครั้งแรก      | `RC_INITIAL_PURCHASE`      | มีการซื้อการสมัครสมาชิกใหม่                                                                                        | <ul><li>price</li><li>price_in_purchased_currency</li><li>currency</li></ul>                                   |
| การซื้อที่ไม่ต่ออายุ | `RC_NON_RENEWING_PURCHASE` | ลูกค้าได้ทำการซื้อสินค้าที่จะไม่ต่ออายุอัตโนมัติ                                                                      | <ul><li>price</li><li>price_in_purchased_currency</li><li>currency</li></ul>                                   |
| การต่ออายุ              | `RC_RENEWAL`               | การสมัครสมาชิกที่มีอยู่ได้รับการต่ออายุหรือผู้ใช้ที่หมดอายุได้สมัครสมาชิกอีกครั้ง                                                 | <ul><li>price</li><li>price_in_purchased_currency</li><li>currency</li></ul>                                   |
| การเปลี่ยนแปลงผลิตภัณฑ์       | `RC_PRODUCT_CHANGE`        | ผู้สมัครสมาชิกได้เปลี่ยนผลิตภัณฑ์ของการสมัครสมาชิกของตน                                                                  |                                                                                                              |
| การยกเลิก         | `RC_CANCELLATION`          | การสมัครสมาชิกหรือการซื้อที่ไม่ต่ออายุถูกยกเลิก                                                                   |                                                                                                             |
| ปัญหาการเรียกเก็บเงิน       | `RC_BILLING_ISSUE`         | เกิดปัญหาขึ้นขณะพยายามเรียกเก็บเงินจากผู้สมัครสมาชิก                                                             |                                                                                                              |
| ชื่อแฝงการสมัครสมาชิก   | `RC_SUBSCRIBER_ALIAS`      | เกิดขึ้นเมื่อมีการลงทะเบียน `app_user_id` ใหม่สำหรับผู้สมัครสมาชิกที่มีอยู่                                         |                                                                                                             |
| การสมัครสมาชิกหยุดชั่วคราว  | `RC_SUBSCRIPTION_PAUSED`   | การสมัครสมาชิกถูกตั้งค่าให้หยุดชั่วคราวเมื่อสิ้นสุดระยะเวลา                                                         |                                                                                                              |
| การยกเลิกการยกเลิก      | `RC_UNCANCELLATION`        | การสมัครสมาชิกที่ถูกยกเลิกและยังไม่หมดอายุได้ถูกเปิดใช้งานอีกครั้ง                                                                    |                                                                                                             |
| การโอน            | `RC_TRANSFER`              | มีการโอนธุรกรรมและสิทธิ์ระหว่าง App User ID หนึ่งไปยังอีก ID หนึ่ง                            |                                                                                                             |
| การสมัครสมาชิกขยายเวลา | `RC_SUBSCRIPTION_EXTENDED` | การสมัครสมาชิกที่มีอยู่ได้รับการขยายเวลา (วันหมดอายุของระยะเวลาการสมัครสมาชิกปัจจุบันถูกเลื่อนออกไป) |                                                                                                             |
| การหมดอายุ          | `RC_EXPIRATION`            | การสมัครสมาชิกของลูกค้าหมดอายุ                                                                                      | <ul><li>price</li><li>price_in_purchased_currency</li><li>currency</li><li>expiration_at</li><li>purchased_at</li></ul> |

คุณสามารถใช้อีเวนต์ทั้งหมดนี้ใน [Customer Journeys](/th/product/customer-journey/pushwoosh-journey-overview) ของคุณได้ อีเวนต์ที่มีคุณลักษณะ price สามารถใช้กับ [RFM segmentation](/th/product/audience-data-and-segmentation/segmentation/rfm-segmentation) ได้

<Aside type="tip">
คุณยังสามารถแมปอีเวนต์ที่สร้างรายได้ เช่น `RC_INITIAL_PURCHASE`, `RC_RENEWAL` หรือ `RC_NON_RENEWING_PURCHASE` (โดยใช้คุณลักษณะ `price` และ `currency` ของอีเวนต์เหล่านั้น) เป็นแหล่งข้อมูลสำหรับ [Conversion events](/th/product/audience-data-and-segmentation/events/conversion-events/) ได้ หลีกเลี่ยงการแมป `RC_CANCELLATION` หรือ `RC_EXPIRATION` ด้วยวิธีนี้ เนื่องจาก Conversion events ไม่รองรับการคืนเงินหรือการยกเลิก ดังนั้นอีเวนต์เหล่านั้นจะยังคงถูกนับเป็นรายได้
</Aside>

## การตั้งค่าการผสานรวม

### ซิงโครไนซ์ User IDs และ HWIDs ระหว่าง Pushwoosh และ RevenueCat

ในการซิงค์อีเวนต์ระหว่าง RevenueCat และ Pushwoosh ไปยังผู้ใช้คนเดียวกัน คุณต้องตั้งค่า Pushwoosh UserID ให้ตรงกับ RevenueCat App User Id สำหรับการทำเช่นนี้ ให้ตั้งค่า appUserID จาก RevenueCat SDK ใน Pushwoosh SDK [เรียนรู้เพิ่มเติมเกี่ยวกับ RevenueCat appUserID](https://www.revenuecat.com/docs/customers/user-ids#provide-app-user-id-on-configuration)

#### สำหรับ Android

ตั้งค่า appUserID ที่ได้รับจาก RevenueCat SDK ใน Pushwoosh SDK โดยใช้เมธอด `Pushwoosh.getInstance().setUserId(appUserIDFromRC);`

#### สำหรับ iOS

ตั้งค่า appUserID ที่ได้รับจาก RevenueCat SDK ใน Pushwoosh SDK โดยใช้เมธอด `[[Pushwoosh sharedInstance] setUserId: appUserIDFromRC];`

### ส่งอีเวนต์จาก RevenueCat ไปยัง Pushwoosh

หลังจากที่คุณซิงโครไนซ์ User IDs และ HWIDs ใน Pushwoosh และ RevenueCat แล้ว ให้เปิดใช้งานการผสานรวม Pushwoosh ในแดชบอร์ด RevenueCat ของคุณ

1. ไปที่โปรเจกต์ของคุณในแดชบอร์ด RevenueCat และค้นหาการ์ด Integrations ในเมนูด้านซ้าย คลิก **+ New** หรือ **Add integration**

<img src="/integrations-revenuecat-integration-1.webp" alt="การค้นหา Integrations ในแดชบอร์ด RevenueCat"/>

2. เลือก **Webhooks** จากเมนู **Integrations**

<img src="/integrations-revenuecat-integration-2.webp" alt="การเลือก Webhooks จากเมนู Integrations"/>

3. ตั้งชื่อการผสานรวมให้ตรงไปตรงมา เช่น _Pushwoosh_ เพื่อให้ง่ายต่อการระบุ
4. ป้อน URL ต่อไปนี้ในช่อง **Webhook URL**:

`https://integration-revenuecat.svc-nue.pushwoosh.com/integration-revenuecat/v1/post-event?pwapp=APP_CODE"`

<img src="/integrations-revenuecat-integration-3.webp" alt="การป้อน Webhook URL สำหรับการผสานรวมกับ Pushwoosh"/>

ใน URL ให้แทนที่ **APP_CODE** ด้วยรหัสแอปพลิเคชัน Pushwoosh ที่มีอยู่ของคุณ ซึ่งอยู่ใต้ชื่อแอปพลิเคชันของคุณในบัญชี Pushwoosh

<img src="/integrations-revenuecat-integration-4.webp" alt="การค้นหารหัสแอปพลิเคชัน Pushwoosh"/>

5. ในช่อง **Authorization header value** ให้ใส่ **Pushwoosh API token** ของคุณ คุณสามารถค้นหาโทเค็นนี้ได้ที่ **Settings > API Access** ใน Pushwoosh

<img src="/integrations-revenuecat-integration-5.webp" alt="การป้อน Pushwoosh API token ในส่วนหัว authorization"/>

6. ตัดสินใจว่าคุณต้องการส่งอีเวนต์สำหรับการซื้อใน production (ใช้งานจริง), sandbox (ทดสอบ) หรือทั้งสองอย่าง
7. ในเมนูแบบเลื่อนลง **App** ให้ระบุว่าควรส่งอีเวนต์ webhook สำหรับแอปเดียวหรือทุกแอปภายในโปรเจกต์
8. ในเมนูแบบเลื่อนลง **Event Type** ให้เลือกว่าจะส่งอีเวนต์ทั้งหมดหรือระบุว่าจะส่งอีเวนต์ใดไปยัง Pushwoosh

<img src="/integrations-revenuecat-integration-6.webp" alt="การกำหนดค่าประเภทอีเวนต์ใน RevenueCat webhook"/>

9. เลือกว่าจะแสดงอีเวนต์ทั้งหมด, เฉพาะอีเวนต์ที่สำเร็จ หรือเฉพาะอีเวนต์ที่ล้มเหลว

<img src="/integrations-revenuecat-integration-7.webp" alt="การเลือกตัวเลือกการแสดงผลอีเวนต์ใน webhook"/>

นอกจากนี้ คุณยังมีตัวเลือกในการส่ง Webhook ทดสอบได้อีกด้วย