Prejsť na obsah
Aplikácie a UX7 min čítania

Vernostná karta v Apple a Google Wallet

Stiahnuť si aplikáciu kvôli káve je pre mnohých hostí prekážka. Peňaženku má v telefóne prednastavenú. Rozdiel je v tom, čo peňaženka dovolí a čo nie, a Apple aj Google to majú každý inak. To sa hodí vedieť skôr, než sa karta navrhne.

Prečo peňaženka a nie aplikácia

Vernostný program stojí a padá s tým, či si ho zákazník vôbec zaobstará. Inštalácia aplikácie je pri kaviarni alebo kaderníctve prekážka, na ktorej veľa ľudí skončí. Kartu možno v bežnom scenári pridať do podporovanej peňaženky bez inštalácie samostatnej aplikácie. Konkrétny postup závisí od platformy a spôsobu vydania. Presne na tom stojí Walio.

Cenou je, že pravidlá určuje Apple a Google. A nie sú to rovnaké pravidlá: Apple Wallet a Google Wallet vyzerajú pre zákazníka podobne, technicky však fungujú odlišne. Inak sa karta vydáva, inak sa aktualizuje a inak sa riadia upozornenia. Preto ich nižšie opisujeme každú zvlášť.

Čo karta v peňaženke vie

Na oboch platformách karta zvládne rovnaký základ:

  • Niesť stav: počet pečiatok, body, zostávajúce návštevy. Údaje sa dajú po vydaní meniť na diaľku.
  • Zobraziť QR alebo čiarový kód, ktorý obsluha načíta.
  • Ukázať zákazníkovi zmenu, napríklad nový stav pečiatok. Či a ako sa zmena ohlási upozornením, určuje platforma a nastavenie telefónu.
  • Ponúknuť sa v relevantnej chvíli, napríklad blízko prevádzky. Podmienky sa medzi platformami líšia a závisia od polohy a nastavenia telefónu.
  • Niesť vzhľad značky: farby, logo, popisky polí.

Apple Wallet: podpísaný pas a registrácia zariadenia

Súbor .pkpass podpísaný certifikátom

Karta v Apple Wallet je pas, teda súbor .pkpass. Je to balík s údajmi karty, obrázkami a podpisom. Každý pas musí byť podpísaný certifikátom, ktorý vydavateľ získa cez vývojársky účet u Apple. Bez platného podpisu peňaženka pas neprijme. Certifikát má obmedzenú platnosť, takže jeho obnovu treba strážiť.

Aktualizácie cez registráciu zariadenia

Keď si zákazník pas pridá, telefón sa zaregistruje na serveri vydavateľa. Registrácia znamená, že server vie, ktorým zariadeniam má dať vedieť o zmene. Pri zmene server pošle telefónu signál, telefón si stiahne novú verziu pasu a peňaženka ju zobrazí. Server teda musí bežať a odpovedať, kým sú karty v obehu.

Relevantné zobrazenie

Pas môže niesť informáciu, kedy alebo kde je užitočný, napríklad miesto prevádzky. Systém ho potom môže zákazníkovi ponúknuť. Je to ponuka systému, nie zaručené zobrazenie: o tom, či a kedy sa pas objaví, rozhoduje telefón a jeho nastavenie vrátane povolenia polohy.

Upozornenie na zmenu (change message)

Pri poli karty sa dá nastaviť text zmeny, tzv. changeMessage. Keď sa hodnota poľa zmení, telefón zákazníkovi zobrazí upozornenie, napríklad „Máte 7 pečiatok z 10“. Apple odporúča používať changeMessage pre časovo dôležité zmeny a výslovne uvádza, že nemá slúžiť na marketingové ani iné nekritické správy. Zákazník si navyše môže upozornenia pri konkrétnej karte vypnúť.

Google Wallet: triedy, objekty a API

Trieda a objekt

Google Wallet pracuje s dvoma vrstvami. Trieda (Class) opisuje program ako celok: názov, logo a údaje spoločné pre všetky karty. Objekt (Object) je konkrétna karta jedného zákazníka s jeho stavom a kódom. K jednej triede tak patria karty všetkých zákazníkov programu.

Účet vydavateľa, service account a JWT

Google používa iný model vydávania než Apple. Vydavateľ má u Googlu účet vydavateľa (issuer) a jeho server sa ku Google Wallet API prihlasuje cez service account, teda technický účet určený na komunikáciu medzi servermi. Karta sa zákazníkovi odovzdáva cez odkaz alebo tlačidlo „Pridať do Google Wallet“, ktoré nesie podpísaný JWT. To je krátky podpísaný token s údajmi karty, podľa ktorého Google kartu uloží. Nepodpisuje sa teda súbor certifikátom ako pri Apple, ale požiadavky a tokeny kľúčom service accountu.

Aktualizácia objektu

Zmena stavu karty znamená úpravu objektu cez API. Server vydavateľa neposiela nič priamo do telefónu, mení dáta u Googlu a Google kartu v peňaženke aktualizuje. Čo platí pre celý program, sa upravuje v triede.

