Unity
ดาวน์โหลดปลั๊กอิน
ดาวน์โหลดตัวอย่าง
เอกสารปลั๊กอิน
ขั้นตอนการผสานระบบ
Anchor link toในการผสาน Pushwoosh เข้ากับแอปพลิเคชัน Unity ของคุณ ให้ทำตามขั้นตอนต่อไปนี้:
- ดาวน์โหลดไฟล์
google-services.json
จาก Firebase console ของคุณตามที่อธิบายไว้ ที่นี่ และนำไปไว้ในโฟลเดอร์ Assets ของโปรเจกต์คุณ ชื่อแพ็กเกจของแอปของคุณควรถูกเพิ่มเข้าไปในโปรเจกต์ Firebase และคงอยู่ในไฟล์google-services.json
- นำเข้า ปลั๊กอินการแจ้งเตือนแบบพุชของ Unity ไปยังโฟลเดอร์ Assets ของคุณใน Unity
การผสานระบบ Android
Anchor link toอัปเดต AndroidManifest.xml
Anchor link toรวมเนื้อหาของ **Assets/Plugins/Android/PushwooshAndroidManifest.xml**
เข้ากับ **Assets/Plugins/Android/AndroidManifest.xml**
หากคุณยังไม่มี Android Manifest ให้เปลี่ยนชื่อ PushwooshAndroidManifest.xml
เป็น AndroidManifest.xml
แทนที่ PACKAGE_NAME ด้วยแพ็กเกจโปรเจกต์ของคุณ โปรดทราบว่าใน Unity จะเรียกว่า ‘Bundle Identifier’
ลงทะเบียนการแจ้งเตือนแบบพุช
Anchor link toสร้างสคริปต์ PushNotificator.cs และแนบเข้ากับ Camera Object ในซีน
using UnityEngine;using System.Collections;
public class PushNotificator : MonoBehaviour { // ใช้สำหรับการเริ่มต้น void Start () { Pushwoosh.ApplicationCode = "ENTER_PUSHWOOSH_APP_ID_HERE"; Pushwoosh.FcmProjectNumber = "ENTER_FCM_SENDER_ID_HERE"; Pushwoosh.Instance.OnRegisteredForPushNotifications += OnRegisteredForPushNotifications; Pushwoosh.Instance.OnFailedToRegisteredForPushNotifications += OnFailedToRegisteredForPushNotifications; Pushwoosh.Instance.OnPushNotificationsReceived += OnPushNotificationsReceived; Pushwoosh.Instance.RegisterForPushNotifications (); }
void OnRegisteredForPushNotifications(string token) { // จัดการที่นี่ Debug.Log("ได้รับ token: \n" + token); }
void OnFailedToRegisteredForPushNotifications(string error) { // จัดการที่นี่ Debug.Log("เกิดข้อผิดพลาดขณะลงทะเบียนการแจ้งเตือนแบบพุช: \n" + error); }
void OnPushNotificationsReceived(string payload) { // จัดการที่นี่ Debug.Log("ได้รับการแจ้งเตือนแบบพุช: \n" + payload); }}
ตั้งค่า Device API token
Anchor link toในไฟล์ AndroidManifest.xml
ของคุณ ให้เพิ่มข้อมูลต่อไปนี้:
<meta-data android:name="com.pushwoosh.apitoken" android:value="YOUR_DEVICE_API_TOKEN" />
เรียนรู้เพิ่มเติมเกี่ยวกับ Pushwoosh Device API Token ของคุณ
สำคัญ: ตรวจสอบให้แน่ใจว่าได้ให้สิทธิ์โทเค็นเข้าถึงแอปที่ถูกต้องใน Pushwoosh Control Panel ของคุณ เรียนรู้เพิ่มเติม
การผสานระบบ iOS
Anchor link toการซ่อนการแจ้งเตือน
Anchor link toหากต้องการซ่อนการแจ้งเตือนเมื่อแอปพลิเคชันทำงานอยู่เบื้องหน้า (foreground) เพียงแค่ตั้งค่า Pushwoosh_SHOW_ALERT
เป็น NO
ในไฟล์ Info.plist ของคุณ
ตั้งค่า Device API token
Anchor link toในไฟล์ Info.plist
ของคุณ ให้ตั้งค่าคีย์ PW_API_TOKEN
เป็น Pushwoosh Device API Token
สำคัญ: ตรวจสอบให้แน่ใจว่าโทเค็นมีสิทธิ์เข้าถึงแอปพลิเคชันที่ถูกต้องใน Pushwoosh Control Panel ของคุณ เรียนรู้เพิ่มเติม
เปิดใช้งานการแจ้งเตือนแบบพุชใน Xcode
Anchor link toXcode ต้องการให้เปิดใช้งาน Push Notifications ในส่วน Capabilities เพื่อลงทะเบียนสำหรับการแจ้งเตือนแบบพุช สำหรับสิ่งนี้ ไปที่ Capabilities → Enable Push Notifications

เปิดใช้งาน Remote notifications สำหรับ Background Modes ในส่วน Capabilities

ส่วนเสริมของ Android
Anchor link toหากต้องการรับการแจ้งเตือนแบบพุชบน Android เมื่อแอปพลิเคชันทำงานอยู่โดยไม่ต้องโพสต์การแจ้งเตือนไปยังศูนย์การแจ้งเตือน ให้ตั้งค่าบรรทัดต่อไปนี้ใน AndroidManifest.xml เป็น true:
<meta-data android:name="PW_BROADCAST_PUSH" android:value="false" />
การผสานระบบ Amazon
Anchor link toขอรับ API Key จาก Amazon
Anchor link toรับ API KEY จาก Amazon ตาม คู่มือของ Amazon
สำหรับแอปเวอร์ชันก่อนเผยแพร่หรือเวอร์ชัน “debug” คุณต้องสร้าง API Key และจัดเก็บเป็นข้อมูลเพียงอย่างเดียวในไฟล์ชื่อ api_key.txt ไฟล์ api_key.txt จะต้องอยู่ในโฟลเดอร์ Assets ของโปรเจกต์ของคุณ
สำหรับแอปเวอร์ชันเผยแพร่หรือเวอร์ชัน “production” คุณอาจไม่จำเป็นต้องสร้าง API Key เฉพาะในกรณีที่คุณลงนามแอปเวอร์ชันเผยแพร่ด้วยใบรับรองของคุณเอง คุณจึงจะต้องสร้าง API Key เพิ่มเติมสำหรับแอปเวอร์ชันนั้น มิฉะนั้น หากคุณอนุญาตให้ Amazon ลงนามในแอปในนามของคุณ คุณก็ไม่จำเป็นต้องสร้าง API Key เพิ่มเติม
การผสานระบบ Windows Store
Anchor link to- เพิ่มไฟล์
link.xml
ไปยังไดเรกทอรี Assets/ ของคุณด้วยเนื้อหาต่อไปนี้:
<linker> <assembly fullname="PushSDK" preserve="all"/></linker>
- คุณต้องทำการ Associate App with the Store ในโปรเจกต์ Visual Studio ที่ส่งออกด้วย ตรวจสอบให้แน่ใจว่าแอปของคุณได้รับการลงนามด้วยใบรับรองที่ตรงกับ Publisher Identity ของคุณ

เลือกความสามารถ Internet (Client) ในแท็บ Capabilities ของไฟล์ .appxmanifest
ของคุณในโปรเจกต์ Visual Studio ที่ส่งออก
ปัญหาที่พบในโปรเจกต์ Unity ที่ติดตั้งปลั๊กอิน Pushwoosh
Anchor link toหากคุณพบข้อผิดพลาดดังที่แสดงในภาพด้านล่าง อาจเกิดจากปัญหาของเฟรมเวิร์ก Unity กับโปรเจกต์ที่มีปลั๊กอินของบุคคลที่สาม

บันทึกการแก้ไข ของ Unity เกี่ยวกับปัญหานี้ระบุว่า:
ณ จุดหนึ่ง UnityFramework runtime พร้อมกับปลั๊กอินจะถูกโหลดในขณะรันไทม์โดย dyld/NSBundle.load โปรดคำนึงถึงสิ่งนี้ในขณะที่พัฒนาปลั๊กอิน
การเริ่มต้นที่ใช้ API จำนวนมากบน +(load), attribute(constructor) และเส้นทางโค้ดการสร้างอ็อบเจ็กต์ส่วนกลางควรย้ายไปยังเฟสที่ใหม่กว่า โดยควรเป็นหลังจากที่ UnityFramework โหลดแล้ว และจะดีกว่านั้นเมื่อ Unity เริ่มต้นทำงานแล้ว
การเริ่มต้นข้อมูลธรรมดานั้นปลอดภัย แต่การเรียกใช้ที่ใช้ API จำนวนมากซึ่งเกี่ยวข้องกับส่วนอื่น ๆ ของระบบปฏิบัติการ โดยเฉพาะอย่างยิ่ง API ด้านเครือข่ายและอินเทอร์เฟซผู้ใช้อาจนำไปสู่การหยุดชะงัก (deadlock) ซึ่งส่งผลให้ watchdog ยุติการทำงาน
ด้วยการทำ delayed/lazy initialization (การเริ่มต้นแบบล่าช้า/ตามความจำเป็น) คุณจะสามารถควบคุมลำดับการเริ่มต้นได้ดีขึ้น สามารถลดเวลาในการโหลดแอปพลิเคชัน และที่สำคัญที่สุดคือหลีกเลี่ยงการหยุดชะงักที่อาจเกิดขึ้นได้
แนวทางแก้ไขที่เป็นไปได้
Anchor link toตามค่าเริ่มต้น UnityFramework.framework จะถูกฝังอยู่ในเป้าหมาย Unity-iPhone แต่ไม่ได้เชื่อมโยงกับมัน ด้วยเหตุนี้ UnityFramework จะถูกโหลดในภายหลังขณะรันไทม์ และปลั๊กอินบางตัวอาจมีความไวต่อเส้นทางการเริ่มต้นนี้
เพื่อแก้ไขปัญหานี้ ไปที่ Unity-iPhone → Build Phases → ส่วนการสร้าง Link Binary with Libraries และเพิ่ม **UnityFramework.framework**
วิธีนี้จะช่วยให้แน่ใจว่า UnityFramework โหลดพร้อมกันกับไฟล์ปฏิบัติการหลัก
แบ่งปันความคิดเห็นของคุณกับเรา
Anchor link toความคิดเห็นของคุณช่วยให้เราสร้างประสบการณ์ที่ดีขึ้น ดังนั้นเรายินดีที่จะรับฟังจากคุณหากคุณมีปัญหาใด ๆ ในระหว่างขั้นตอนการผสาน SDK หากคุณประสบปัญหาใด ๆ โปรดอย่าลังเลที่จะแบ่งปันความคิดของคุณกับเรา ผ่านแบบฟอร์มนี้