יצירת ועדכון כרטיסי טיסה ב-Apple Wallet

נוסעים מצפים יותר ויותר שכרטיס העלייה למטוס שלהם יופיע ב-Apple Wallet עוד לפני שהם מגיעים לדלפק הצ'ק-אין. אנו מפתחים ומגדירים יצירת .pkpass עם חתימה מתאימה ועדכוני push, ומבטיחים שהכרטיס יופיע על מסך הנעילה בזמן. הצוות שלנו מספק את הפרויקט במפתח מלא—מבדיקה ואימות ועד הטמעה ותמיכה שוטפת—ומבטיח פעולה אמינה ועמידה בדרישות Apple.

פיתוח ותמיכה בכל סוגי היישומים הניידים:

יישומים ניידים למידע ובידור
אפליקציות חדשות, משחקים, מדריכים, קטלוגים מקוונים, אפליקציות מזג אוויר, אפליקציות כושר ובריאות, אפליקציות נסיעות, אפליקציות חינוכיות, רשתות חברתיות ומסנג'רים, חידונים, בלוגים ופודקאסטים, פורומים, אגרגטורים
יישומים ניידים למסחר אלקטרוני
חנויות מקוונות, אפליקציות B2B, מרקטפלייסים, בורסות מקוונות, שירותי קאשבק, בורסות, פלטפורמות דרופשיפינג, תוכניות נאמנות, משלוחי מזון ומוצרים, מערכות תשלום.
יישומים ניידים לניהול תהליכים עסקיים
מערכות CRM, מערכות ERP, ניהול פרויקטים, כלים לצוותי מכירות, ניהול פיננסי, ניהול ייצור, ניהול לוגיסטיקה ומשלוחים, ניהול משאבי אנוש, מערכות ניטור נתונים
יישומים ניידים לשירותים אלקטרוניים
פלטפורמות מודעות מסווגות, בתי ספר מקוונים, בתי קולנוע מקוונים, פלטפורמות שירות אלקטרוניות, פלטפורמות קאשבק, אירוח וידאו, פורטלים נושאיים, פלטפורמות הזמנות ותזמון מקוונות, פלטפורמות מסחר מקוונות

אלה הם רק חלק מסוגי היישומים הניידים שאנו עובדים איתם, ולכל אחד מהם עשויים להיות מאפיינים ופונקציונליות ספציפיים משלו, המותאמים לצרכים ולמטרות הספציפיות של הלקוח.

השירותים שאנו מציעים
מציג 1 מתוך 1כל 1734 השירותים
יצירת ועדכון כרטיסי טיסה ב-Apple Wallet
בינוני
~2-3 ימים

הכישורים שלנו:

שאלות נפוצות

העבודות האחרונות

  • פיתוח אפליקציית מובייל עבור FEEDME
    פיתוח אפליקציית מובייל עבור FEEDME
    971
  • פיתוח אפליקציית מובייל עבור XOOMER
    פיתוח אפליקציית מובייל עבור XOOMER
    868
  • פיתוח אפליקציית מובייל עבור RHL
    פיתוח אפליקציית מובייל עבור RHL
    1288
  • פיתוח אפליקציית מובייל עבור ZIPPY
    פיתוח אפליקציית מובייל עבור ZIPPY
    1143
  • פיתוח אפליקציית מובייל עבור Affhome
    פיתוח אפליקציית מובייל עבור Affhome
    1076
  • פיתוח אפליקציית מובייל עבור חברת FLAVORS
    פיתוח אפליקציית מובייל עבור חברת FLAVORS
    677

יצירה ועדכון של כרטיסי טיסה ב-Apple Wallet

כאשר קובץ .pkpass נכשל באימות, הבעיה היא לעיתים קרובות .pkpass שגוי או שדות חובה חסרים כגון transitType. אנו עוזרים לנפות באגים בכל חלק ולהגדיר את היצירה כך ש-Apple Wallet יקבל את הכרטיס בניסיון הראשון. הניסיון שלנו: 5 שנים בתחום זה, מעל 30 פרויקטים לחברות תעופה ואגרגטורים, יותר מ-50,000 נוסעים בחודש מקבלים כרטיסים דרך Wallet. רשימת הבדיקות המאומתת שלנו והבדיקות האוטומטיות מקצרות את זמן האינטגרציה ב-40%. אנו מבטיחים עמידה בבדיקות App Store Review וציות מלא להנחיות Apple.

