I Huawei Mobile Services, in gergo HMS, sono più diffusi di quanto potreste pensare e, per il momento, rappresentano un’opportunità di emergere per qualunque sviluppatore di app. Proprio così, perché non ci sono solo 10 milioni di motivi che potrebbero convincervi a portare la vostra applicazione nell’ecosistema Huawei ma anche una platea di installazioni potenziale rappresentata da 13 milioni di smartphone solo in Italia, 250 milioni nel mondo.

In questo approfondimento cerchiamo dunque di fare chiarezza su tutto ciò che riguarda gli HMS e il nuovo ecosistema Huawei, esistente in realtà da diversi anni ma che solo adesso, dopo il ban commerciale da parte degli USA verso la casa cinese, emerge prepotentemente come alternativa al mondo di Google (e dei GMS).

HMS: facciamo chiarezza sull’ecosistema Huawei | Video

Per chi non sapesse di cosa stiamo parlando ci riferiamo principalmente agli smartphone Huawei che, da alcuni anni a questa parte, oltre alle applicazioni e ai servizi di Google (come Chrome, YouTube, Google Contatti, ecc..), hanno pre-installati anche applicazioni e servizi complementari di Huawei. Ad esempio troviamo AppGallery che è a tutti gli effetti uno store di applicazioni alternativo al Play Store, Huawei Video che è un’alternativa a Google Play Film e il Huawei ID, una sorta account di riferimento come è l’account Gmail.

Tutto questo “mondo Huawei” viene chiamato Huawei Mobile Services (HMS), e rappresentano un’alternativa sempre più completa ai Google Mobile Services. Se volete approfondire il tema potete consultare il nostro approfondimento su cosa siano gli HMS, funzionalità e compatibilità, adesso ci addentriamo più nel dettaglio su come portare un’app su AppGallery di Huawei.

Come pubblicare un’app Android su Huawei AppGallery

Vantaggi e svantaggi di portare un’app su Huawei AppGallery

In quanto sviluppatore dell’app di TuttoAndroid mi sono posto questa domanda: quali sono i vantaggi di fare questa operazione? Ho approfondito la cosa attraverso l’apposita documentazione (link in calce) e tramite l’assistenza Huawei, giungendo a trovare vantaggi e svantaggi, iniziamo coi primi.

Innanzitutto non è necessario dover riscrivere l’applicazione. Non stiamo infatti sviluppando per un’altra piattaforma (iOS ad esempio, basato su un linguaggio completamente differente) bensì la base, Android, è sempre la stessa, di conseguenza lo sviluppo e la compilazione dell’applicazione non variano.
Un secondo motivo, già accennato in realtà nell’incipit di questo approfondimento, sta nella “facilità” di emergere dato che attualmente lo store di applicazioni Huawei conta 55 mila applicazioni nel mondo (dato di novembre 2019), di cui la maggior parte (44 mila) sviluppate principalmente per il mercato cinese. La concorrenza è dunque bassa ma il numero di potenziali installazioni particolarmente elevata, parliamo infatti di Huawei che conta 13 milioni di smartphone in Italia e 250 milioni nel mondo. Infine, portare un’app su AppGallery oltre che essere completamente gratuito richiede pochissimo tempo e i passaggi non differiscono rispetto a fare la stessa cosa sul Play Store.

Fra gli svantaggi c’è invece il fatto di dover manutenere una release separata dell’applicazione, ma considerando che il linguaggio è lo stesso e il codice al 95% sarà lo stesso, è un contro abbastanza relativo, soprattutto in progetti non particolarmente complessi.

Come portare un’app su AppGallery in 3 passaggi

1. HMS: perché integrarli e perché no

La prima fase consiste nel prendere una decisione riguardo gli HMS. È necessario integrarli oppure no nella nostra App? Partiamo col dire che ad oggi non è obbligatorio integrare gli HMS al posto dei GMS, difatti possiamo caricare un’app sullo store di Huawei che sfrutta i GMS senza problema alcuno.

Abbiamo quindi due strade:

  • possiamo pubblicare l’apk così come lo abbiamo caricato sul Play Store;
  • oppure, se li abbiamo integrati, possiamo sostituire i GMS con gli HMS.

TuttoAndroid ad esempio utilizza i GMS per inviare le notifiche push, per tracciare gli analytics e per gestire le pubblicità, per la precisione con dipendenze firebase.

La strada che abbiamo intrapreso, in questo momento, è la prima, per un motivo molto semplice. Ora come ora tutti gli smartphone Huawei in commercio hanno i GMS, fatta eccezione per Mate 30 Pro, di conseguenza vi è un rischio bassissimo che l’applicazione possa non funzionare. Il difetto di questa scelta è che se un domani sul mercato ci saranno molti più smartphone Huawei con solo gli HMS la nostra app non funzionerà a pieno, ma potremo decidere di aggiornarla in quel secondo momento.

In ogni caso, che voi decidiate per l’una o per l’altra strada, prendete come obbligatorio il fatto di dover cambiare package name alla vostra app aggiungendo in fondo “.huawei“, un passaggio molto semplice che vi dettaglio (ovviamente create un progetto clone per non perdere quello principale che continuerete a usare per il Google Play Store).

