Articles

Revisioni in-app per le tue app Android

Saamer Mansoor

Saamer

22 ottobre 2020

Questo è un blog ospite di Saamer Mansoor. Saamer è un armeggiatore e uno sviluppatore di app a TheFirstPrototype.com. Potete trovarlo su Twitter @saamerm, scrivendo su Medium, e contribuendo all’Open Source su GitHub.

Quando il Play Core v1.8 di Android è stato rilasciato nell’agosto 2020, ha aggiunto una nuova caratteristica impressionante per consentire agli utenti di fornire recensioni in-app. Patrick Getzmann ha lavorato su un binding per questa libreria negli ultimi mesi e recentemente lo ha aggiornato per supportare la v1.8. Questo significa che con poche righe di codice potete portare questa funzione e molte altre nella vostra app.

Le recensioni in-app migliorano l’esperienza dell’utente, poiché gli utenti non amano essere portati fuori dalla loro app. Apple ha fornito questa funzione da iOS 10.3 rilasciato nel marzo 2017, quindi era molto attesa su Android. Vediamo come possiamo usare la nuova libreria Play Core per portare questa funzionalità alle app Android.

Screenshots showing In-App Reviews on a Xamarin Android app

Play Core Library

All’inizio di questo viaggio ho lavorato a stretto contatto con Patrick per aggiornare il pacchetto NuGet PlayCore che può essere aggiunto direttamente al vostro progetto Android. Dato che l’API è fondamentale per Android, ho fatto questo PR al progetto di Patrick come esempio di come usarla. Mostra come creare un InAppReviewService.cs nel vostro progetto Android e usare la dependency injection per chiamarlo.

Tuttavia, dal nulla James Montemagno mi ha contattato per integrare questa funzionalità nel suo già popolare Store Review Plugin. Abbiamo collaborato con lui per rendere la funzionalità più accessibile attraverso la sua libreria NuGet che aveva già la funzionalità per iOS. Questo significa che implementare questo nella tua app è ora semplice!

Passo 1 – Aggiungere il NuGet

Il primo passo è quello di aggiungere la nuova v3 aggiornata del NuGet Store Review Plugin a tutti i tuoi progetti. Questo aggiungerà automaticamente la libreria Play Core bindings come dipendenza.

Passo 2 – Chiamare RequestReview()

Poi, decidi come vuoi richiedere la revisione. Potresti attivarla quando l’utente fa clic su un pulsante, o potresti attivarla manualmente dopo che l’utente ha usato l’applicazione per un determinato periodo di tempo. Quando volete richiedere una revisione chiamate semplicemente questa seguente linea di codice:

await CrossStoreReview.Current.RequestReview(false);

Questo attiverà il processo di revisione e il sistema operativo deciderà se viene presentata. Il booleano passato è per determinare se siete in modalità test, che è ottimo per testare la vostra app prima del rilascio.

Passo 3 – Configurazione opzionale di ProGuard

Se stai rilasciando la tua app con l’opzione Link All e hai attivato ProGuard/r8, devi aggiungere quanto segue nel file proguard del tuo progetto Android:

-keep class com.google.android.play.core.common.PlayCoreDialogWrapperActivity-keep class com.google.android.play.core.review.** { *; }-keep class com.google.android.play.core.tasks.** { *; }

Testing

Testare le recensioni in-app è difficile su Android, proprio come su iOS. Ci sono molte limitazioni nel poter testare la tua app, come puoi vedere qui. Indipendentemente da ciò che provi, non sarai in grado di vedere l’interfaccia utente della revisione in-app quando viene costruita e distribuita manualmente. Devi scaricare l’app dal Play Store, per poter vedere l’UI. Quindi, il modo più semplice per testare questo è utilizzando “Internal App Sharing” di Android.

Ed ecco fatto, ora avete recensioni in-app su più piattaforme per le vostre app Xamarin. Prima di concludere il post volevo dare a tutti un po’ di storia di come l’intera libreria e l’integrazione sono nate e spero che condividere la mia storia vi incoraggerà a contribuire alla fantastica comunità Xamarin.

Back Story

Tutto è iniziato con Reddit in realtà. Mi sono iscritto al subreddit di Android attraverso il quale imparo a conoscere le ultime funzionalità. Quando ho sentito parlare delle recensioni in-app su Android, ero curioso di implementarle anche nella mia app, ma poi ho fatto ricerche e ho imparato che non c’erano piani per avere un binding ufficiale per Play Core. Tuttavia, ho trovato NuGet di Patrick Getzman che aveva già fatto il lavoro pesante per creare un binding. Al momento era legato solo a Play Core v1.7.2. Poiché la v1.8 è necessaria per le revisioni in-app, così ho semplicemente creato un problema.

Un po’ di tempo dopo, ho avuto una scadenza strisciante, così ho deciso di procrastinare e trovare qualcosa da fare invece, e questo è quando ho deciso di aggiornare quella libreria di binding alla v1.8. Con molti scorrimenti del mouse e colpi di tasto, ho seguito questo video di Jonathan Dick e ho ottenuto il file .AAR per la v1.8 di Android funzionante dopo alcuni tentativi ed errori! Ho inviato un PR e sono stato in grado di utilizzare la documentazione ufficiale di Android per aggiornare l’esempio nel repository di Pat. È stata un’esperienza meravigliosa e sono contento di aver potuto contribuire a questa eccellente funzione.

Spero che l’abbiate trovata utile, e se la usate nelle vostre applicazioni, per favore condividete gli screenshot con me, o potete semplicemente dire Ciao!

Saamer Mansoor
Saamer Mansoor

Segui