Rozwijam aplikację na Androida. W którym wszystko działa dobrze. Moja aplikacja jest gotowa do uruchomienia. Ale muszę zaimplementować jeszcze jedną funkcję. Muszę wyświetlić wyskakujące okienko, które zawiera
Rate It
i Remind me later
Tutaj, jeśli jakikolwiek użytkownik oceni aplikację na rynku, wyskakujące okienko nie zniknie. Szukałem w Google i znalazłem jeden link . Dzięki temu rozumiem, że nie można tego wiedzieć. Potrzebuję więc sugestii.
Czy ktoś spotkał się wcześniej z tą sytuacją? Jeśli tak, czy jest na to jakieś rozwiązanie lub alternatywa?
android
google-play
Naveen
źródło
źródło
Mar 15 2011
. więc prawie 20 miesięcy minęło. Myślę, że ktoś ma rozwiązanie lub alternatywę dla moich wymagań. to jest yi opublikowane tutaj.implementation 'com.vorlonsoft:androidrate:1.0.3'
)Odpowiedzi:
Do pewnego stopnia wdrożyłem to jakiś czas temu. Niemożliwe jest ustalenie, czy użytkownik ocenił aplikację, aby zapobiec sytuacji, w której oceny staną się walutą (niektórzy programiści mogą dodać opcję „Oceń tę aplikację i uzyskaj to a tak w aplikacji za darmo”).
Klasa, którą napisałem, zawiera trzy przyciski i konfiguruje okno dialogowe tak, aby było wyświetlane dopiero po uruchomieniu aplikacji
n
(użytkownicy mają większą szansę na ocenę aplikacji, jeśli używali jej trochę wcześniej. Większość z nich jest mało prawdopodobna) nawet wiedzieć, co robi przy pierwszym uruchomieniu):Integracja klasy jest tak prosta, jak dodanie:
Do Twojej aktywności. Wystarczy dodać je do jednego działania w całej aplikacji.
źródło
apprater
okno dialogowe tylko po uwierzytelnieniu i zmianie wshared preference
celu uwzględnienia adresu e-mail google w plikukey
.AppRater.app_launched(this);
w mojejonCreate()
MainActivity. Zmieniłem również minimalną wymaganą liczbę uruchomień na 2. Ale nie widzę okna dialogowego po 2 uruchomieniach aplikacji. Czy możesz mi pomóc? Dzięki!Context.MODE_PRIVATE
-context.getSharedPreferences("apprater", Context.MODE_PRIVATE);
Mój przy użyciu DialogFragment:
Następnie użyj go w
onCreate()
swojej głównej FragmentActivity:źródło
setPositiveButton
isetNegativeButton
, zapisuje się do wspólnych preferencji przy użyciu zatwierdzenia, ale jeśli używasz zastosuj, który jest asynchroniczny i zachowa odniesienie do działania do czasu jego ukończenia, a zaraz po tym wywoła odrzucenie. Dismiss spróbuje zniszczyć fragment, ale nie może, ponieważ działanie jest utrzymywane / używane przez proces stosowania wspólnych preferencji (nosiłem to, ponieważ AndroidStudio poprosi użytkownika o zmianę zatwierdzenia do zastosowania, nie rób tego, chyba że ty użyj innej logiki)Myślę, że to, co próbujesz zrobić, prawdopodobnie przynosi efekt przeciwny do zamierzonego.
Ułatwienie ludziom oceniania aplikacji jest ogólnie dobrym pomysłem, ponieważ większość ludzi, którzy się tym przejmują, bo im się podoba. Krążą pogłoski, że liczba ocen wpływa na ocenę rynkową (chociaż widzę niewiele dowodów na to). Namawianie użytkowników do oceniania - za pomocą ekranów nag - może spowodować, że ludzie będą usuwać nagę przez wystawienie złej oceny.
Dodanie możliwości bezpośredniego oceniania aplikacji spowodowało niewielki spadek liczbowych ocen mojej bezpłatnej wersji i niewielki wzrost płatnej aplikacji. W przypadku bezpłatnej aplikacji moje 4 gwiazdki wzrosły bardziej niż moje 5 gwiazdek, ponieważ ludzie, którzy uważali moją aplikację za dobrą, ale nie świetną, również ją oceniali. Zmiana wyniosła około -0,2. W przypadku opłaconych reszta wynosiła około +0,1. Powinienem usunąć go z darmowej wersji, z wyjątkiem tego, że lubię otrzymywać wiele komentarzy.
Umieściłem przycisk oceny na ekranie ustawień (preferencji), gdzie nie wpływa to na normalne działanie. Wciąż podniosło to mój wskaźnik oceny o współczynnik 4 lub 5. Nie mam wątpliwości, że gdybym próbował nakłonić użytkowników do wystawienia oceny, wielu użytkowników wystawiało mi złe oceny w proteście.
źródło
AndroidRate to biblioteka, która pomaga promować aplikację na Androida, zachęcając użytkowników do oceny aplikacji po kilku dniach jej używania.
Moduł Gradle:
MainActivity.java:
Domyślne warunki wyświetlania okna dialogowego stawki są następujące:
AppRate#setInstallDays(byte)
.AppRate#setLaunchTimes(byte)
.AppRate#setRemindInterval(byte)
.AppRate#setRemindLaunchTimes(byte)
.setShowLaterButton(boolean)
.DialogInterface.OnClickListener#onClick
zostanie przekazana w argumencie funkcjionClickButton
.AppRate#setDebug(boolean)
zapewni, że żądanie oceny będzie wyświetlane przy każdym uruchomieniu aplikacji. Ta funkcja jest przeznaczona tylko do programowania! .Opcjonalne wymagania dotyczące zdarzeń niestandardowych do wyświetlania okna dialogowego
Możesz dodać dodatkowe opcjonalne wymagania dotyczące wyświetlania okna dialogowego. Każde wymaganie można dodać / przywołać jako niepowtarzalny ciąg. Możesz ustawić minimalną liczbę dla każdego takiego zdarzenia (np. „Action_performed” 3 razy, „button_clicked” 5 razy itd.)
Wyczyść flagę pokazującą okno dialogowe
Jeśli chcesz ponownie wyświetlić okno dialogowe, zadzwoń
AppRate#clearAgreeShowDialog()
.Po naciśnięciu przycisku
zadzwoń
AppRate#showRateDialog(Activity)
.Ustaw widok niestandardowy
zadzwoń
AppRate#setView(View)
.Konkretny temat
Możesz użyć określonego motywu, aby rozwinąć okno dialogowe.
Niestandardowe okno dialogowe
Jeśli chcesz użyć własnych etykiet okien dialogowych, zastąp zasoby ciągów xml w aplikacji.
Sprawdź, czy Google Play jest dostępny
źródło
Skorzystaj z tej biblioteki, to jest proste i łatwe .. https://github.com/hotchemi/Android-Rate
dodając zależność ...
źródło
implementation 'com.vorlonsoft:androidrate:1.0.3'
). Jest aktualne.To rozwiązanie jest bardzo podobne do przedstawionych powyżej. Jedyna różnica polega na tym, że będziesz mógł opóźnić wyświetlenie monitu w oknie dialogowym oceny o uruchomienie i dni. Jeśli przycisk przypomnij mi później zostanie naciśnięty, opóźnię wyskakujące okienko o 3 dni i 10 uruchomień. To samo dotyczy tych, którzy wybrali ocenę, ale opóźnienia są dłuższe (aby nie przeszkadzać użytkownikowi tak szybko, gdyby faktycznie ocenił aplikację. Można to zmienić, aby nie była ponownie wyświetlana, wtedy będziesz musiał zmień kod na swój własny). Mam nadzieję, że to komuś pomoże!
Przyciski mają określony kolor i tło. Tło jest takie, jak pokazano w tym pliku xml:
źródło: metoda „Oceń moją aplikację” w systemie Android
źródło
Używam tego prostego rozwiązania. Możesz po prostu dodać tę bibliotekę za pomocą gradle: https://github.com/fernandodev/easy-rating-dialog
źródło
Jak widać z innego wpisu, do którego masz link, aplikacja nie może dowiedzieć się, czy użytkownik zostawił recenzję, czy nie. I nie bez powodu.
Pomyśl o tym, jeśli aplikacja może stwierdzić, czy użytkownik zostawił recenzję, czy nie, programista może ograniczyć niektóre funkcje, które zostaną odblokowane tylko wtedy, gdy użytkownik wystawi ocenę 5/5. To spowodowałoby, że inni użytkownicy Google Play nie ufaliby recenzjom i podważyłoby system ocen.
Alternatywne rozwiązania, które widziałem, polegają na tym, że aplikacja przypomina użytkownikowi o przesłaniu oceny za każdym razem, gdy aplikacja jest otwierana określoną liczbę razy lub w określonym interwale. Na przykład przy każdym dziesiątym otwarciu aplikacji poproś użytkownika o wystawienie oceny i podanie przycisku „już zrobione” i „przypomnij mi później”. Kontynuuj wyświetlanie tej wiadomości, jeśli użytkownik wybrał przypomnienie mu / jej później. Niektórzy inni programiści aplikacji wyświetlają ten komunikat z rosnącym interwałem (np. 5, 10, 15 godzin po otwarciu aplikacji), ponieważ jeśli użytkownik nie zostawił recenzji, na przykład setnego otwarcia aplikacji, jest to prawdopodobnie prawdopodobnie nie opuści żadnego.
To rozwiązanie nie jest idealne, ale myślę, że jest najlepsze, jakie masz na razie. Prowadzi to do zaufania użytkownika, ale zdaj sobie sprawę, że alternatywa oznaczałaby potencjalnie gorsze wrażenia dla wszystkich na rynku aplikacji.
źródło
Rozwiązanie Java i Kotlin (interfejs API przeglądu w aplikacji od Google w 2020 r.):
Najpierw w swoim
build.gradle(app)
pliku dodaj następujące zależności (pełna konfiguracja tutaj )Dodaj tę metodę do
Activity
:Nazwij to jak każdą inną metodę:
Kod Kotlin można znaleźć tutaj
źródło
Wersja Kotlin odpowiedzi Raghava Sooda
Rater.kt
Zoptymalizowana odpowiedź
Rater.kt
Constants.kt
strings.xml
źródło
Uruchomiono nowy system recenzji w aplikacji na Androida, który pozwala programistom prosić o recenzje w Sklepie Play bez opuszczania aplikacji.
Aby sprawdzić wytyczne projektowe i kiedy wyświetlić kartę przeglądu, zapoznaj się z oficjalnym dokumentem
Aby wdrożyć:
Utwórz instancję ReviewManager i zażądaj obiektu ReviewInfo . Obiekt ReviewInfo, który ma zostać wstępnie zapisany w pamięci podręcznej, a następnie może wyzwolić „launchReviewFlow”, aby przedstawić użytkownikowi kartę recenzji.
Kiedy poprosić o sprawdzenie w aplikacji:
Kilka punktów przed przetestowaniem tego:
Podczas testowania nowych funkcjonalności, najczęściej tworzymy nowy projekt, który będzie miał nowy ApplicationId, upewnij się, że podajesz ApplicationId, który jest już wydany i dostępny w sklepie Play.
Jeśli w przeszłości przekazałeś opinię na temat swojej aplikacji, funkcja launchReviewFlow interfejsu API oceny w aplikacji nie wyświetli żadnej karty recenzji . Po prostu wywołuje zdarzenie sukcesu.
Ze względu na ograniczenia przydziału wywołanie metody launchReviewFlow może nie zawsze powodować wyświetlenie okna dialogowego. Nie powinno być powiązane z żadnym zdarzeniem kliknięcia.
źródło
Upewnij się, że zaimplementowano poniższe elementy W przypadku recenzji w aplikacji:
OnCreate
źródło
Wszystkie te biblioteki nie są rozwiązaniem problemu opisanego w tym poście. Te biblioteki po prostu otwierają stronę internetową z aplikacją w Google Play. Zamiast tego ta podstawowa biblioteka Play ma bardziej spójny interfejs.
Więc myślę, że to jest problem, ProGuard: obfscats wystarcza na niektóre klasy https://stackoverflow.com/a/63650212/10117882
źródło