Articles

Recensioner i appen för dina Android-appar

Saamer Mansoor

Saamer

22 oktober 2020

Detta är en gästblogg av Saamer Mansoor. Saamer är en pysslare och apputvecklare på TheFirstPrototype.com. Du hittar honom på Twitter @saamerm, han skriver på Medium och bidrar till öppen källkod på GitHub.

När Androids Play Core v1.8 släpptes i augusti 2020 lades en fantastisk ny funktion till som gör det möjligt för användare att ge recensioner i appar. Patrick Getzmann har arbetat på en bindning för det här biblioteket under de senaste månaderna och han uppdaterade det nyligen för att stödja v1.8. Detta innebär att du med bara några få rader kod kan få den här funktionen och många andra till din app.

In-app-recensioner förbättrar användarupplevelsen eftersom användarna ogillar att tas utanför sin app. Apple har tillhandahållit den här funktionen sedan iOS 10.3 släpptes i mars 2017, så den var mycket efterlängtad på Android. Låt oss se hur vi kan använda det nya Play Core-biblioteket för att ge den här funktionen till Android-appar.

Screenshots showing In-App Reviews on a Xamarin Android app

Play Core-biblioteket

I början av den här resan hade jag ett nära samarbete med Patrick för att uppdatera PlayCore NuGet-paketet som kan läggas till direkt i ditt Android-projekt. Eftersom API:et är kärnan i Android gjorde jag denna PR till Patricks projekt som ett exempel på hur det kan användas. Det visar hur du skapar ett InAppReviewService.cs i ditt Android-projekt och använder beroendeinjektion för att anropa det.

Hursomhelst nådde James Montemagno mig helt plötsligt för att integrera den här funktionaliteten i sin redan populära Plugin för butiksgranskning. Vi samarbetade med honom för att göra funktionen mer tillgänglig via hans NuGet-bibliotek som redan hade funktionen för iOS. Detta innebär att det nu är enkelt att implementera detta i din app!

Steg 1 – Lägg till NuGet

Det första steget är att lägga till den nyligen uppdaterade v3 av Store Review Plugin NuGet till alla dina projekt. Detta kommer automatiskt att lägga till Play Core-bindningsbiblioteket som ett beroende.

Steg 2 – Ring RequestReview()

Nästan bestämmer du dig för hur du vill begära granskningen. Du kan utlösa den när användaren klickar på en knapp, eller så kan du utlösa den manuellt efter att användaren har använt appen under en viss tid. När du vill begära en granskning kallar du helt enkelt följande kodrad:

await CrossStoreReview.Current.RequestReview(false);

Detta kommer att utlösa granskningsprocessen och operativsystemet kommer att avgöra om den presenteras. Den boolean som skickas in är för att avgöra om du är i testläge, vilket är utmärkt för att testa din app innan du släpper den.

Steg 3 – Valfri ProGuard-konfiguration

Om du släpper din app med alternativet Link All och har ProGuard/r8 aktiverat måste du lägga till följande i proguard-filen i ditt Android-projekt:

-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

Testning av recensioner i appen är knepigt på Android, precis som på iOS. Det finns många begränsningar för att kunna testa din app som du kan se här. Oavsett vad du försöker kommer du inte att kunna se användargränssnittet för granskning i appen när den byggs och distribueras manuellt. Du måste ladda ner appen från Play Store för att kunna se användargränssnittet. Så det enklaste sättet att testa detta är att använda Androids ”Internal App Sharing”.

Och där har du det, du har nu plattformsoberoende in-app-recensioner för dina Xamarin-appar. Innan jag avslutar inlägget ville jag ge alla en liten bakgrundshistoria om hur hela biblioteket och integrationen kom till och jag hoppas att om du delar min berättelse kommer det att uppmuntra dig att bidra till den fantastiska Xamarin-gemenskapen.

Bakgrundshistoria

Det hela började faktiskt med Reddit. Jag prenumererar på Android subreddit genom vilken jag lär mig om de senaste funktionerna. När jag hörde talas om recensioner i appen på Android var jag nyfiken på att implementera det i min app också, men sedan gjorde jag efterforskningar och fick veta att det inte fanns några planer på att ha en officiell bindning för Play Core. Jag hittade dock Patrick Getzmans NuGet som redan hade gjort det tunga arbetet med att skapa en bindning. Vid den tidpunkten var den endast bunden mot Play Core v1.7.2. Eftersom v1.8 behövs för recensioner i appen, så skapade jag helt enkelt ett problem.

En bit tid senare hade jag en deadline som smög sig på, så jag bestämde mig för att skjuta upp och hitta något att göra istället, och det var då jag bestämde mig för att uppdatera det där bindningsbiblioteket till v1.8. Med många musrullningar och tangenttryckningar följde jag den här videon av Jonathan Dick och fick .AAR-filen för v1.8 från Android att fungera efter en del trial and error! Jag skickade in en PR och kunde använda den officiella Android-dokumentationen för att uppdatera exemplet i Pats arkiv. Det var en underbar upplevelse och jag är glad att jag kunde bidra med denna utmärkta funktion.

Jag hoppas att du har funnit det här praktiskt och om du använder det här i dina appar, dela gärna skärmdumpar med mig, eller så kan du bara säga hej!

Saamer Mansoor
Saamer Mansoor

Följ

.