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

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

## ภาพรวมการผสานรวม

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

เมื่อกำหนดค่าการผสานรวมแล้ว AppsFlyer จะส่งข้อมูลต่อไปนี้ไปยัง Pushwoosh:

*   พฤติกรรมในแอปของผู้ใช้เป็น Events และแอตทริบิวต์ของมัน
*   แหล่งที่มาของการได้ผู้ใช้เป็นค่า Tag _Acquisition Source_

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

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

**1. สร้างแคมเปญที่กำหนดเป้าหมายอย่างสูงใน Pushwoosh โดยใช้ events ที่ติดตามโดย AppsFlyer**

สมมติว่าคุณมีแอปข่าว คุณกำหนดค่า AppsFlyer ให้ติดตาม event _SubscribedToNews_ ซึ่งจะทำงานทุกครั้งที่ผู้ใช้สมัครรับข้อมูลช่องข่าว event นี้มีแอตทริบิวต์ category ที่ระบุประเภทของข่าวที่ผู้ใช้สมัครรับข้อมูล: _politics_, _business_, หรือ _sports_

Pushwoosh ได้รับข้อมูลเกี่ยวกับ event นี้พร้อมกับค่าแอตทริบิวต์ของมัน คุณสามารถสร้างกลุ่มผู้ใช้สามกลุ่มตามค่าที่เป็นไปได้สามค่า:

<img src="/integrations-appsflyer-integration-1.webp" alt="กลุ่มผู้ใช้ตามแอตทริบิวต์หมวดหมู่ข่าว"/>

ตอนนี้คุณสามารถสร้างแคมเปญที่กำหนดเป้าหมายไปยังผู้ใช้ที่สนใจข่าวประเภทใดประเภทหนึ่งได้:

<img src="/integrations-appsflyer-integration-2.webp" alt="แคมเปญที่กำหนดเป้าหมายสำหรับผู้ใช้ที่สนใจหมวดหมู่ข่าวเฉพาะ"/>

**2. ปรับแต่งข้อความตามข้อมูลพฤติกรรมผู้ใช้จาก AppsFlyer**

ในตัวอย่างนี้ เราจะใช้แอปช็อปปิ้งออนไลน์ สมมติว่า AppsFlyer ติดตาม event _AddToWishlist_ ที่ทำงานทุกครั้งที่ผู้ใช้เพิ่มสินค้าลงใน wishlist ของตน event นี้มีแอตทริบิวต์ item ที่ระบุชื่อของสินค้าที่เพิ่มเข้าไปใน wishlist