Come cambiare il package name di un’app Android:

  • Aprite il vostro IDE di sviluppo e quindi il progetto della vostra App (io personalmente utilizzo Android Studio);
  • Create nel root java della vostra app ( quindi …/src/main/java/) una nuova cartella denominata “huawei”;
  • Copiate e incollate tutti i file Java della vostra app in questa nuova cartella (vi sconsiglio di spostare col drag&drop, spesso non va a buon fine);
  • Eliminate quindi i vecchi file Java al di fuori della cartella “huawei”;
  • Modificate il file AndroidManifest.xml e l’app gradle cambiando il package id (aggiungendo “.huawei” in fondo);
  • Aprite il menu “Build” e fare un giro di “Clean Project” e “Rebuild Project”, se il programma vi dà qualche errore probabilmente c’è qualche riferimento al vecchio package, correggeteli e generate l’APK.

Terminato questo passaggio avrete una release dell’app con package name modificato e pronto per l’AppGallery. Sappiate che quest’ultima è una procedura obbligatoria solo qualora vorrete usare gli HMS ma consiglio comunque di farlo preventivamente anche se pubblicherete un’app con i GMS.

2. Registrare un account sviluppatore Huawei

La seconda fase è quella di registrare un account sviluppatore di Huawei, procedura molto veloce:

  • Recatevi alla pagina dedicata su Huawei.com;
  • Registrate il vostro Huawei ID (per pubblicare un’app dovete registrare un account aziendale) compilando tutti i campi richiesti;
  • Fornite la documentazione necessaria quando richiesta e completate la registrazione;
  • Si avvierà una procedura di verifica che può impiegare fino a un giorno.

Una volta completata la registrazione possiamo passare all’ultima fase.

3. Pubblicare l’app su AppGallery

Anche qui la procedura è molto semplice e, se avete già pubblicato un’applicazione su Android il tutto vi risulterà particolarmente familiare.

  • Recatevi alla pagina dedicata per creare una nuova App su AppGallery sul sito Huawei.com e fate il login col Huawei ID registrato precedentemente;
  • Premete il tasto “New” e compilate le informazioni richieste, ovviamente selezionando APK;
  • A questo punto vi si presenta la maschera di modifica della scheda della vostra App: compilate tutti i dati richiesti caricando anche le creatività come il logo dell’applicazione (216 x 216 pixel) e degli screenshots seguendo le misure previste;
  • Terminato il tutto fate Salva e vi chiederà di caricare l’APK, dopodiché salvate di nuovo e inviate;
  • Anche in questo caso la verifica da parte di Huawei può impiegare qualche ora e, se avrà esito positivo, la vostra applicazione inizierà a essere pubblicata.

Molto semplice, no?

AppGallery e HMS, risorse e cose da sapere

Per il momento ho personalmente reputato non fondamentale integrare gli HMS ma ovviamente ho iniziato a studiare la documentazione e devo dire che Huawei sta facendo un buon lavoro per semplificare la vita agli sviluppatori. Come detto la scelta è basata sulla situazione attuale del mercato dove non sono presenti smartphone senza GMS (ad esclusione di Huawei Mate 30 Pro), tuttavia ben presto li sostituirò con gli HMS per evitare malfunzionamenti su eventuali prossimi dispositivi.

Fin qui tuttavia ho considerato gli HMS come dei sostituti ai GMS, tuttavia ho soprasseduto su un’importante aspetto che per alcune app potrebbe essere importante: utilizzare i Huawei Mobile Services vuol dire a tutti gli effetti sviluppare in maniera ottimizzata per i dispositivi della casa cinese. Questo significa che sono a disposizione Kit di sviluppo ed API specifiche per poter ad esempio sfruttare le NPU dei processori Kirin (i chip dedicati al machine learning e all’intelligenza artificiale) o ancora poter controllare e utilizzare appieno i sensori fotografici. Insomma, l’obiettivo della casa cinese non è solo quello di offrire un ecosistema alternativo bensì anche quello di permette agli sviluppatori di ottimizzare le proprie App e ampliarne le funzionalità potendo sfruttare ogni singolo componente hardware dei dispositivi su cui viene installata.

A tal proposito sul sito ufficiale Huawei Developer sono già presenti delle guide e dei video (in italiano) per integrare i vari kit di sviluppo. Per la precisione abbiamo:

  • il sito Huawei Developer Italia, con tutte le risorse rese disponibili durante il primo evento italiano svoltosi a novembre 2019;
  • il Huawei Coding Lab degli HMS con guide, tutorial, video e developerbook per integrare i servizi Huawei;
  • i vari Kit di sviluppo HMS, per la precisione: Account Kit, Awareness Kit, Drive Kit, DRM Kit, Fido Kit, Game Service Kit, Health Kit, Identity Kit, Location Kit, Map Kit, ML Kit, Nearby service, Panorama Kit, Safety Kit, Scan Kit e Site Kit, ma molti altri sono in arrivo.

Se però avete ancora dubbi sappiate che Huawei fornisce supporto sia dal punto di vista tecnico che di marketing agli sviluppatori che lo richiederanno.