ID อุปกรณ์แบบถาวร (Keychain)
โมดูล PushwooshKeychain ช่วยให้มีรหัสประจำตัวอุปกรณ์ (HWID) แบบถาวรซึ่งจะยังคงอยู่แม้จะมีการติดตั้งแอปใหม่ ซึ่งมีประโยชน์สำหรับสถานการณ์การทดสอบและการพัฒนาที่คุณต้องการรักษารหัสประจำตัวอุปกรณ์เดิมไว้แม้ว่าจะติดตั้งแอปใหม่ก็ตาม
วิธีการทำงาน
Anchor link toโดยปกติแล้ว iOS จะสร้าง identifierForVendor (IDFV) ใหม่ทุกครั้งที่มีการติดตั้งแอปใหม่ ซึ่งส่งผลให้มีการลงทะเบียน HWID ใหม่กับ Pushwoosh โมดูล PushwooshKeychain จะจัดเก็บ HWID ไว้ใน iOS Keychain ซึ่งจะยังคงอยู่แม้จะมีการติดตั้งแอปใหม่
การตรวจจับสภาพแวดล้อม
Anchor link toโมดูลจะตรวจจับสภาพแวดล้อมของแอปโดยอัตโนมัติและทำงานแตกต่างกันไป:
| สภาพแวดล้อม | HWID แบบถาวร |
|---|---|
| Simulator | เปิดใช้งาน |
| Debug/Development | เปิดใช้งาน |
| TestFlight | เปิดใช้งาน |
| App Store | ปิดใช้งาน |
การติดตั้ง
Anchor link toSwift Package Manager
Anchor link toเพิ่ม PushwooshKeychain ไปยัง target ของคุณเมื่อทำการผสานรวม Pushwoosh SDK:
- ใน Xcode ไปที่ File → Add Package Dependencies
- ป้อน URL ของ package:
https://github.com/Pushwoosh/Pushwoosh-XCFramework - เลือก
PushwooshKeychainเพิ่มเติมจากเฟรมเวิร์กที่จำเป็น
PushwooshFrameworkPushwooshCorePushwooshBridge
PushwooshKeychain— ID อุปกรณ์แบบถาวรPushwooshLiveActivities— รองรับ Live ActivitiesPushwooshVoIP— VoIP push notificationsPushwooshForegroundPush— การแจ้งเตือนเบื้องหน้าแบบกำหนดเอง
CocoaPods
Anchor link toเพิ่ม Keychain subspec ไปยัง Podfile ของคุณ:
target 'MyApp' do use_frameworks!
pod 'PushwooshXCFramework' pod 'PushwooshXCFramework/PushwooshKeychain'endจากนั้นรัน:
pod installการใช้งาน
Anchor link toไม่จำเป็นต้องเปลี่ยนแปลงโค้ด เมื่อคุณเพิ่มโมดูล PushwooshKeychain ไปยังโปรเจกต์ของคุณแล้ว มันจะทำงานโดยอัตโนมัติ:
- ในการเปิดแอปครั้งแรก โมดูลจะสร้าง HWID และจัดเก็บไว้ใน Keychain
- ในการเปิดแอปครั้งต่อๆ ไป (รวมถึงหลังจากการติดตั้งใหม่) โมดูลจะดึง HWID ที่จัดเก็บไว้
- SDK จะใช้ HWID แบบถาวรนี้ในการลงทะเบียนอุปกรณ์กับ Pushwoosh
กรณีการใช้งาน
Anchor link toโมดูล PushwooshKeychain มีประโยชน์อย่างยิ่งสำหรับ:
- การทดสอบ QA — รักษารหัสประจำตัวอุปกรณ์เดิมไว้ตลอดการติดตั้งแอปหลายครั้งในระหว่างการทดสอบ
- การพัฒนา — รักษาการกำหนดเป้าหมายอุปกรณ์ที่สอดคล้องกันในขณะที่พัฒนาแอปของคุณ
- การทดสอบเบต้าด้วย TestFlight — ติดตามผู้ทดสอบเบต้าคนเดิมตลอดการอัปเดตและการติดตั้งแอปใหม่
การแก้ไขปัญหา
Anchor link toการตรวจสอบว่าโมดูลทำงานอยู่
Anchor link toตรวจสอบบันทึกคอนโซลของ Xcode เมื่อแอปของคุณเปิดขึ้น คุณควรเห็นข้อความบันทึกเช่น:
[Pushwoosh] Detected environment: Debug. Persistent HWID: ENABLEDหรือ
[Pushwoosh] Detected environment: App Store. Persistent HWID: DISABLEDการล้าง HWID ที่จัดเก็บไว้
Anchor link toหากคุณต้องการรีเซ็ต HWID แบบถาวรในระหว่างการพัฒนา คุณสามารถเรียกใช้:
import PushwooshFramework
// ล้าง HWID ที่จัดเก็บไว้ออกจาก KeychainPushwoosh.Keychain.clearPersistentHWID()@import PushwooshFramework;
// ล้าง HWID ที่จัดเก็บไว้ออกจาก Keychain[Pushwoosh.Keychain clearPersistentHWID];