OneSignal กำลังตั้งเพดานที่เข้มงวดกับแพลนฟรีของตัวเอง เร็ว ๆ นี้ push notification บนมือถือและข้อความในแอปจะไม่ฟรีอีกต่อไปเมื่อเกิน 1,000 monthly active users (MAU) บัญชีใหม่จะเจอลิมิตนี้ตั้งแต่ 1 กันยายน 2026 ส่วนบัญชีเดิมเริ่ม 1 ตุลาคม ถ้าแอปของคุณมีผู้ใช้งานที่ active มากกว่าหนึ่งพันคนต่อเดือน ตอนนี้มี 3 ทางเลือกครับ: อยู่ต่อแล้วจ่าย ลดจำนวนผู้ใช้ หรือย้ายแพลตฟอร์ม
อะไรเปลี่ยนและเมื่อไร
- แพลนฟรียังใช้งานได้ตามปกติถ้าต่ำกว่า 1,000 MAU แต่เกินจากนั้น push notification และข้อความในแอปจะย้ายไปแพลนที่มีค่าใช้จ่าย
- วันที่มีผล: ตาม billing FAQ ของ OneSignal ลิมิตนี้จะใช้กับบัญชีใหม่ตั้งแต่ 1 กันยายน 2026 และบัญชีเดิมตั้งแต่ 1 ตุลาคม 2026
- เกณฑ์: ต่ำกว่า 1,000 MAU สำหรับ push notification และข้อความในแอป ถ้าเกินเกณฑ์ ช่องทางเหล่านี้จะหยุดส่งจนกว่าจะอัปเกรด
- สิ่งที่ไม่เปลี่ยน: web push อีเมล และ SMS ยังทำงานได้ตามปกติภายใต้ลิมิตแพลนเดิม การเปลี่ยนแปลงนี้เจาะจงที่มือถือเท่านั้น
- Journey ก็ได้รับผลกระทบเช่นกัน: ขั้นตอนใน journey ที่ส่ง push หรือข้อความในแอปจะข้าม mobile subscription ไปเฉย ๆ
- การลบ subscriber ไม่ใช่ทางออก ถ้าคุณลบ mobile subscription ที่ active ใน 30 วันที่ผ่านมา แพลนของคุณจะกลับมาใช้งานได้อีกครั้งก็ต่อเมื่อผ่านไป 30 วันหลังการลบ และต้องอยู่ใต้ลิมิตตลอดช่วงเวลานั้นด้วย
การย้ายระบบทำงานยังไง
ถ้าคุณตัดสินใจย้ายแล้ว มีจุดหนึ่งที่จะเปลี่ยนวิธีวางแผนของคุณ: เราเป็นคนทำการย้ายระบบให้ ส่วนของคุณมีแค่ 3 อย่าง: ไฟล์ export ข้อมูล push credentials ของคุณ และการเปลี่ยน SDK ในแอปเวอร์ชันถัดไป ส่วนที่เหลือทั้งหมด (ทำความสะอาดข้อมูล จับคู่แพลตฟอร์ม สร้าง tags ใหม่ import audience ตรวจสอบการส่งข้อความ) เราทำให้ครับ
การเปลี่ยนระบบทำงานสองทางพร้อมกัน การ import ครั้งเดียวจะย้ายฐานผู้ใช้เดิมของคุณ ทำให้ audience ยังติดต่อได้ตั้งแต่วันแรก ก่อนที่จะมีผู้ใช้แม้แต่คนเดียวอัปเดตแอป จากนั้น SDK จะเข้ามาดูแลแต่ละอุปกรณ์เมื่อเจ้าของอุปกรณ์ติดตั้งเวอร์ชันใหม่ คุณต้องใช้ทั้งสองอย่าง และไม่มีอันไหนที่ต้องรอกัน
1. อะไรที่ย้ายได้และย้ายไม่ได้
คุณไม่ต้องตรวจสอบเรื่องนี้เอง นี่คือภาพรวมทั้งหมดที่บอกไว้ล่วงหน้า เพื่อไม่ให้มีอะไรน่าแปลกใจระหว่างการย้ายระบบ
| ช่องทาง | ย้ายได้ไหม | อย่างไร |
|---|---|---|
| iOS push (APNs) | ได้ | เรา import device token เดิมของคุณ token ยังใช้งานได้ต่อ เพราะเป็นของแอปและ APNs key ของคุณ ไม่ใช่ของ OneSignal |
| Android push (FCM) | ได้ | เหมือนกัน: token เป็นของ Firebase project ของคุณ |
| Huawei push (HMS) | ได้ | เหมือนกัน โดยใช้ HMS credentials ของคุณ |
| Email และ SMS subscriber | ได้ ต้องตั้งค่าช่องทางก่อน | อีเมลและเบอร์โทรศัพท์จะถูก import เข้ามา แต่การส่งต้องตั้งค่าช่องทางฝั่งเราก่อน: domain สำหรับส่งอีเมลที่ยืนยันแล้วพร้อม DKIM และ sender หรือ provider สำหรับ SMS เราจะตั้งค่าร่วมกับคุณก่อนส่งครั้งแรก |
| Web push | ไม่ได้ ต้อง subscribe ใหม่แทน | การ subscribe บนเบราว์เซอร์ผูกกับ key ของ OneSignal ด้วยการเข้ารหัส ไม่มี provider ไหนโอนย้ายได้ subscriber ของคุณจะกลับมาแบบเงียบ ๆ เอง: ดูรายละเอียดในหัวข้อ web push |
| ประวัติข้อความ สถิติการส่ง journey | ไม่ได้ | ข้อมูลย้อนหลังยังอยู่ใน OneSignal export รายงานที่ต้องการเก็บไว้ก่อนปิดบัญชี |
| คำนิยาม segment | สร้างใหม่ ไม่ใช่ import | API ของ OneSignal คืนแค่ชื่อ segment และจำนวน แต่ไม่คืน filter จึงไม่มีอะไรให้ import เราจะสร้าง segment ใหม่ให้ใน Pushwoosh |
ใช้เวลานานแค่ไหน
การเปลี่ยน SDK และทดสอบส่งข้อความให้เรียบร้อยใช้เวลาประมาณ 1 วันสำหรับนักพัฒนา 1 คน ส่วนการ import ทำงานคู่ขนานไปฝั่งเรา และนี่คือสิ่งที่ทำให้การเข้าถึงผู้ใช้ยังคงอยู่ตั้งแต่วันแรก: อุปกรณ์ที่ import แล้วส่งข้อความถึงได้ก่อนที่จะมีใครอัปเดตแอปด้วยซ้ำ จากนั้น audience ของแอปคุณจะค่อย ๆ ย้ายมาใช้ Pushwoosh SDK ตามจังหวะที่ผู้ใช้ติดตั้งเวอร์ชันใหม่ ซึ่งใช้เวลาเป็นสัปดาห์และไม่มีทางครอบคลุมทุกอุปกรณ์ได้ 100% นี่คือเหตุผลที่การ import มีอยู่ครับ
ลำดับขั้นตอนสำคัญ:
- Export audience ของคุณ ส่ง OneSignal app_id และ App API key ให้เรา แล้วเราจะดึง export ให้เอง หรือคุณ export ไฟล์ CSV ด้วยตัวเองก็ได้ รายละเอียดอยู่ด้านล่าง
- ส่ง push credentials ให้เรา เป็น key ชุดเดียวกับที่ OneSignal ใช้ส่งอยู่แล้ว เราจะอัปโหลดก่อนเริ่ม import เพื่อให้ทุกอุปกรณ์ที่ import แล้วส่งข้อความถึงได้
- เปลี่ยน SDK ถอด OneSignal SDK ออก ใส่ Pushwoosh SDK เข้าไป แล้ว initialize ด้วย application code และ device API token ของ Pushwoosh ขั้นตอนเฉพาะแพลตฟอร์มอยู่ใน Version A ถึง C
- ตรวจสอบการส่ง ลงทะเบียนอุปกรณ์ทดสอบและส่ง push หาตัวเองก่อนแตะต้อง production traffic
- อนุมัติ tag sheet เราสร้างให้จากไฟล์ export ของคุณ คุณแค่ขีดฆ่า tag ที่ไม่ใช้แล้วและทำเครื่องหมาย tag ที่เก็บได้หลายค่า เราจะ import และสร้าง segment ใหม่ให้
- สลับการส่งข้อความ เมื่อการทดสอบส่งเรียบร้อยและ import ยืนยันแล้ว ให้ชี้แคมเปญของคุณมาที่ Pushwoosh และหยุดส่งจาก OneSignal
2. Export audience ของคุณ
ตัวเลือก A (แนะนำ): เราทำให้ ส่ง OneSignal app_id และ App API key ให้เรา แล้วเราดึง export ให้เอง ส่วนของคุณจบแค่นี้
ตัวเลือก B: ทำเอง ใน OneSignal ไปที่ Audience > Subscriptions แล้ว export ไฟล์ CSV หรือเรียก export endpoint:
curl -X POST 'https://api.onesignal.com/players/csv_export?app_id=YOUR_APP_ID' \ -H 'Authorization: Key YOUR_APP_API_KEY' \ -H 'Content-Type: application/json' \ -d '{"extra_fields":["external_user_id","timezone_id","notification_types"]}'คำตอบที่ได้จะมี csv_file_url เป็นไฟล์ CSV ที่ถูกบีบอัดแบบ gzip และดาวน์โหลดได้อยู่ 3 วัน
คอลัมน์เหล่านี้ต้องมีอยู่ในไฟล์ อย่างอื่นเป็นตัวเลือกและเราจะไม่สนใจ
| คอลัมน์ | ทำไมเราถึงต้องใช้ |
|---|---|
identifier | ตัว push token เอง แถวที่ไม่มีค่านี้จะย้ายไม่ได้ |
id | subscription id ของ OneSignal ซึ่งจะกลายเป็น device identifier ฝั่งเรา |
device_type | บอกแพลตฟอร์ม: iOS, Android, Huawei, email, SMS |
invalid_identifier | ทำเครื่องหมายแถวที่ unsubscribe แล้ว เพื่อให้เราข้ามไป |
tags | custom tag ของคุณ เราจะสร้างใหม่ใน Pushwoosh |
external_user_id | user id ของคุณเอง ช่วยไม่ให้อุปกรณ์ซ้ำกันเมื่อ SDK ของเราลงทะเบียนอุปกรณ์นั้น |
timezone_id | เปิดใช้งาน Send by Timezone ใน Pushwoosh |
identifieriddevice_typeinvalid_identifiertagsexternal_user_idtimezone_idหมายเหตุ: external_user_id และ timezone_id ไม่ได้อยู่ใน export ค่าเริ่มต้น ต้องขอเพิ่มผ่านพารามิเตอร์ extra_fields ด้านบน หรือเลือกผ่าน column picker ใน dashboard
3. ส่ง push credentials ให้เรา
credentials ชุดนี้เป็นชุดเดียวกับที่ OneSignal ใช้ส่งข้อความแทนคุณอยู่แล้ว จึงไม่ต้องสร้างใหม่ เราดึงข้อมูลนี้ออกจาก OneSignal เองไม่ได้ เพราะ key ที่อัปโหลดแล้วจะดาวน์โหลดกลับมาไม่ได้อีก ขั้นตอนนี้จึงเป็นหน้าที่ของคุณ
| แพลตฟอร์ม | สิ่งที่เราต้องการ | หาได้จากไหน |
|---|---|---|
| iOS | APNs Auth Key (.p8), Key ID, Team ID, app bundle id | Apple Developer > Certificates, Identifiers & Profiles > Keys ห้าม revoke key ที่ OneSignal ใช้อยู่ เพราะ key เดียวใช้ได้ทั้งสองฝั่ง |
| Android | Firebase service account JSON (FCM v1) | Firebase Console > Project settings > Service accounts ต้องเป็น Firebase project เดียวกับที่แอปคุณใช้อยู่แล้ว |
| Huawei | App ID และ App Secret | AppGallery Connect > your project > App information |
เราจะอัปโหลด credentials เข้า Pushwoosh application ของคุณก่อนเริ่ม import ลำดับนี้สำคัญ: ถ้า import โดยไม่มี credentials ก่อน จะได้ฐานข้อมูลที่เต็มไปด้วยอุปกรณ์ที่ส่งข้อความถึงไม่ได้เลย
4. ตรวจสอบ tags และ segments ของคุณ
Tag ย้ายได้ และคุณไม่ต้องมาไล่เช็กเองทีละตัว ใน OneSignal tag เป็นแค่ key/value string ธรรมดาที่ไม่มีการประกาศ type ส่วนใน Pushwoosh แต่ละ tag ต้องประกาศ type ครั้งเดียวต่อ application (String, Integer, Boolean, Date, List หรือ Price) ก่อนถึงจะเก็บค่าได้
ทันทีที่เราได้ไฟล์ export จากคุณ เราจะส่ง tag review sheet ที่สร้างจากไฟล์นั้นให้ ในนั้นจะมี tag ทุกตัวที่เราเจอ พร้อมข้อมูล: ค่าตัวอย่าง จำนวนอุปกรณ์ที่มีค่านี้ และ type ที่เราเสนอ ส่วนของคุณมีแค่ 2 คอลัมน์: ขีดฆ่า tag ที่ไม่ใช้แล้ว และทำเครื่องหมาย tag ที่เก็บได้หลายค่าพร้อมกัน ส่วนที่เหลือคือข้อเสนอที่คุณอนุมัติได้เลยตามที่เป็น
เหตุผลที่เราถามแทนที่จะเดาเอง: type ของ tag จะถูกล็อกไว้ทันทีที่สร้าง ถ้า tag ที่ควรเก็บได้หลายค่าถูกสร้างเป็น String ธรรมดา จะต้องลบแล้ว import ใหม่ tag ที่ดูเหมือนมีค่าเดียวในไฟล์ export คือกรณีที่เราตรวจจับจากข้อมูลเองไม่ได้เลย ถ้าไม่ได้รับคำตอบกลับมา เราจะ import tag ทุกตัวตาม type ที่เราคาดเดา และแจ้งให้คุณทราบว่าตัวไหนที่เราเดา
Segment ต้องสร้างใหม่ API ของ OneSignal filter export ตาม segment และแสดงชื่อ segment ได้ แต่ไม่คืนค่า filter ที่อยู่เบื้องหลัง จึงไม่มีอะไรให้ import มี 2 ทางที่ทำได้:
- สร้างเงื่อนไขใหม่ (แนะนำ) ส่งรายการ segment พร้อม filter มาให้เรา สกรีนช็อตก็ใช้ได้ เราจะสร้างใหม่บน tag ที่ import แล้ว segment ที่สร้างใหม่แบบนี้เป็น dynamic คืออัปเดตตามการเปลี่ยนแปลงของ audience ต่อไปเรื่อย ๆ
- Freeze สมาชิกไว้ตายตัว เรา export แยกทีละ segment แล้วประทับ marker tag ลงในแต่ละไฟล์ เช่น
os_segment = vip_usersเร็วดี แต่ผลลัพธ์เป็นแค่ snapshot ที่ไม่อัปเดตเอง
Segment ที่สร้างจากข้อมูลพฤติกรรมของ OneSignal เอง (จำนวน session, playtime, “Active Users”, “Engaged Users”) ไม่สามารถสร้างซ้ำได้ตอน import เพราะประวัติเหล่านั้นอยู่ใน OneSignal ส่วนที่เทียบเท่ากันใน Pushwoosh จะเริ่มเก็บข้อมูลทันทีที่ SDK ของเราถูกติดตั้งในแอปคุณ
5. สิ่งที่เราทำฝั่งเรา
- สร้างและตั้งค่า Pushwoosh application ของคุณ แล้วอัปโหลด credentials จากขั้นตอนที่ 3
- ทำความสะอาดไฟล์ export: ตัดแถวที่ unsubscribe และแถวที่ token ว่างออก จับคู่ platform code ของ OneSignal กับของเรา แปลง tags และจับคู่
external_user_idของคุณกับ User ID ของเรา - สร้าง tag schema แล้ว import audience เป็นชุด ๆ พร้อมตรวจสอบทุกชุด
- ส่ง test push ให้กลุ่มควบคุมเล็ก ๆ แล้วเทียบผลลัพธ์กับที่คุณคาดไว้
- รายงานกลับ: มี subscription กี่รายการในไฟล์ import ได้กี่รายการ และเหตุผลของทุกแถวที่เราข้ามไป
6. ใส่ Pushwoosh SDK ในแอปเวอร์ชันถัดไป
การ import ทำให้ audience เดิมของคุณติดต่อได้ทันที แต่มันเป็นแค่สะพานเชื่อม ไม่ใช่ปลายทาง มีแค่ Pushwoosh SDK ที่อยู่ในแอปคุณเท่านั้นที่จะรับ token ใหม่เมื่อ OS หมุนเวียน token (ติดตั้งใหม่, restore, อัปเดต OS) ลงทะเบียนผู้ใช้ที่ติดตั้งหลังการย้ายระบบ และรายงานการเปิดแอป ข้อความในแอป และการ uninstall
ถอด OneSignal SDK ออกในเวอร์ชันเดียวกัน push SDK สองตัวในแอปเดียวจะแย่งกัน callback การแจ้งเตือนตัวเดียวกัน และเราไม่ได้ทดสอบชุดค่าผสมนั้น การให้ OneSignal ยัง ส่งข้อความ อยู่ระหว่างที่เวอร์ชันใหม่ทยอย roll out เป็นเรื่องปกติและคาดไว้แล้ว แต่การมี SDK ทั้งสองตัว อยู่ในแอปเดียวกัน ไม่ควรทำ ขั้นตอนเฉพาะแพลตฟอร์มอยู่ใน Version A ถึง C ด้านล่าง
7. Web push: subscriber ของคุณจะกลับมายังไง
Web push import ไม่ได้ และนี่คือข้อจำกัดทางเทคนิคที่แก้ไม่ได้ ไม่ใช่ทางเลือกของ Pushwoosh การ subscribe web push ถูกเซ็นด้วยคู่ key แบบ VAPID ของผู้ที่สร้างมันขึ้นมา และ private key ของ OneSignal จะไม่มีวันหลุดออกจาก OneSignal — เอกสารของ OneSignal เองก็ระบุว่า web subscription key ใช้ได้เฉพาะกับ OneSignal SDK เท่านั้น ไม่มี provider ไหน import web subscription ของ provider อื่นได้ สิ่งที่ทำได้แทนคือการ subscribe ใหม่แบบเงียบ ๆ:
- ลบ OneSignal snippet ออก และ unregister service worker ของมันอย่างชัดเจน ถ้าปล่อย worker เก่าไว้ จะมี worker สองตัวแย่งกันทำงานบน domain เดียวกัน
- ติดตั้ง Pushwoosh Web Push SDK พร้อม service worker ของเราไว้ที่ root ของ domain คุณ
- Initialize ด้วย application code และ device API token (
apiToken) ของคุณ แล้วเปิด automatic subscription (autoSubscribe: trueหรือเรียกPushwoosh.subscribe()) ถ้าไม่มี token การเรียกของ SDK จะได้ผลลัพธ์เป็น 401
ผู้เข้าชมที่กลับมาจะถูก subscribe ใหม่แบบเงียบ ๆ เอง สิทธิ์การแจ้งเตือนที่เบราว์เซอร์เก็บไว้เป็นของ domain คุณ ไม่ใช่ของ provider เดิม จึงไม่มี prompt ที่สองปรากฏขึ้น และผู้ใช้จะไม่สังเกตเห็นอะไรเลย ฐานผู้ใช้จะกลับมาเร็วแค่ไหนขึ้นอยู่กับว่าคนกลับมาใช้งานเร็วแค่ไหน ส่วนใหญ่มักกลับมาภายในสัปดาห์แรก และมีบางส่วนทยอยตามมาในเดือนถัดไป
3 กรณีที่ต้องระวัง:
- ผู้เข้าชมที่ block การแจ้งเตือนไว้จะ subscribe ใหม่ไม่ได้ เบราว์เซอร์จะปฏิเสธและไม่ prompt ให้อีก คนกลุ่มนี้จะยังคงอยู่นอกระบบ ซึ่งเป็นผลลัพธ์ที่ถูกต้องแล้ว
- ผู้เข้าชมที่ opt-out บนเว็บไซต์คุณ แต่สิทธิ์การแจ้งเตือนบนเบราว์เซอร์ยังคงเปิดอยู่ จะถูก subscribe ใหม่แบบเงียบ ๆ เช่นกัน ถูกต้องทางเทคนิค แต่จะดึงคนที่ตั้งใจออกไปแล้วกลับมา ถ้าคุณมี suppression list (ตาม user id หรืออีเมลของคุณเอง) ส่งมาให้เรา แล้วเราจะยกเว้นผู้ใช้กลุ่มนั้นจากทุกแคมเปญ ถ้าไม่มี เราแนะนำให้ subscribe ผ่านการคลิกที่ชัดเจน (ปุ่มกระดิ่งหรือ prompt) แทนการทำอัตโนมัติ
- ถ้า web push เดิมของคุณทำงานบน subdomain ที่ vendor เดิมให้มา แทนที่จะเป็น domain ของคุณเอง สิทธิ์การแจ้งเตือนจะเป็นของ subdomain นั้น subscriber กลุ่มนี้กู้คืนไม่ได้ ต้อง opt-in ใหม่บนเว็บไซต์ของคุณ ตรวจสอบว่าคุณใช้ setup แบบไหนอยู่ก่อนวางแผนย้ายระบบ
8. สิ่งที่จะเกิดขึ้นหลัง import
- อุปกรณ์หนึ่งเครื่องอาจปรากฏซ้ำกันชั่วคราว ข้อมูลที่ import มาจะถือ identifier ของ OneSignal ไว้ พอ SDK ของเราทำงานบนอุปกรณ์เดียวกัน จะลงทะเบียนด้วย identifier ของตัวเอง ข้อมูลเก่าจะถูกลบด้วย uninstall tracking หรือระบบล้างอัตโนมัติเมื่อไม่มี activity 90 วัน การส่ง
external_user_idมาด้วยจะช่วยให้ทั้งสองข้อมูลอยู่ภายใต้ user profile เดียวกันระหว่างนี้ - Token ที่ตายแล้วจะหลุดออกในแคมเปญแรกของคุณ Apple และ Google จะบอกว่า token ใช้ไม่ได้ก็ต่อเมื่อมีการส่งข้อความจริงเท่านั้น ดังนั้นการส่งครั้งแรกหลังการย้ายระบบก็จะช่วยล้างฐานข้อมูลของคุณไปในตัว
- ตัวเลขที่ import ได้จะน้อยกว่าตัวนับใน OneSignal แถวที่ unsubscribe แถวที่ token ว่าง และแถว web push จะถูกตัดออกโดยตั้งใจ รายงานของเราจะบอกชัดเจนว่าแต่ละกลุ่มมีจำนวนเท่าไหร่
9. คลิกตรงไหนบ้าง
เส้นทางที่แน่นอนสำหรับสิ่งที่คุณต้องทำ เพื่อไม่ให้ต้องไล่หาใน dashboard เอง
| งาน | เส้นทางคลิก |
|---|---|
| OneSignal: export audience | Audience > Subscriptions > optional segment filter > column picker > Export |
| OneSignal: App ID และ API key | Settings > Keys & IDs เอา App ID และ App API key มา; คำขอ export จะส่งเป็น Authorization: Key <App API key> |
| Apple: APNs Auth Key | developer.apple.com > Certificates, Identifiers & Profiles > Keys > + > Apple Push Notification service (APNs) > Continue > Register > Download ไฟล์ .p8 ดาวน์โหลดได้ครั้งเดียว Key ID อยู่หน้าเดียวกัน ส่วน Team ID อยู่ใต้ Membership details |
| Firebase: service account JSON | console.firebase.google.com > your project > gear icon > Project settings > Service accounts > Generate new private key |
| Huawei: App ID และ App Secret | AppGallery Connect > My projects > your project > your app > Project settings > App information |
| Pushwoosh: application code และ device API token | Control Panel > your application > Settings > API Access token ต้องมีสิทธิ์สำหรับ application นั้น |
| เว็บไซต์ของคุณ: ลบ worker เก่า | ลบไฟล์ service worker ของ OneSignal ออกจาก root เว็บไซต์ และ unregister worker ที่กำลังทำงานอยู่: navigator.serviceWorker.getRegistrations().then(rs => rs.forEach(r => r.unregister())) |
Authorization: Key <App API key>navigator.serviceWorker.getRegistrations().then(rs => rs.forEach(r => r.unregister()))เช็กลิสต์ก่อนวันที่ 1 ตุลาคม
เปิดหน้านี้ไว้เช็กไปทีละขั้น ไม่มีข้อไหนต้องดาวน์โหลดฟอร์มเพิ่ม
- ส่ง export มาให้เรา หรือส่ง app_id พร้อม App API key ให้เราดึงเอง
- ส่ง push credentials แล้ว: APNs key, FCM service account JSON, HMS key ถ้าใช้
- ตั้งค่าช่องทาง email และ SMS กับเราแล้ว ถ้าคุณย้าย subscriber กลุ่มนี้ด้วย
- ส่ง tag review sheet กลับมาแล้ว ลบ tag ที่ไม่ใช้แล้ว และทำเครื่องหมาย tag หลายค่าแล้ว
- ส่ง segment filter มาให้เราสร้างใหม่แล้ว (สกรีนช็อตก็ได้)
- ติดตั้ง Pushwoosh SDK ใน test build แล้ว และได้รับ test push แล้ว
- Import เสร็จแล้ว และตรวจสอบรายงาน imported/skipped จากเราแล้ว
- Web push SDK ใช้งานจริงแล้ว พร้อม unregister service worker เก่า ถ้าคุณใช้ web push
- ทดสอบส่งข้อความเรียบร้อยบน production build แล้ว
- สลับการส่งมาที่ Pushwoosh แล้ว และหยุดส่งจาก OneSignal แล้ว
Version A: iOS และ Android แบบ native
iOS เพิ่ม Pushwoosh iOS SDK แล้วตั้งค่า 2 key ใน Info.plist: Pushwoosh_APPID ใส่ application code ของ Pushwoosh และ PW_API_TOKEN ใส่ device API token ของคุณ เรียก registerForPushNotifications() ตรงจุดที่คุณเคย trigger prompt ของ OneSignal และดู iOS quick start สำหรับโค้ด initialization ที่ตรงกับเวอร์ชัน SDK ของคุณ ถอด OneSignal SDK และการเรียก registration ของมันออก เพื่อไม่ให้ทั้งสองตัวขอ token พร้อมกัน
Android เพิ่ม dependency com.pushwoosh:pushwoosh-firebase แล้วเพิ่ม meta-data 2 รายการในแท็ก <application> ของ AndroidManifest.xml: com.pushwoosh.appid ใส่ application code ของคุณ และ com.pushwoosh.apitoken ใส่ device API token ของคุณ เรียก Pushwoosh.getInstance().registerForPushNotifications() ใน initialization logic การตั้งค่า Firebase ของคุณยังคงเดิม โดยมี google-services.json อยู่ในโปรเจกต์ ส่วน FCM credentials ให้ไปใส่ใน Control Panel ใต้การตั้งค่าแพลตฟอร์ม Android
ตั้งค่า tag ด้วย setTags() และ user identifier ด้วย setUserId() ในจุดเดียวกับที่คุณเคยเรียกฟังก์ชันเทียบเท่าของ OneSignal เพื่อให้ segmentation ยังทำงานได้หลังเปลี่ยน SDK
Version B: Flutter และ FlutterFlow
FlutterFlow ห่อ Pushwoosh Flutter SDK ไว้ให้แล้ว การย้ายระบบจึงเป็นเรื่องของการตั้งค่าเป็นหลัก มากกว่าการเขียนโค้ด
- เพิ่ม Pushwoosh Flutter package เป็น custom dependency ในโปรเจกต์ของคุณ
- ใน custom action ให้ initialize SDK ด้วย application code ของคุณ แล้ว register push notification ตาม Flutter quick start สำหรับ initialization API เวอร์ชันปัจจุบัน
- ตั้งค่า native credentials แบบเดียวกับแอป Flutter ทั่วไป:
Pushwoosh_APPIDและPW_API_TOKENในInfo.plistสำหรับ iOS,com.pushwoosh.appidและcom.pushwoosh.apitokenในAndroidManifest.xmlสำหรับ Android - ถอด OneSignal integration ออก เพื่อไม่ให้ SDK ทั้งสองตัว register พร้อมกัน
- จับคู่ tags และ user id ด้วย
setTags()และsetUserId()ใน custom action ของคุณ
Version C: React Native
- ติดตั้ง plugin:
npm install pushwoosh-react-native-plugin --saveแล้วรันpod installสำหรับ iOS - Initialize และ register ใน root component ของคุณ:
import Pushwoosh from 'pushwoosh-react-native-plugin';
Pushwoosh.init({ pw_appid: "YOUR_APPLICATION_CODE" });Pushwoosh.register();- เพิ่ม device API token แบบ native:
PW_API_TOKENในInfo.plistสำหรับ iOS,com.pushwoosh.apitokenเป็น meta-data ในAndroidManifest.xmlสำหรับ Android บน Android ให้เก็บgoogle-services.jsonไว้ในโปรเจกต์เหมือนเดิม — ส่วน FCM credentials อยู่ใน Control Panel - ถอด OneSignal React Native package และการเรียก init ของมันออก
- ย้าย tags และ user id มาด้วย
setTags()และsetUserId()จาก plugin API
ติดต่อทีมของเราเพื่อขอความช่วยเหลือได้เลยครับ
คำถามที่พบบ่อย
มีคำถามระหว่างทางติดต่อ onboarding contact ของคุณที่ Pushwoosh ได้เลยครับ เราอยากตอบคำถามก่อนเริ่ม import มากกว่ามานั่งไล่เช็กตัวเลขทีหลัง