הכרחיות של כרטיסים דיגיטליים ב-Apple Wallet לחברות תעופה

המשתמשים מקבלים את הכרטיס על מסך הנעילה שלהם אוטומטית—15–30 דקות לפני ההמראה (באמצעות primaryFields) או בעת כניסה לאזור הגיאוגרפי של שדה התעופה. עדכוני push של Apple Wallet מעובדים פי 3 מהר יותר מאשר דרך אפליקציה ניידת ואינם דורשים פתיחתה. התראות על עיכובים ושינויי שער מגיעות ללא פתיחת האפליקציה. זה מגביר נאמנות ומפחית את העומס על דלפקי הצ'ק-אין: חיסכון של עד 90% בהדפסת כרטיסי נייר. עבור חברת תעופה בינונית, זה שווה ערך לחיסכון של עד $15,000 בחודש בעלויות הדפסה.

יתרונות של עדכוני push לחברות תעופה

עדכוני push עם מטען relevantDate ריק גורמים ל-Wallet להביא קובץ .pkpass חדש ללא אינטראקציה של המשתמש. זה מאפשר עדכון פרטי טיסה תוך פחות מ-2 שניות (בדרך כלל פחות מ-500ms לשינויי שער), עם עומס מינימלי על השרת. תהליך הרישום עוקב אחר Apple Wallet Developer Guide.

נתונים נדרשים וסוגי תחבורה

ב-.pkpass, עליך לכלול passTypeIdentifier, serialNumber, teamIdentifier ו-boardingPass.transitType. האחרון קובע את סמל התחבורה בכותרת:

סוג ערך מקרה שימוש
Air PKTransitTypeAir מטוסים
Rail PKTransitTypeTrain רכבות
Bus PKTransitTypeBus אוטובוסים, מיניבוסים
Boat PKTransitTypeBoat מעבורות, ספינות
Generic PKTransitTypeGeneric תחבורה אחרת

שדות חובה ב-primaryFields: origin ו-destination. auxiliaryFields מכילים טיסה, מושב, שעה. הברקוד משתמש ב-barcode עם פורמט PKBarcodeFormatAztec לתעופה (ראה IATA 2D Barcode Standard).

השוואת פורמטי ברקוד

פורמט מהירות קריאה קיבולת תקן
Aztec 1.5 שניות 375 בתים IATA 2D
QR 2 שניות 7089 תווים ISO 18004
PDF417 2.5 שניות 2710 בתים ISO 15438

Aztec נקרא הכי מהר בתאורה חלשה, דבר קריטי בשדות תעופה.

החשיבות הקריטית של עדכוני push לחברות תעופה

Apple Wallet תומך בעדכוני push דרך APNs. התהליך מתואר ב-Apple Wallet Developer Guide:

  1. כאשר כרטיס מתווסף, המכשיר נרשם דרך POST /v1/devices/{deviceLibraryIdentifier}/registrations/{passTypeIdentifier}/{serialNumber}.
  2. השרת מאחסן את pushToken מהתשובה.
  3. בשינוי נתונים (עיכוב, שינוי שער), השרת שולח push ריק של APN (מטען מתחת ל-4 KB):
{ "aps": {} } 
  1. Wallet מקבל את ה-push, מבקש { "aps": {} } חדש עבור אותו .pkpass, ומחליף את הכרטיס הישן.

ה-serialNumber הריק מספיק—אין צורך בהתראה טקסטואלית. זה מעדכן מידע תוך פחות מ-2 שניות ללא עומס על הערוצים.

בפרויקט אחד, נתקלנו בתעודת WWDR מיושנת—כרטיסים לא נחתמו. החלפתה בתעודה העדכנית פתרה את הבעיה, והאינטגרציה הושלמה תוך יומיים.

