Photo by Jay on Unsplash

Eccomi nuovamente con un altro dei miei esperimenti.
Questa volta non si trattava solo di studio ma volevo concludere questo progetto per poi aggiungerci qualche pubblicità e vedere se riuscivo a guadagnarci qualcosina.

Il progetto è fatto con Cordova.

Per chi non lo conoscesse: Cordova è un framework per lo sviluppo di app per dispositivi mobili. Apache Cordova permette ai programmatori di creare applicazioni mobili usando CSS3, HTML5 e Javascript invece di affidarsi ad API specifiche delle piattaforme Android, iOS.
-Wikipedia, Apache Cordova

Struttura dei dati

I dati del gioco sono stati presi da un dataminer online. Suddivisi in 3 JSON per aree d'interesse e collegati l'uno con l'altro tramite ID, un po come un database relazionale.

Ho voluto mantenere questa struttura in vista di un futuro aggiornamento del gioco e di ulteriori dataminer. In realtà la scelta si è mostrata sbagliata perché il gioco non ha subito ulteriori aggiornamenti e è morto pochi mesi dopo. Questa però è un'altra storia.

Vi spiego velocemente la struttura del gioco per potervi far capire come sono stati gestiti i JSON.

Pokémon Quest è l'ennesimo spin-off del famosissimo brand. Lo scopo del gioco è completare tutti i livelli che il gioco ci mette a disposizione. Per poter lottare abbiamo bisogno sempre di Pokémon migliori che possono essere attirati tramite Ricette. Le ricette sono composte da diversi ingredienti e attirano diversi Pokémon.
Quindi una wiki di questo gioco dovrebbe mostrare:
-tutti gli ingredienti
-tutte le ricette con ogni possibile combinazione
-quali Pokémon è possibile trovare da ogni ricetta

Quindi in definitiva io avevo a disposizione 3 JSON:

  1. JSON con tutti gli ingredienti. Ogni ingrediente ha un ID univoco.
  2. JSON con tutte le ricette. Ogni ricetta ha un array con ogni tipo di combinazione di ingredienti e, ognuno di questi array, ha un altro array al suo interno con tutti gli ingredienti necessari elencati per ID.
  3. JSON con tutti i Pokémon. Array di oggetti. Ogni oggetto (Pokémon) ha al suo interno un array di IDs di ricette dove è possibile trovarlo.

Il risultato di una delle tante ricette

Scelta delle librerie

Quest'app è stata fatta un po prima rispetto a quando scelsi di rimuovere jQuery da tutti i miei progetti. Ho utilizzato Materialize per evitare di dovermi preoccupare troppo del frontend e jQuery.

In realtà, mi sono pentito abbastanza in fretta di aver scelto Cordova perché le prestazioni non erano come credevo. Pur avendo fatto un'app snella sui dispositivi un po più datati si notavano rallentamenti pesanti. Senza considerare il fatto che non avevo al mio fianco nessuna utility per adeguare l'app ai nuovi standard (maggiori spazi per i nuovi iPhone, gestures, etc etc).

Il risultato raggiunto però in conclusione è stato un'app abbastanza veloce e soprattutto molto utile. Ho ricevuto molte soddisfazioni su Reddit e anche sui due store (Play Store e App Store).

La fine della storia

Purtroppo non tutte le storie belle hanno un lieto fine.
Questa proprio non lo ha. Anzi.

Una mattina, mi son svegliato (semicit) e il mio account da sviluppatore Google era stato chiuso. La motivazione era semplice quanto incredibile: "Multiaccount".

Secondo Google infatti io avrei creato più di un account sviluppatore (ancora non riesco a capire quale dovrebbe essere il fine di crearne più d'uno) e ciò andava contro le policy. Niente di più, niente di meno. Account chiuso e App rimossa dal mercato.

Ho provato a mandare svariate mail al servizio clienti di Google ma, il bot che gestisce le richieste, respingeva continuamente le mie mail senza neanche prenderle in considerazione. Ho visto che su Reddit si trovano moltissimi altri sviluppatori nella mia stessa situazione, se non peggio.

Questo perché Google, oltre a bannare, avvisa che qualsiasi altro account venga aperto, verrà chiuso. Dopo ovviamente aver riscosso i 25€ di tassa per la creazione 🤮

Ho lasciato tutto su Github perché comunque voglio che quel progettino rimanga visto che comunque a molte persone tornò utile.

Lascio qui di seguito i link per le strane persone che dovessero esserne ancora interessate: