Table of Contents
Wat is de PassKit API?
Apple . PassKit framework is een uitgebreide set van tools en diensten die iOS-ontwikkelaars in staat stellen om te maken, distribueren en beheren van digitale pass voor Apple Wallet. Een pas kan een instapkaart, evenementticket, loyaliteitskaart, cadeaubon, coupon, of een ander type van geloof dat profiteert van een veilige opslag op een gebruiker . De PassKit API behandelt alles van pass generatie en ondertekening tot real-time updates via push notificaties. Voor luchtvaartmaatschappijen, ticketing platforms en evenementen organisatoren, de PassKit API is de facto de standaard geworden voor het elimineren van papieren documenten en het verstrekken van een wrijvingloze mobiele ervaring.
Elke pas wordt verpakt als een bestand.Een ondertekend ZIP-archief met JSON-gegevens, afbeeldingen en lokalisatiestrings. Wanneer een gebruiker dit bestand opent (via een link, e-mail of in-app download), valideert iOS de handtekening en presenteert de pas in Wallet. Vanaf dat moment, de pas leeft op het apparaat, kan worden bijgewerkt over de lucht, en werkt zelfs wanneer offline voor kritieke informatie zoals barcodes of QR-codes.
Hoe de PassKit API werkt
Bestandsstructuur doorgeven
Een bestand is een standaard ZIP-archief dat ten minste een manifest bevat, een (een lijst van alle bestanden met hun SHA‐1 hashes), en een handtekeningbestand (). Het bestand definieert alle inhoud van het pass: headervelden, primaire velden, secundaire velden, hulpvelden, barcodes en transit type voor instapkaarten. Afbeeldingen (logo, pictogram, achtergrond, strip, etc.) worden geplaatst in subdirectories voor elke weergaveresolutie (bijv. voor 1x, voor 2x, voor 3x).
Ondertekening en distributie
Apple vereist dat alle pasjes cryptografisch worden ondertekend met behulp van een certificaat van de ontwikkelaar (gedaan via het Apple Developer Portal). De handtekening geeft de authenticiteit en integriteit van de pas weer. Eenmaal ondertekend kan de pas worden gehost op een server en verspreid via een URL die Wallet installatie activeert. Als alternatief kunnen pasjes worden verzonden als e-mailbijlagen, ingebed in QR codes, of rechtstreeks vanuit uw app worden geduwd met behulp van de of de moderne .
Real-time updates via push
Een van de meest krachtige functies van PassKit is de mogelijkheid om passes bij te werken na uitgifte. Wanneer een vlucht van poort verandert of een ticket wordt opgewaardeerd, kan de server een stille pushmelding naar het apparaat van de gebruiker sturen. Het apparaat haalt dan een nieuw bestand op van de geregistreerde webservice URL. De pas in Wallet is naadloos vervangen en de gebruiker ziet de bijgewerkte informatie onmiddellijk. Voor instappassen betekent dit gate verandert, stoel herbestemmingen, of vertragingen worden automatisch weergegeven zonder dat de gebruiker een app opnieuw moet openen.
De push update flow vereist een webservice die voldoet aan de Apple .. specificatie: de dienst moet onthullen eindpunten voor het verkrijgen van de nieuwste pas, serienummers, en remote apparaat registratie. Dit wordt meestal geïmplementeerd op uw backend met behulp van Node.js, PHP, Python, of een stack die HTTP verzoeken kan behandelen.
Belangrijkste voordelen voor het beheer van de boardingpas en tickets
Gebruikersgemak en verminderde wrijving
Een instapkaart of -kaart in Apple Wallet bewaren sluit de noodzaak uit om een papieren versie te laten mislukken of een app van derden open te houden. Passen zijn toegankelijk vanaf het vergrendelingsscherm (via geofencing, tijdsgebaseerde melding of handmatige tik) en kunnen snel worden gescand bij poorten, draaibanken of ingangspunten. Voor luchtvaartmaatschappijen versnelt dit instapgedrag. Voor evenementenlocaties vermindert het lijnen bij wils-call-vensters.
Betrouwbare, altijd beschikbare gegevens
Zodra een pas is gedownload, worden de barcode afbeelding en sleutelinformatie lokaal opgeslagen. Zelfs als het apparaat cellulaire verbinding verliest, blijft de pas scannable. Dit is van cruciaal belang in luchthavens, stadions en transithubs waar netwerkdekking kan spottend zijn. De pas verschijnt ook op het vergrendelingsscherm wanneer de relevante datum/tijd nadert, dankzij Apple.
Dynamische updates zonder gebruikersactie
Met push notificatie ..op basis van updates, elke wijziging van de inhoud van de pas kan onmiddellijk worden weerspiegeld. Voor een vlucht vertraging, de geschatte vertrektijd in de pas updates; voor een festival, een etappe verandering verschijnt op het ticket. Gebruikers hoeven niet te vernieuwen of downloaden iets handmatig. Dit vermindert ondersteuningsverzoeken en verbetert de algemene ervaring.
Verbeterde beveiliging en fraudebestrijding
Apple Wallet-passen zijn ondertekend met een certificaat van ontwikkelaar, zodat geknoei kan worden gedetecteerd. Daarnaast kunnen pasjes een uniek serienummer bevatten dat u kunt valideren serverside. Voor belangrijke gebeurtenissen kunt u PassKit combineren met server-side controles. Bijvoorbeeld, ongeldig maken van een pas op afstand als het wordt terugbetaald, dan duwen een bijgewerkte versie met een ..vermijd status. Barcodes kunnen ook periodiek worden hergebruik voorkomen screenshot, hoewel dit vaker voorkomt bij dynamische barcodesystemen.
Pass Creation en ontwerp
Passvelden definiëren
De inhoud van het pass wordt in logische groepen onderverdeeld: headervelden (bijv., .Bordpas), primaire velden (bijv., .Gate A12
Barcodes en QR-codes
Elke pas moet ten minste één barcodeobject bevatten. U kunt [, , of gebruiken (de laatste twee zijn gebruikelijk voor het instappen van de luchtvaartmaatschappij). De barcodewaarde die het ticketnummer of een bevestigingscode in het beeld wordt gecodeerd op het moment van de generatie. Voor verbeterde beveiliging kunt u een eenmalige barcode op de server genereren en deze in de pas opnemen, en vervolgens de update pushen om de oude na het scannen ongeldig te maken. Echter, de meeste luchtvaartmaatschappijen en evenementenplatforms gebruiken een statische passagiers-ID gecombineerd met server-side validatie.
Richtlijnen voor visueel ontwerp
Apple biedt sterke ontwerprichtlijnen om ervoor te zorgen dat passen consistent kijken over apparaten. Het logo moet eenvoudig en gecentreerd zijn, de achtergrond moet de barcode aanvullen, en strip afbeeldingen (optioneel) kan toevoegen branding flair. U moet beelden bij meerdere resoluties (1x, 2x, 3x) voor alle schermdichtheiden. Met de opkomst van grotere iPhones, de pass lay-out past automatisch, maar zorgvuldige testen op verschillende schermgroottes is essentieel.
Voor een praktisch voorbeeld van een goed gestructureerde pas JSON, zie de officiële Apple. Een Pass maken documentatie.
Lokalisatie
Passen kunnen worden gelokaliseerd door taalspecifieke subdirectories (bv. , ) in het pakket op te nemen. De kan verwijzen naar deze gelokaliseerde strings voor veldlabels en waarden. Dit is met name belangrijk voor internationale luchtvaartmaatschappijen en organisatoren van evenementen die ticketinformatie willen presenteren in de voorkeurstaal van de gebruiker.
Verdeelt de pasjes aan gebruikers
Directe toevoeging in het toepassingsgebied
Als uw app het primaire touchpoint is, kunt u een pas programmeren met behulp van (iOS 6+) of de modernere (iOS 12+). Het pass bestand moet eerst worden gedownload van uw server (als NSData) en vervolgens worden gepresenteerd aan de gebruiker. Een standaardstroom: de gebruiker koopt een ticket of checkt in, uw app haalt de ondertekende , en toont een .Voeg toe aan Wallet knop. Tapping het opent Wallet met een voorbeeld, en de gebruiker bevestigt.
E-mail en webdistributie
Voor gebruikers die uw app niet hebben geïnstalleerd (of liever niet gebruiken voor het beheer van de pas), kunt u een link naar het bestand e-mailen of een directe downloadlink plaatsen op een website. Wanneer de gebruiker de link op een iOS-apparaat tikt, opent Safari automatisch Wallet en vraagt om de pas toe te voegen. U kunt ook Universal Links gebruiken om de ervaring te verbeteren. Deze methode wordt veel gebruikt door luchtvaartmaatschappijen die pass links verzenden in boekingsbevestigingsmails.
QR-code of barcodescanning
Een ander patroon is het insluiten van een URL die verwijst naar het bestand in een QR-code. Wanneer het gescand wordt met de Camera-app, toont iOS een Portemonnee-banner bovenaan het scherm. Tapping het voegt de pas toe. Dit is ideaal voor walk-up ticketing op evenementenkassa's of self-service kiosks op luchthavens. Raadpleeg voor meer informatie over deze aanpak de Het toevoegen van een Pass aan Wallet[].
Bijwerken van passes in Real Time
Op push gebaseerde updatearchitectuur
Om automatische updates in te schakelen, moet u een eenvoudige webservice implementeren die Apple Wallet kan bellen. De service moet drie eindpunten blootleggen:
- Haal de nieuwste versie van een pass (genaamd door Wallet wanneer het een pushmelding ontvangt).
- Krijg serienummers voor een apparaat (gebruikt tijdens de eerste registratie en om wijzigingen op te sporen).
- Registratie en uitschrijving (stores apparaat tokens voor push notificaties).
Wanneer een pas moet worden bijgewerkt, stuurt uw server een pushmelding (met behulp van APN's) naar de geregistreerde apparaten. Het apparaat vraagt vervolgens de webservice om een nieuw bestand. Als de pasversie is veranderd, downloadt en vervangt Wallet de oude pas stilletjes. De bijgewerkte inhoud (bijv., nieuwe gate, nieuwe vertrektijd, lege status) is direct zichtbaar voor de gebruiker.
Wanneer moet u updates gebruiken
Vaak voorkomende gevallen van gebruik zijn:
- Wijzigingen, vertragingen of annuleringen van de vluchtpoort
- Wijziging van de gebeurtenis of locatie
- Opwaarderingen of downgrades van de zitplaats
- Ticketvalidatie (bv. scannen bij binnenkomst markeert de pas zoals gebruikt)
- Beveiligingsupdates (bv. een barcode vervangen na een scanpoging)
Merk op dat elke pas alleen kan worden bijgewerkt met hetzelfde certificaat dat gebruikt wordt om het oorspronkelijk te ondertekenen. U kunt het pastype of de organisatie-identificatie na uitgifte niet wijzigen.
Beste praktijken voor de uitvoering
Veiligheid en vertrouwen
- Houd uw ondertekeningscertificaat en privésleutel in een beveiligde serveromgeving, nooit in client-side code.
- Valideer alle binnenkomende push registratieverzoeken om penninginjectie te voorkomen.
- Gebruik HTTPS voor alle interacties tussen uw server en Apple Wallet.
- Overweeg om eenmalig barcodes of kortlevende ID's te gebruiken voor gebeurtenissen met hoge beveiliging.
- Implementeer snelheidsbeperking op uw webservice-eindpunten.
Gebruikerservaring
- Toon de optie
- Gebruik een duidelijke, contrastrijke stijl voor barcodes en zorg ervoor dat ze voldoen aan minimale grootte (ten minste 2 inch breed in printequivalenten).
- Houd de pas eenvoudig: vermijd rommel met onnodige velden. De lock-screen-weergave moet de drie meest kritische stukjes informatie tonen.
- Test geeft echte apparaten met verschillende iOS-versies. Simulator kan passen renderen, maar u kunt push-updates of daadwerkelijk scannen daar niet testen.
Integratie van backend
Uw pass generation service moet idempotent en schaalbaar zijn. Gebruik een database om elke gebruiker te laten in kaart brengen en het serienummer door te geven aan hun evenement of vluchtreservering. Bewaar de apparaat tokens voor push updates. Veel teams maken gebruik van bibliotheken zoals Swift-Protobuf of bestaande server-side helpers (bijv. Passbook PHP library[]) om de .pkpass generatie te verwerken. Ongeacht de taal, altijd valideren dat het gegenereerde ZIP-bestand, wanneer ondertekend, correct opent op een testapparaat.
Testen en vragen
Apple biedt een Wallet Pass Testing tool binnen Xcode die de structuur van uw kan valideren. Gebruik het voordat het verspreiden van pass. Bovendien, test de volledige levenscyclus: toevoeg pass → update via push → verwijder pass. Test met slechte netwerkvoorwaarden om ervoor te zorgen offline barcode display werkt. Simuleer push notificaties met behulp van APNs tools om uw webservice eindpunten correct te controleren.
Voorbeelden en gebruiks cases in de praktijk
Luchtvaartmaatschappijen en luchthavens
Alle grote luchtvaartmaatschappijen.Delta, Verenigde Staten, Emirates, en vele anderen gebruiken PassKit voor instapkaarten. Passagiers kunnen inchecken via de luchtvaartmaatschappijapp, de instapkaart toevoegen aan Wallet, en deze tijdens hun reis gebruiken. Gate-wijzigingen en stoelindelingen worden automatisch geduwd. Sommige luchtvaartmaatschappijen gebruiken de pas zelfs om toegang tot de lounge te tonen of de status van voorrangsinstap. De pas kan ook worden gebruikt voor het valideren van de zakzak bij zelfbedieningszakjes. Volgens de rapporten van de industrie, luchtvaartmaatschappijen die Wallet passen zien lagere check-in tegen verkeer en hogere klanttevredenheid scores.
Event Ticketing
Ticketmaster, Live Nation en vele festivalapps ondersteunen Apple Wallet-passen. Fans kopen een ticket, ontvangen een pas met een roterende QR-code (om fraude te voorkomen), en gebruiken deze voor toegang. De pas kan ook add-on aankopen zoals parkeren of VIP-upgrades omvatten. Tijdens het evenement kunnen organisatoren updates over schemawijzigingen, locatiekaarten of weerwaarschuwingen pushen. Dit vermindert de noodzaak van papieren signage en on-site aankondigingen.
Openbaar vervoer en parkeergelegenheid
City Transit agentschappen (zoals MTA in New York of TfL in Londen) hebben geëxperimenteerd met PassKit voor maandelijkse pass- of single-ride tickets. Sommige parkeerapps gebruiken Wallet Pass als digitale parkeervergunningen die kunnen worden gevalideerd door handhavingsambtenaren. Transit Pass profiteren van dezelfde real-time push mogelijkheden . Bijvoorbeeld, als een treinlijn wordt verstoord, kan de pas alternatieve routes suggereren.
Beperkingen en overwegingen
Terwijl PassKit is krachtig, het heeft beperkingen ontwikkelaars moeten plannen voor:
- iOS alleen: Passen kunnen niet aan Android-apparaten worden toegevoegd. Als uw publiek cross-platform is, moet u een alternatief aanbieden (bijvoorbeeld een PDF of een mobiele ticket op het web).
- Geen Bluetooth- of NFC-interactie (standaard): Passen ondersteunen NFC niet tenzij u een NFC-sessie insluit in een native app. Voor echte tap-and-go moet u Core NFC apart gebruiken.
- Push-updatelatency: Terwijl pushmeldingen snel zijn, moet het apparaat online zijn om de trigger te ontvangen. Als een gebruiker offline is tijdens een update, zal de pas oud blijven totdat ze verbinding maken.
- Geheugen en opslag: Elke pas is klein (meestal 30
- Certificaatvernieuwing: Passondertekeningscertificaten verlopen elk jaar of twee. U moet ervoor zorgen dat uw server het certificaat voor het verstrijken van de geldigheidsduur bijwerkt, anders zullen alle met het oude certificaat ondertekende pasjes niet langer updaten (ze zullen nog steeds werken, maar nieuwe pushes mislukken).
Conclusie
De iOS PassKit API biedt een robuuste, veilige en gebruiksvriendelijke manier om instapkaarten en tickets in Apple Wallet te beheren. Door het aanmaken van pass, ondertekenen, distribueren en real-time push updates te benutten, kunnen ontwikkelaars een naadloze reis- of evenementervaring bieden die gebruikers op de hoogte houdt zonder constante betrokkenheid van de app. De implementatie van PassKit vereist wel zorgvuldige aandacht voor de ontwerp- en beveiligingsrichtlijnen van Apple en een betrouwbare infrastructuur aan de serverzijde, maar de uitbetaling van klanttevredenheid en operationele efficiëntie is aanzienlijk.
Voor verdere lezing, zie Apple