Správy a podmienky upozornení

K objektu alebo triede sa dá pridať správa (message), ktorá sa zobrazí pri karte. Aby o nej zákazník dostal upozornenie, musí mať príslušné notifikácie povolené. Pri funkciách viazaných na blízkosť prevádzky sú podmienky spojené s polohou a nastavením telefónu.

Čo naopak nevie a prekvapí to

Čo sa dá po vydaní zmeniť a čo nie

Pri Apple Wallet sa podľa dokumentácie dá aktualizovať obsah pasu, zatiaľ čo niektoré identifikačné údaje zostávajú nemenné. Konkrétne obmedzenia závisia od typu pasu a spôsobu aktualizácie. Typ pasu zároveň určuje, koľko polí sa kam zmestí. Pri Google Wallet sa mení objekt konkrétnej karty a rozloženie určuje hlavne trieda. Rozloženie preto navrhujeme s rezervou, aby neskorší údaj nemusel nič vytlačiť.

Aktualizácie karty nie sú marketingové správy

Aktualizácie karty vedia zákazníkovi ukázať zmenu, napríklad nový stav pečiatok alebo blížiacu sa odmenu. Nie sú to však marketingové push správy. Apple ich určuje pre časovo dôležité zmeny, pri Google musí mať používateľ notifikácie povolené a na oboch platformách si ich zákazník môže vypnúť. Kto kartu používa ako reklamný kanál, riskuje, že zákazník upozornenia vypne alebo kartu zmaže.

Karta nie je doklad totožnosti

Kód na karte sa dá odfotiť a poslať ďalej. Pri bodoch to nevadí. Pri vstupenke alebo odmene vyššej hodnoty musí systém strážiť, že sa uplatní raz, a to sa rieši na serveri, nie na karte.

Vernostná karta Walio v Apple Wallet
Predná strana nesie počet pečiatok, podmienku odmeny a kód pre obsluhu. Počet polí je daný typom pasu, obsah sa aktualizuje na diaľku.

Kto karty vydáva, ten určuje cenu

Vydávanie kariet si podnik môže zabezpečiť cez službu tretej strany, ktorá zaňho podpisuje pasy pre Apple Wallet a komunikuje s Google Wallet API. Takéto služby si obvykle účtujú za každú vydanú kartu alebo za aktívneho zákazníka mesačne. Pri programe s tisíckami kariet je to položka, ktorá rastie práve vtedy, keď sa programu darí.

Walio podpisuje pasy na vlastnej infraštruktúre, nie cez cudziu službu. Vydávanie kariet tak máme pod kontrolou sami a na nás zostáva aj stráženie certifikátov. Je to práca navyše, ale predvídateľná.

Terminál je polovica úspechu

Karta je len jedna strana. Druhá je obsluha, ktorá má troch ľudí v rade. Keď načítanie kódu a pripísanie bodu trvá viac než dve ťuknutia alebo sa čaká na server, obsluha to po týždni prestane robiť a program umrie. Terminál musí fungovať aj pri slabom signáli a nesmie vyžadovať pokladničný systém.

Toto je vec, ktorá sa nedá vyriešiť neskôr. Keď sa navrhuje karta, navrhuje sa zároveň to, čo robí človek za barom. Rovnako pristupujeme ku všetkým aplikáciám na mieru: začína sa u toho, kto s tým bude pracovať denne.

Časté otázky

Môže podnik zákazníkom posielať správy cez kartu?

Aktualizácie karty vedia zákazníkovi ukázať zmenu, napríklad nový stav pečiatok, ale nie sú to marketingové push správy. Apple ich určuje pre časovo dôležité zmeny, nie pre marketing. Pri Google Wallet musí mať zákazník príslušné notifikácie povolené. Na oboch platformách si ich zákazník môže vypnúť.

Platí sa za každú vydanú kartu?

Pri službách, ktoré vydávanie kariet poskytujú ako službu, obvykle áno, buď za vydanú kartu, alebo za aktívneho zákazníka mesačne. Pri vlastnej infraštruktúre tento poplatok odpadá a zostáva správa certifikátov a prevádzka servera.

Je karta v peňaženke bezpečná ako doklad?

Kód na karte sa dá odfotiť a poslať ďalej, takže sama osebe nepreukazuje totožnosť. Jednorazové uplatnenie odmeny alebo vstupenky musí strážiť server, nie karta.

AutorOndřej Koziorek

Founder a creative director NKZ. V nkz.dev vedie zadanie, UX/UI a smerovanie digitálnych produktov.

Ďalej zo zápiskov
E-shopy

Rezervačný systém: hotový, alebo vlastný

Kedy stačí hotový systém, kedy doplnok a kedy začína dávať zmysel vlastné riešenie.

Prečítať
Aplikácie a UX

Kedy sa oplatí vlastný portál?

Signály, že zákazníkom už nestačí e-mail, a ako začať malou verziou portálu.

Prečítať
Služba

Aplikácie na mieru

Interné systémy a portály, ktoré nahradia tabuľky a e-maily.

Viac o službe