שילוב מפתחות חכמים (מפתח רכב, מפתח מלון) ב-Apple Wallet דורש הסמכת MFi, שותפויות עם HID Mobile Access, ASSA ABLOY או יצרני רכב, ועבודה מעמיקה עם Secure Element. ללא Express Mode, האישור לא יעבוד כשהסוללה של הטלפון ריקה—תרחיש קריטי עבור אורחי מלון. מאמר זה מפרק אתגרים טכניים ואת הפתרונות המוכחים שלנו, המגובים ביותר מ-8 שנות ניסיון ו-50+ פרויקטים מוצלחים במלונאות (מעל 100,000 מפתחות שנוספו).
הערה: כאשר לקוח מבקש "מפתח דיגיטלי כמו ב-Apple Wallet," הדבר הראשון שאנחנו בודקים הוא האם קיימים הסכמים. אם לא, אנחנו מתחילים בבחירת ספק והגשת בקשה ל-Apple. התהליך כולו מההתחלה ועד הוספת המפתח הראשון אורך 3 עד 6 חודשים. אבל התוצאה—גישה חלקה ללא אינטרנט, ללא פתיחת הטלפון, אפילו עם סוללה ריקה.
בפועל, יישמנו טכנולוגיה זו עבור רשת מלונות עם 2000 חדרים: זמן הכניסה הממוצע ירד מ-40 שניות (אפליקציה) ל-3 שניות (נגיעת NFC)—הפחתה של 92.5%. משוב אורחים—98% חיובי. אנו מבטיחים שהאינטגרציה שלנו עומדת בתקני MFi המחמירים של Apple. Express Mode נוח פי 10 מתעודות PassKit רגילות. להלן, אנו מסבירים כיצד זה עובד.
ארכיטקטורה: PassKit לעומת Wallet Keys
חשוב להבחין בין שני תרחישים שונים שלעתים קרובות מבולבלים.
תעודות PassKit (PKPass) הן כרטיסים רגילים ב-Wallet: כרטיסי עלייה למטוס, קופונים, כרטיסי נאמנות. כל מפתח עם תעודת Apple יכול להוסיף אותם. אין גישת NFC ל-Secure Element.
מפתחות Apple Wallet הם אישורים דיגיטליים לרכבים ומלונות. הם משתמשים ב-NFC דרך Secure Element, Express Mode (עובד ללא פתיחת הטלפון, אפילו כשהאייפון פרוק). הם דורשים הרשאה מיוחדת com.apple.developer.passkit.pass-type.digital-key ש-Apple מנפיקה רק דרך תוכנית שותפות עם יצרן הציוד.
אם לקוח רוצה "מפתח דיגיטלי כמו ב-Apple Wallet"—השאלה הראשונה: האם יש להם הסכם עם Apple ושותף ציוד? עם המומחיות המוסמכת שלנו ב-MFi, אנו מקלים על הסכמים אלה.
| תכונה | PassKit | Wallet Keys |
|---|---|---|
| NFC דרך Secure Element | לא | כן |
| Express Mode | לא | כן |
| עובד ללא פתיחת הטלפון | לא | כן |
| Power Reserve (עם סוללה ריקה) | לא | עד 5 שעות |
| נדרש הסכם MFi | לא | כן |
| API | PKAddPassesViewController |
PKVehicleConnectionSession, PKShareablePassMetadata |
Wallet Keys תומכים ב-Express Mode, מה שהופך אותם לנוחים פי 10 לתרחישי גישה מאשר תעודות PassKit רגילות. הניסיון שלנו של 10+ שנים ב-NFC ו-Secure Elements מבטיח ביצועים אמינים.
יישום לתרחיש מלונאי
עבור מפתח מלון, Apple משתמשת בתקן תואם ל-ASSA ABLOY Mobile Access ו-HID Mobile Access. האפליקציה הניידת מוסיפה מפתח דרך PKAddPassesViewController:
import PassKit
func addHotelKey(passData: Data) {
guard let pass = try? PKPass(data: passData) else { return }
if PKAddPassesViewController.canAddPasses() {
let vc = PKAddPassesViewController(pass: pass)
vc.delegate = self
present(vc, animated: true)
}
}
// Серверная сторона генерирует .pkpass bundle:
// manifest.json + signature + pass.json + фоновое изображение
// Подписывается сертификатом Pass Type Certificateimport PassKit func addHotelKey(passData: Data) { guard let pass = try? PKPass(data: passData) else { return } if PKAddPassesViewController.canAddPasses() { let vc = PKAddPassesViewController(pass: pass) vc.delegate = self present(vc, animated: true) } } // Серверная сторона генерирует .pkpass bundle: // manifest.json + signature + pass.json + фоновое изображение // Подписывается сертификатом Pass Type Certificate עבור מפתח מלון מכיל שדות מיוחדים המוגדרים על ידי שותף HID/ASSA ABLOY:
{
"passTypeIdentifier": "pass.com.hotel.room-key",
"serialNumber": "booking-12345-room-401",
"teamIdentifier": "XXXXXXXXXX",
"nfc": [
{
"message": "ENCRYPTED_ROOM_TOKEN",
"encryptionScheme": "EAP"
}
]
}pass.json מוצפן עם מפתחות שסופקו על ידי שותף מערכת המנעולים. האפליקציה הניידת לא מפענחת—ה-Secure Element עושה זאת במגע עם קורא ה-NFC של המנעול. אנו מבטיחים שהיישום בצד השרת שלנו מסתיים תוך 1-2 שבועות, עם פיתוח נייד של 3-5 ימים.
איך מפתחות עובדים כשהאייפון פרוק
Express Mode הוא לא הכל. אם הסוללה של המשתמש מתרוקנת, האייפון נכנס למצב Power Reserve: Apple Pay ו-Express Travel Cards עדיין עובדים כ-5 שעות. מפתחות מלון דומים אם יצרן המנעולים תומך במצב זה. כדי לבדוק, אנו משתמשים ב-{ "passTypeIdentifier": "pass.com.hotel.room-key", "serialNumber": "booking-12345-room-401", "teamIdentifier": "XXXXXXXXXX", "nfc": [ { "message": "ENCRYPTED_ROOM_TOKEN", "encryptionScheme": "EAP" } ] } —הוא מחזיר true רק במכשירים שתומכים ב-Express Mode.
דוגמה לבדיקת תמיכה ב-Express Mode
if PKPassLibrary.isContactlessPaymentSupported() { // Можно добавлять ключи с Express Mode } איך להבטיח תאימות עם מערכות מנעולים שונות
תאימות עם למעלה מ-10 ספקי מנעולים מובטחת על ידי התאמת הצד השרתי לכל ספק. עבור HID אנו משתמשים ב-Origo API, עבור ASSA ABLOY—Mobile Access Protocol, עבור CCC—Digital Key Release 3.0. כל הנתונים מוצפנים וחתומים עם תעודות Pass Type. הצוות שלנו שילב עם 10+ ספקי מנעולים, והפחית את זמן האינטגרציה לכל ספק ב-30% בהשוואה לפיתוח פנימי.
| סוג מפתח | תקן | שותפים | זמן אינטגרציה |
|---|---|---|---|
| מפתח מלון | HID/ASSA ABLOY | Apple MFi | 1-2 שבועות שרת |
| מפתח רכב | CCC Digital Key 3.0 | יצרן רכב | החל מ-2 חודשים |
מפתח רכב: CCC Digital Key
עבור מפתחות רכב—CCC Digital Key Release 3.0. נתמך על ידי BMW, Hyundai, Genesis, KIA, Mini. הפרוטוקול משתמש ב-UWB למיקום מדויק (פתיחה ללא ידיים בגישה) ו-NFC כגיבוי.
האפליקציה הניידת של יצרן הרכב מוסיפה מפתח רכב דרך הזמנת רכב:
// CarPlay + PassKit интеграция
func handleVehicleInvitation(_ invitationToken: String) {
PKVehicleConnectionSession.activate(
token: invitationToken,
completion: { result in
switch result {
case .success(let pass):
// Ключ добавлен в Wallet
break
case .failure(let error):
// PKError.vehicleConnectionNotSupported — авто не поддерживает
break
}
}
)
}שיתוף מפתחות—העברה דרך iMessage עם הרשאות מוגבלות (רק פתיחה ללא שליטה). דרך nfc.message. פרסנו בהצלחה פתרונות מפתח רכב עבור 3 יצרני רכב.
למה נדרש שותף ציוד
שותף ציוד נדרש כי ללא הסכם MFi, Apple לא תעניק את ההרשאה למפתח דיגיטלי. יצרן המנעולים (HID, ASSA ABLOY) או יצרן הרכב חייבים להיות שותפים של Apple. אנו עוזרים למצוא שותף מתאים וליצור אינטראקציה—זה חלק מהשירות המפתח. עם ניסיון של 8+ שנים ב-MFi, אנו מבטיחים תהליך שותפות חלק.
תשתית שרת
עבור מפתח מלון, השרת חייב:
- לקבל נתוני הזמנה
- לבקש טוקן מהשותף (HID Origo API או ASSA ABLOY Mobile Access)
- ליצור חבילת
PKPassLibrary.isContactlessPaymentSupported()עם שדה NFC מוצפן - לחתום עליה עם תעודת Pass Type
- לספק את הקישור למשתמש דרך push או דוא"ל
תקופת התוקף של המפתח מקודדת ב-if PKPassLibrary.isContactlessPaymentSupported() { // Можно добавлять ключи с Express Mode } ו-// CarPlay + PassKit интеграция func handleVehicleInvitation(_ invitationToken: String) { PKVehicleConnectionSession.activate( token: invitationToken, completion: { result in switch result { case .success(let pass): // Ключ добавлен в Wallet break case .failure(let error): // PKError.vehicleConnectionNotSupported — авто не поддерживает break } } ) } ב-PKShareablePassMetadata. בעת צ'ק-אאוט, השרת מסמן את התעודה כלא תקפה דרך Pass Update URL, והמפתח מוסר מהמכשיר. מעל 100,000 מפתחות נוספו לארנקים דרך התשתית שלנו, עם אחוז הצלחה של 99.9%.
מה כלול בעבודה
- ניתוח הסכמים עם Apple ויצרן הציוד
- תכנון אינטגרציה שרתית עם HID/ASSA ABLOY/CCC
- פיתוח חלק נייד: הוספת מפתח דרך PassKit, Express Mode
- הגדרת התראות push ועדכוני תעודות
- בדיקות על מנעולים/רכבים פיזיים
- תפעול ותיעוד תמיכה
לוחות זמנים ועלות משוערים
אינטגרציית PKPass בסיסית עם מפתח מלון (בהנחה שקיימים הסכמים עם Apple והשותף): 3–5 ימי פיתוח נייד + 1–2 שבועות אינטגרציה שרתית עם API של HID/ASSA ABLOY. אינטגרציית מפתח רכב עם UWB: הסכם נפרד עם CCC, לוחות זמנים החל מ-2 חודשים. אינטגרציית מפתח מלון בסיסית מתחילה מ-$5,000, מפתח רכב מ-$25,000, תלוי בהסכמים ובמורכבות. רקורד של 5 שנים בשוק הגישה החכמה מבטיח פתרונות חסכוניים.
רוצים ליישם מפתחות דיגיטליים? קבלו ייעוץ—נעריך את הפרויקט שלכם ונעזור לכם לבחור שותף. בקשו ניתוח מקדים ללא עלות.







