Articles

In-app reviews for your Android apps

Saamer Mansoor

Saamer

October 22nd, 2020

To jest blog gościnny Saamera Mansoora. Saamer jest majsterkowiczem i twórcą aplikacji w TheFirstPrototype.com. Można go znaleźć na Twitterze @saamerm, pisząc na Medium, i przyczyniając się do Open Source na GitHub.

Kiedy Android Play Core v1.8 został wydany w sierpniu 2020 roku, dodał niesamowitą nową funkcję, aby umożliwić użytkownikom dostarczanie recenzji w aplikacji. Patrick Getzmann pracował nad oprawą dla tej biblioteki przez ostatnie kilka miesięcy i niedawno zaktualizował ją do obsługi v1.8. Oznacza to, że z zaledwie kilkoma liniami kodu możesz przynieść tę funkcję i wiele innych do swojej aplikacji.

In-app recenzje poprawiają doświadczenie użytkownika, ponieważ użytkownicy nie lubią być zabierani poza ich aplikację. Apple udostępnił tę funkcję od iOS 10.3 wydanego w marcu 2017 roku, więc była ona bardzo oczekiwana na Androida. Zobaczmy, jak możemy użyć nowej biblioteki Play Core, aby wprowadzić tę funkcję do aplikacji na Androida.

Screenshots showing In-App Reviews on a Xamarin Android app

Biblioteka Play Core

Na początku tej podróży ściśle współpracowałem z Patrickiem, aby zaktualizować pakiet PlayCore NuGet, który można bezpośrednio dodać do projektu Android. Ponieważ API jest rdzeniem Androida, zrobiłem ten PR do projektu Patricka jako przykład, jak z niego korzystać. Pokazuje on, jak utworzyć InAppReviewService.cs w projekcie Androida i użyć wstrzyknięcia zależności, aby go wywołać.

Jednakże znikąd James Montemagno dotarł do mnie w sprawie zintegrowania tej funkcjonalności z jego już popularną wtyczką Store Review Plugin. Współpracowaliśmy z nim, aby uczynić tę funkcję bardziej dostępną poprzez jego bibliotekę NuGet, która już posiadała tę funkcję dla iOS. Oznacza to, że wdrożenie tego w swojej aplikacji jest teraz proste!

Krok 1 – Dodaj NuGet

Pierwszym krokiem jest dodanie nowo zaktualizowanej wersji v3 wtyczki Store Review Plugin NuGet do wszystkich swoich projektów. Spowoduje to automatyczne dodanie biblioteki Play Core bindings jako zależności.

Krok 2 – Zadzwoń RequestReview()

Następnie zdecyduj, w jaki sposób chcesz zażądać przeglądu. Możesz go uruchomić, gdy użytkownik kliknie przycisk, lub możesz go ręcznie uruchomić po tym, jak użytkownik używał aplikacji przez określony czas. Kiedy chcesz zażądać recenzji, po prostu wywołaj następującą linię kodu:

await CrossStoreReview.Current.RequestReview(false);

To uruchomi proces recenzji, a system operacyjny zdecyduje, czy jest ona prezentowana. The boolean passed in is to determine if you are in test mode, which is great for testing your app before releasing.

Krok 3 – Opcjonalna konfiguracja ProGuard

Jeśli wypuszczasz swoją aplikację z opcją Link All i masz włączoną ProGuard/r8, musisz dodać następujące elementy w pliku proguard w swoim projekcie 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.** { *; }

Testowanie

Testowanie recenzji w aplikacji jest trudne na Androidzie, tak samo jak na iOS. Istnieje wiele ograniczeń, aby być w stanie przetestować swoją aplikację, jak można zobaczyć tutaj. Niezależnie od tego, co próbujesz, nie będziesz w stanie zobaczyć interfejsu użytkownika recenzji In-App, gdy jest zbudowany i dystrybuowany ręcznie. Musisz pobrać aplikację ze Sklepu Play, aby zobaczyć UI. Tak więc, najprostszym sposobem na przetestowanie tego jest użycie Android’s „Internal App Sharing”.

I tam masz to, masz teraz międzyplatformowe recenzje in-app dla swoich aplikacji Xamarin. Zanim skończę ten post, chciałem dać wszystkim trochę historii z tyłu, jak cała biblioteka i integracja powstała i mam nadzieję, że dzielenie się moją historią zachęci cię do przyczynienia się do niesamowitej społeczności Xamarin.

Back Story

Wszystko zaczęło się od Reddit faktycznie. Subskrybuję subreddit Android, dzięki któremu dowiaduję się o najnowszych funkcjach. Kiedy usłyszałem o in-app reviews na Androida, byłem ciekawy, jak zaimplementować to w mojej aplikacji też, ale potem badałem i dowiedziałem się, że nie było żadnych planów, aby mieć oficjalną oprawę dla Play Core. Znalazłem jednak NuGet Patricka Getzmana, który już wykonał ciężką pracę przy tworzeniu wiązania. W tym czasie był on tylko związany z Play Core v1.7.2. Ponieważ v1.8 jest wymagany dla recenzji w aplikacji, więc po prostu stworzyłem problem.

Trochę później, miałem termin skradania się, więc zdecydowałem się zwlekać i znaleźć cokolwiek do zrobienia zamiast tego, i to wtedy zdecydowałem się zaktualizować tę bibliotekę wiązań do v1.8. Z wieloma przewinięciami myszki i stuknięciami w klawisze, podążyłem za tym wideo Jonathana Dicka i po kilku próbach i błędach udało mi się uzyskać plik .AAR dla v1.8 z Androida! Zgłosiłem PR i byłem w stanie użyć Oficjalnej dokumentacji Androida do aktualizacji przykładu w repozytorium Pata. To było wspaniałe doświadczenie i cieszę się, że mogłem przyczynić się do powstania tej wspaniałej funkcji.

Mam nadzieję, że to się wam przydało, a jeśli używacie tego w swoich aplikacjach, proszę podzielcie się ze mną zrzutami ekranu, albo po prostu powiedzcie cześć!

Saamer Mansoor
Saamer Mansoor

Śledźcie

.