معرف الجهاز الدائم (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 toمدير حزم Swift (Swift Package Manager)
Anchor link toأضف PushwooshKeychain إلى هدفك عند دمج Pushwoosh SDK:
- في Xcode، اذهب إلى File → Add Package Dependencies
- أدخل عنوان URL للحزمة:
https://github.com/Pushwoosh/Pushwoosh-XCFramework - حدد
PushwooshKeychainبالإضافة إلى الأطر المطلوبة
PushwooshFrameworkPushwooshCorePushwooshBridge
PushwooshKeychain— معرف الجهاز الدائمPushwooshLiveActivities— دعم الأنشطة المباشرة (Live Activities)PushwooshVoIP— إشعارات VoIP pushPushwooshForegroundPush— إشعارات مخصصة في الواجهة الأمامية
CocoaPods
Anchor link toأضف المواصفة الفرعية Keychain إلى 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
// Clear the stored HWID from KeychainPushwoosh.Keychain.clearPersistentHWID()@import PushwooshFramework;
// Clear the stored HWID from Keychain[Pushwoosh.Keychain clearPersistentHWID];