# การผสานรวม Adapty

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

## ภาพรวมการผสานรวมและกรณีการใช้งาน

[Adapty](https://app.adapty.io/login) เป็นแพลตฟอร์มการจัดการการสมัครสมาชิกและการสร้างรายได้สำหรับแอปมือถือ

ด้วยการผสานรวม Adapty กับ Pushwoosh คุณสามารถส่ง subscription-related events และ paywall interactions ใดๆ จาก Adapty ไปยัง Pushwoosh ได้ ที่นั่นคุณสามารถเริ่มต้นแคมเปญที่ตรงเป้าหมายเพื่อดึงดูดฐานผู้ใช้ของคุณ ส่งเสริมการขายเพิ่ม (upsells) และกระตุ้นการต่ออายุ

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

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

1. **เริ่มต้นใน** [**บัญชี Adapty**](https://app.adapty.io/login)

ไปที่ส่วน Integrations เลือก Pushwoosh เปิดใช้งานโดยการสลับสวิตช์จาก off เป็น on จากนั้นกรอกข้อมูลในฟิลด์ที่จำเป็น

<img src="/integrations-adapty-integration-1.webp" alt="การผสานรวม Pushwoosh และ Adapty - ขั้นตอนที่ 1"/>

2. **ไปที่ Pushwoosh เพื่อตั้งค่าข้อมูลรับรองที่จำเป็น**

สร้างการเชื่อมต่อระหว่างบัญชี Pushwoosh และ Adapty ของคุณโดยการตั้งค่าข้อมูลรับรอง ซึ่งต้องใช้ Pushwoosh App ID และ authentication token ของคุณ

<img src="/integrations-adapty-integration-2.webp" alt="การผสานรวม Pushwoosh และ Adapty - ขั้นตอนที่ 2"/>

3. **ค้นหาข้อมูลรับรอง Pushwoosh ของคุณ**

*   App ID: พบได้ในแดชบอร์ด Pushwoosh
*   Auth Token: อยู่ในส่วน API Access ของ Pushwoosh Settings

<img src="/integrations-adapty-integration-3.webp" alt="การผสานรวม Pushwoosh และ Adapty - ขั้นตอนที่ 3"/>

4. **กำหนดค่า Events และ Tags**

ด้านล่างการตั้งค่าข้อมูลรับรอง คุณจะพบตัวเลือกในการเลือกและเปลี่ยนชื่อกลุ่ม event ต่างๆ จาก Adapty เพื่อส่งไปยัง Pushwoosh ตรวจสอบและเลือก event ที่คุณต้องการ สำหรับรายการ event ทั้งหมดที่มีใน Adapty โปรดดูที่ [คู่มือโดยละเอียดของพวกเขา](https://docs.adapty.io/docs/events)

Adapty จัดการการส่ง subscription events ไปยัง Pushwoosh ผ่านการผสานรวมแบบ server-to-server ทำให้สามารถมองเห็น event เหล่านี้ได้อย่างเต็มที่ใน Pushwoosh Dashboard ของคุณ

<img src="/integrations-adapty-integration-4.webp" alt="การผสานรวม Pushwoosh และ Adapty - ขั้นตอนที่ 4"/>

5. **เปิดใช้งาน custom tags**

ปรับปรุงการผสานรวม Pushwoosh ของคุณกับ Adapty โดยใช้ custom tags แท็กเหล่านี้สามารถปรับแต่งให้เข้ากับความต้องการเฉพาะของคุณได้ตามที่ระบุไว้ด้านล่าง:

*   adapty\_customer\_user\_id: ตัวระบุผู้ใช้ที่ไม่ซ้ำกันจาก Pushwoosh
*   adapty\_profile\_id: Adapty User Profile ID ที่ไม่ซ้ำกัน สามารถดูได้ในแดชบอร์ด Adapty
*   environment: ระบุสภาพแวดล้อมของผู้ใช้ ไม่ว่าจะเป็น 'Sandbox' หรือ 'Production'
*   store: ระบุร้านค้าที่ซื้อ ('app\_store' หรือ 'play\_store')
*   vendor\_product\_id: ID ของผลิตภัณฑ์ใน Apple/Google store
*   subscription\_expires\_at: วันที่หมดอายุของการสมัครสมาชิกล่าสุด ในรูปแบบเฉพาะ
*   last\_event\_type: ประเภทของ event ล่าสุดจาก Adapty
*   purchase\_date: วันที่ทำธุรกรรมล่าสุด ในรูปแบบเฉพาะ
*   original\_purchase\_date: วันที่ซื้อครั้งแรก ในรูปแบบเฉพาะ
*   active\_subscription: ระบุสถานะการสมัครสมาชิก
*   period\_type: ประเภทช่วงเวลาล่าสุดของการซื้อหรือการต่ออายุ

นอกจากนี้ คุณยังสามารถผสานรวม custom attributes เพื่อความยืดหยุ่นในการติดตามที่มากขึ้น ในหน้าการผสานรวมฝั่ง Adapty ให้ทำเครื่องหมายที่ช่อง 'Send user custom attributes' เพื่อการส่งข้อมูลไปยัง Pushwoosh โดยอัตโนมัติ

6. **จำเป็น: กำหนดค่า SDK**

เพื่อให้การผสานรวมเสร็จสมบูรณ์ ให้ส่งค่า HWID จาก Pushwoosh ไปยัง Adapty:

<Tabs>
<TabItem label="Swift">
```
let params = AdaptyProfileParameters.Builder()
    .with(pushwooshHWID: Pushwoosh.sharedInstance().getHWID())
    .build()

Adapty.updateProfile(params: params) { error in
    // handle the error
}
```
</TabItem>

<TabItem label="Kotlin">
```
val params = AdaptyProfileParameters.Builder()
    .withPushwooshHwid(Pushwoosh.getInstance().hwid)
    .build()

Adapty.updateProfile(params) { error ->
    if (error != null) {
        // handle the error
    }
}
```
</TabItem>

<TabItem label="Java">
```
AdaptyProfileParameters params = new AdaptyProfileParameters.Builder()
    .withPushwooshHwid(Pushwoosh.getInstance().getHwid())
    .build();

Adapty.updateProfile(params, error -> {
    if (error != null) {
        // handle the error
    }
})
```
</TabItem>

<TabItem label="Flutter">
```
import 'package:pushwoosh/pushwoosh.dart';

final builder = AdaptyProfileParametersBuilder()
        ..setPushwooshHWID(
          await Pushwoosh.getInstance.getHWID,
        );
try {
    await adapty.updateProfile(builder.build());
} on AdaptyError catch (adaptyError) {
    // handle error
} catch (e) {}
```
</TabItem>

<TabItem label="TypeScript">
```
import { adapty } from 'react-native-adapty';
import Pushwoosh from 'pushwoosh-react-native-plugin';

// ...
try {
  await adapty.updateProfile({
    pushwooshHWID: hwid,
  });
} catch (error) {
  // handle `AdaptyError`
}
```
</TabItem>

<TabItem label="Unity">
```
var builder = new Adapty.ProfileParameters.Builder();
builder.SetPushwooshHWID(Pushwoosh.Instance.HWID);

Adapty.UpdateProfile(builder.Build(), (error) => {
    // handle error
});
```
</TabItem>
</Tabs>

<Aside type="note">
อ่านเพิ่มเติมเกี่ยวกับ [กรณีการใช้งานที่เป็นไปได้ของการผสานรวม Pushwoosh และ Adapty](https://blog.pushwoosh.com/blog/adapty-integration/) ในบล็อกของเรา
</Aside>