Ho creato un'applicazione per la fedeltà e la ricompensa dei clienti che funziona in modo molto semplice. Forniamo caffè ecc. Con un codice QR stampato che i clienti analizzano su ogni visita, utilizzando l'app. Al termine delle visite X, il cliente ha diritto a un premio, ad es. un caffè gratis. Al fine di evitare check in illegittimi, come scattare una foto del codice QR stampato e scansionarlo a casa, forniamo un iBeacon insieme all'etichetta. Pertanto, ogni volta che un utente analizza con l'app il codice QR, l'app tenta di comunicare tramite BLE con il relativo iBeacon. Se viene trovato, il check-in è considerato legittimo.
Ciò ha tuttavia dimostrato di avere molte carenze, le più importanti delle quali sono:
- Le batterie iBeacon si esauriscono abbastanza spesso (dopo alcuni mesi) e nonostante il fatto che i proprietari ricevano SMS per sostituire il batterie, per lo più non disturbano.
- Lo stesso iBeacon è relativamente costoso (circa $ 15 ciascuno) visto che offriamo questo servizio gratuitamente.
Dato che l'incentivo a "hackerare" questa app non è così grande (non vincerai un'auto o una casa sulla spiaggia), ti suggerirei di fare affidamento solo sulla posizione dell'utente, ad esempio per convalidare quella il cliente è davvero al negozio. Tuttavia, vogliamo che questo funzioni anche sulle merci consegnate. Attualmente forniamo anche etichette "mobili" che un fattorino ha con sé e il cliente può eseguire la scansione a casa o al lavoro.
Sto cercando di pensare a un modo più semplice o più economico per convalidare i check-in dei clienti, ma non sono riusciti a farlo.
Qualcuno può suggerire un modo alternativo "abbastanza buono per la maggior parte dei casi" per farlo?
Modifica
Il mio problema principale è che qualcuno può scattare una foto di un codice QR e scansionarlo a casa. Pertanto, mi chiedevo quanto sarebbe difficile controllare l'immagine che la mia app "vede" durante la scansione sul lato server. Quindi, se ho caricato un'immagine presa dalla fotocamera, ogni volta che qualcuno esegue la scansione di un'etichetta e ha un qualche modo "automagico" per determinare se si tratta di una scansione legit o ad es. lo schermo di un altro telefono o una copia stampata della mia etichetta?
Posso stampare qualcosa sulla carta o l'etichetta di plastica che posso identificare durante la scansione che sarebbe difficile da imitare? Per esempio. l'etichetta diventa verde se visualizzata su un angolo specifico?