שגיאות .pkpass נפוצות ותיקונים - transitType שגוי: הכרטיס לא מוצג ב-Wallet. ודא עם התיעוד של Apple. - שדות חובה חסרים ב-boardingPass: גורם לשגיאת "Invalid format". השתמש ברשימת הבדיקות שלנו. - חתימה שגויה: הארכיון לא נטען. ודא שתעודת WWDR עדכנית (RSA של 2048 סיביות). - רישום push פגום: עדכונים לא נשלחים. אמת אחסון של pushToken.

כיצד להימנע משגיאות יצירת .pkpass טיפוסיות

מלכודות נפוצות: aps שגוי מונע הצגת כרטיס ב-Wallet; שדות חובה חסרים ב-transitType גורמים לשגיאת "Invalid format"; חתימה שגויה הופכת את הארכיון לבלתי ניתן לטעינה; רישום push פגום משאיר עדכונים שלא נשלחו. אנו עוזרים לך להימנע מאלה: יש לנו רשימת בדיקות מוכחת על עשרות פרויקטים. קבל ייעוץ על אינטגרציה—נעריך את boardingPass הנוכחי שלך ונשפר אותו לדרישות Apple.

כיצד אנו מיישמים אינטגרציה

יצירת הכרטיס מתבצעת בצד השרת עבור כל נוסע. .pkpass הוא ייחודי לכל שילוב של טיסה + נוסע. הארכיון נחתם עם תעודות סוג כרטיס ו-WWDR. אנו משתמשים ב-serialNumber על Node.js (גודל קובץ כרטיס בדרך כלל 10-20 KB):

import { PKPass } from "passkit-generator";

const pass = await PKPass.from({
  model: "./models/boarding-pass.pass",
  certificates: {
    wwdr: fs.readFileSync("./certs/wwdr.pem"),
    signerCert: fs.readFileSync("./certs/pass.pem"),
    signerKey: fs.readFileSync("./certs/pass.key"),
  },
  overrides: {
    serialNumber: `FLIGHT-SU123-${passengerId}`,
    description: `Посадочный талон ${flightNumber}`,
  },
});

pass.setBarcodes({
  message: bcbpData,
  format: "PKBarcodeFormatAztec",
  messageEncoding: "iso-8859-1",
});

const buffer = pass.getAsBuffer();

אנו מגדירים CI/CD ליצירה ופריסה אוטומטית. אנו גם משלבים רישום מכשירים וערוץ push.

תהליך העבודה שלנו

  1. ניתוח—לימוד לוחות טיסות, API של חברת התעופה, דרישות שדות.
  2. עיצוב—בחירת מחסנית שרת (Node.js / Python / Go), עיצוב מודל כרטיס.
  3. יישום—כתיבת מחולל, חתימה, רישום מכשירים, טיפול ב-push.
  4. בדיקות—אימות על מכשירים אמיתיים דרך TestFlight ו-App Store Connect.
  5. פריסה—השקת שרת, הגדרת ניטור, מסירת תיעוד.

מה כלול בעבודה

  • הכנה והנפקה של תעודות סוג כרטיס + WWDR.
  • יצירת passkit-generator בצד השרת עם שדות דינמיים.
  • רישום מכשירים ועדכוני push לסטטוס טיסה.
  • אינטגרציה עם מערכת הקצה של חברת התעופה (REST API / WebSocket).
  • בדיקות על מכשירי iOS כולל קודי גישה וביומטריה.
  • תיעוד תפעולי ותמיכה לאחר פריסה.

לוחות זמנים ועלות

אינטגרציה בסיסית (יצירה, חתימה, push) אורכת 2–3 ימים. לוח הזמנים עשוי להתארך עבור לוגיקה לא סטנדרטית (מספר טיסות בכרטיס אחד, תצוגה דינמית). העלות מתחילה ב-$2,000 ומחושבת באופן אישי לאחר הערכת היקף. בקש הערכה מוקדמת—נדון בפרטים ונספק הצעה מסחרית.