AppsFlyer ส่งข้อมูล event _AddToWishlist_ ไปยัง Pushwoosh ซึ่งคุณสามารถปรับแต่งข้อความตามตัวเลือกของผู้ใช้ได้ ตัวอย่างเช่น คุณสามารถสร้าง push preset ที่เสนอส่วนลดสำหรับสินค้าที่ผู้ใช้เพิ่มลงใน wishlist ของตน แทนที่จะเป็นชื่อสินค้า ให้เพิ่ม [Dynamic Content placeholder](/th/developer/guides/personalization/dynamic-content/#personalizing-messages-sent-via-api-with-dynamic-content) ด้วยแอตทริบิวต์ _item_:

<img src="/integrations-appsflyer-integration-3.webp" alt="ตัวยึดตำแหน่งเนื้อหาแบบไดนามิกในพรีเซ็ตพุชของ Pushwoosh"/>

หากผู้ใช้เพิ่มสินค้าลงใน wishlist ของตน พวกเขาจะได้รับการแจ้งเตือนแบบพุชที่มีข้อมูลเกี่ยวกับสินค้านั้น ตัวอย่างเช่น ผู้ที่เลือก iPhone 14 Pro Max จะเห็นข้อความนี้:

<img src="/integrations-appsflyer-integration-4.webp" alt="ตัวอย่างการแจ้งเตือนแบบพุชสำหรับข้อเสนอสินค้า iPhone 14 Pro Max" width="375"/>

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

<Aside type="note">
กระบวนการผสานรวมเหมือนกันสำหรับทั้งแพลตฟอร์ม Android และ iOS
</Aside>

1.  ผสานรวม Pushwoosh SDK เข้ากับแอปของคุณหากคุณยังไม่ได้ทำ สำหรับคำแนะนำโดยละเอียดเพิ่มเติม [อ่านคู่มือ](/th/developer/pushwoosh-sdk/pushwoosh-sdk-overview)

<Aside type="caution">
สำหรับการทำงานที่ถูกต้อง จำเป็นต้องใช้ Pushwoosh iOS SDK เวอร์ชัน 6.5.7 หรือใหม่กว่า และ Pushwoosh Android SDK เวอร์ชัน 6.6.16 หรือใหม่กว่า
</Aside>

2.  เพื่อให้แน่ใจว่าข้อมูลที่ถูกต้องถูกส่งไปยัง AppsFlyer ให้ผสานรวมโค้ดส่วนนี้เข้ากับโค้ดของคุณ ตรวจสอบให้แน่ใจว่ามันถูกดำเนินการหลังจากที่ทั้ง Pushwoosh SDK และ AppsFlyer SDK ได้รับการเริ่มต้นแล้ว

<Tabs>
<TabItem label="Java">
```
String pwhwid = Pushwoosh.getInstance().getHwid();
String pwuserid = Pushwoosh.getInstance().getUserId();
Map<String, Object> customData = new HashMap<String, Object>();
customData.put("pushwoosh_hwid", pwhwid);
customData.put("pushwoosh_user_id", pwuserid);
AppsFlyerLib.getInstance().setAdditionalData(customData);
```
</TabItem>

<TabItem label="Objective-C">
```
NSString *pwhwid = [[Pushwoosh sharedInstance] getHWID];
NSString *pwuserid = [[Pushwoosh sharedInstance] getUserId];
NSDictionary *customData = [[NSDictionary alloc] initWithObjectsAndKeys:pwuserid, @"pushwoosh_user_id", pwhwid, @"pushwoosh_hwid", nil];
[[AppsFlyerLib shared] setAdditionalData:customData];
```
</TabItem>
</Tabs>

<Aside type="danger">
เมื่อใช้ค่า Pushwoosh UserID ที่กำหนดเองเพื่อระบุและกำหนดเป้าหมายผู้ใช้ ตรวจสอบให้แน่ใจว่าได้รันโค้ดหลังจากเรียกใช้เมธอด **setUserId()** ใน Pushwoosh SDK ด้วยค่าที่กำหนดเอง

ติดตามเมื่อ Pushwoosh UserID เปลี่ยนแปลงตามตรรกะในแอปพลิเคชันมือถือของคุณ และส่งค่าที่อัปเดตไปยัง AppsFlyer โดยทันที นี่เป็นสิ่งสำคัญสำหรับการแมปข้อมูลที่ส่งกับผู้ใช้ในฐานข้อมูล Pushwoosh ของคุณอย่างถูกต้อง
</Aside>

3.  กำหนดค่าการผสานรวม Pushwoosh ใน AppsFlyer สำหรับสิ่งนี้ ใน [บัญชี AppsFlyer](https://hq1.appsflyer.com/auth/login) ของคุณ ไปที่ **Collaborate** > **Partner Marketplace** ในรายการ Partners ค้นหาและเลือก Pushwoosh

<img src="/integrations-appsflyer-integration-5.webp" alt="การค้นหา Pushwoosh ใน AppsFlyer"/>

4.  คลิก **Set up integration** จากนั้นคุณจะถูกนำไปยังหน้าการตั้งค่าการผสานรวม ที่นั่น ให้เปิดใช้งานสวิตช์ **Activate partner**

<img src="/integrations-appsflyer-integration-6.webp" alt="การเปิดใช้งานสวิตช์ Activate partner ใน AppsFlyer"/>

<Aside type="note">
สำหรับแอป iOS โหมด Advanced Privacy จะเปิดใช้งานโดยค่าเริ่มต้น ซึ่งช่วยให้สามารถควบคุมความพร้อมใช้งานของข้อมูลการระบุแหล่งที่มาระดับผู้ใช้ผ่านแพลตฟอร์ม AppsFlyer แม้ว่า AppsFlyer จะไม่ส่งข้อมูลประเภทนี้ไปยัง Pushwoosh แต่การเปิดใช้งานสวิตช์ Advanced Privacy อาจรบกวนการส่งข้อมูลได้

เพื่อให้แน่ใจว่า Pushwoosh ได้รับข้อมูลทั้งหมด เราขอแนะนำให้ปิดใช้งานโหมด Advanced Privacy ใน **App Settings** การทำเช่นนี้จะไม่กระทบต่อความเป็นส่วนตัวของข้อมูลผู้ใช้ Pushwoosh มุ่งมั่นที่จะจัดการข้อมูลอย่างปลอดภัยและมีความรับผิดชอบ โดยใช้โปรโตคอลความปลอดภัยมาตรฐานอุตสาหกรรมเพื่อปกป้องความลับ
</Aside>

<img src="/integrations-appsflyer-integration-7.webp" alt="การปิดใช้งานโหมด Advanced Privacy ใน AppsFlyer"/>

5.  ในส่วน **General settings** ให้ป้อนข้อมูลประจำตัว Pushwoosh ของคุณ:

*   **API Access Token** หากต้องการรับโทเค็น ในบัญชี Pushwoosh ของคุณ ให้ไปที่ **Settings > API Access** และคัดลอกโค้ด คุณสามารถเรียนรู้เพิ่มเติมเกี่ยวกับ API Access Token [ในคู่มือนี้](/th/developer/api-reference/api-access-token)
*   **Application Code** (XXXXX-XXXXX) ที่คุณสามารถพบได้ใต้ชื่อแอปพลิเคชันของคุณในบัญชี Pushwoosh ของคุณ

<img src="/integrations-appsflyer-integration-8.webp" alt="การเพิ่มข้อมูลประจำตัวของ Pushwoosh ในการตั้งค่าทั่วไปของ AppsFlyer"/>

6.  ในส่วน **Default postback** ให้เลือก **All media sources, including organic**

<img src="/integrations-appsflyer-integration-9.webp" alt="การกำหนดค่าส่วน Default postback"/>

7.  ในส่วน **In-app event settings** ให้ป้อน **Application Code** และ **API Access Token** ของ Pushwoosh ของคุณ

<img src="/integrations-appsflyer-integration-10.webp" alt="ส่วนการตั้งค่าเหตุการณ์ในแอปพร้อมรหัสแอปพลิเคชันและโทเค็น API"/>

8.  เปิดใช้งานสวิตช์ **In-app event postback** และกำหนดค่าเหตุการณ์และข้อมูลที่จะรวมอยู่ในการส่งข้อมูลกลับไปยัง Pushwoosh

<img src="/integrations-appsflyer-integration-11.webp" alt="การกำหนดค่าสวิตช์ In-app event postback ใน AppsFlyer"/>

เลือกเหตุการณ์ AppsFlyer อย่างน้อยหนึ่งรายการเพื่อส่งไปยัง Pushwoosh จากเมนูแบบเลื่อนลง และกรอกพารามิเตอร์ที่จำเป็น

| พารามิเตอร์ | คำอธิบาย |
| ------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **the mapped to partner event** | แม้ว่าฟิลด์นี้จะบังคับ แต่ไม่ต้องกังวลกับสิ่งที่คุณพิมพ์ เพราะมันจะไม่เปลี่ยนวิธีการตั้งชื่อเหตุการณ์ Pushwoosh จะยังคงได้รับเหตุการณ์ที่มีชื่อเดียวกันกับที่ปรากฏใน AppsFlyer |
| **for users from** | ในฟิลด์นี้ ให้เลือกว่าจะส่ง postbacks เฉพาะสำหรับผู้ใช้ที่ถูกระบุแหล่งที่มาให้กับพาร์ทเนอร์นี้ หรือสำหรับแหล่งสื่อทั้งหมด รวมถึง organic |
| **including** | <p>เลือกวิธีการแชร์ข้อมูลเหตุการณ์กับ Pushwoosh:</p><ul><li><strong>No values & no revenue:</strong> ส่งเฉพาะเหตุการณ์เองโดยไม่มีพารามิเตอร์ใดๆ (ค่าหรือรายได้)</li><li><strong>Values & no revenue:</strong> ส่งพารามิเตอร์ทั้งหมดยกเว้นค่ารายได้</li><li><strong>Values & revenue:</strong> ส่งพารามิเตอร์เหตุการณ์ทั้งหมด รวมถึงค่ารายได้ (หากมีอยู่ในเหตุการณ์)<br/>หากต้องการรับเหตุการณ์ที่มีแอตทริบิวต์เพิ่มเติมที่ส่งไปยัง Pushwoosh ให้เลือก Values and Revenue</li></ul> |

9.  เมื่อกำหนดค่าการผสานรวมแล้ว ให้คลิก **Save**

<Aside type="note">
ก่อนเปิดตัวแคมเปญของคุณ ตรวจสอบให้แน่ใจว่าได้ทดสอบการผสานรวมแล้ว ข้อผิดพลาดมักเกิดขึ้นระหว่างการตั้งค่า ดังนั้นการทดสอบอย่างรวดเร็วจะช่วยป้องกันการสิ้นเปลืองทรัพยากรในแคมเปญที่มีข้อมูลขาดหายไปหรือไม่ถูกต้อง
</Aside>

## การติดตามการคลิกอีเมลด้วย AppsFlyer ESP 2.0

หากต้องการใช้การติดตามการคลิกอีเมลและรักษา Universal Links / App Links ไว้เมื่อส่งอีเมลผ่าน Pushwoosh คุณสามารถตั้งค่า [การผสานรวมอีเมล AppsFlyer ESP 2.0](/th/product/integrations/appsflyer-esp2-email-integration)