Niedawna aktualizacja Zasad dla programistów Google Play wyrządziła szkody niektórym aplikacjom, ponieważ programiści są zmuszeni porzucić przydatne funkcje
Google niedawno ogłosił aktualizację zasad dla programistów w Google Play, zasadniczo zmieniając sposób obsługi uprawnień związanych z SMS-ami i rejestrami połączeń. Ta zmiana ograniczyła aplikacje, które mogły prosić o te uprawnienia — tylko aplikacje wybrane jako należące do użytkownika domyślna aplikacja do wykonywania połączeń i wysyłania wiadomości tekstowych będzie miała dostęp do dzienników połączeń i SMS-ów w niewielkiej liczbie wyjątki.
Aktualizacja 1/4/19: Po dodaniu aplikacje do automatyzacji zadań do listy wyjątków z nowych ograniczeń uprawnień do SMS-ów i dziennika połączeń twórca Taskera ma ogłoszony że jego aplikacja została zatwierdzona do korzystania z tych uprawnień. W związku z tym żadna funkcjonalność nie zostanie utracona w Taskerze. Jednak inne aplikacje, takie jak aplikacja Join autorstwa programisty Tasker, są nadal sprawdzane.
Tło
Celem tej zmiany jest ochrona często nieuważnego przeciętnego użytkownika, który udzielał tych uprawnień każdemu i każdą aplikację, która o to poprosiła, niezależnie od tego, czy faktycznie potrzebowała takich uprawnień do swoich reklam funkcjonalność. Po przyznaniu użytkownicy rzadko cofaliby te uprawnienia z aplikacji — w rezultacie wiele aplikacji miało pełny dostęp do historii SMS-ów i rejestru połączeń użytkownika, nawet jeśli nie potrzebowały już dostępu. Wina w tym przypadku spoczywa w równym stopniu na zaniedbanym użytkowniku, jak i na twórcach aplikacji, którzy nadużyli tego zaniedbania, aby uzyskać dostęp do prywatnych informacji. Jednak Google decyduje się chronić użytkowników, zrzucając na programistów ciężar udowodnienia konieczności uzyskania dostępu do tych uprawnień. Tak więc pojawiła się nowa aktualizacja zasad Google, ograniczająca dostęp tylko do aplikacji ustawionych jako domyślne dla Telefonu i funkcjonalności SMS, ograniczając w ten sposób dostęp jedynie do takich aplikacji, z których konsument faktycznie korzystał cele.
Niestety, ta zmiana zasad ma pewne dodatkowe szkody. Programiści oferujący przydatne funkcje wymagające takich uprawnień muszą teraz przesłać plik Formularz deklaracji uprawnień do Google w ciągu 90 dni od zmiany, wyjaśniając, dlaczego ich aplikacja musi korzystać z uprawnień do SMS-ów i/lub rejestru połączeń, aby uzyskać zgodę Google Play. Jeśli jednak Google uzna, że użycie tych uprawnień nie jest niezbędne dla aplikacji, formularz zostanie odrzucony. To z kolei zmusza twórcę aplikacji do usunięcia przydatnej funkcjonalności ze swojej usługi, aby pozostać w Sklepie Play.
Według Google’a:
Powinieneś uzyskiwać dostęp do rejestru połączeń lub uprawnień do SMS-ów, aby włączyć podstawową funkcjonalność aplikacji.
Podstawowa funkcjonalność jest głównym celem aplikacji. Jest to funkcja najlepiej udokumentowana i promowana w opisie aplikacji; żadna inna funkcja nie jest bardziej istotna dla funkcjonalności aplikacji. Jeśli ta funkcja nie jest dostępna, aplikacja jest „uszkodzona” (na przykład nie działa zgodnie z oczekiwaniami użytkownika).
Google zapewnia wyjątkowe scenariusze, w ramach których tymczasowe wyjątki dotyczą aplikacji, które nie są domyślnymi programami do obsługi SMS-ów, telefonu lub Asystenta móc podać, gdy:
- Korzystanie z uprawnień zapewnia użytkownikom podstawową funkcjonalność aplikacji
- Obecnie nie ma alternatywnej metody zapewnienia podstawowej funkcjonalności
Wyjątkowe zastosowania wymienione przez Google obejmują identyfikację dzwoniącego, wykrywanie i blokowanie spamu; podłączone urządzenia towarzyszące; synchronizacja między urządzeniami lub przesyłanie wiadomości SMS lub połączeń; Transakcje finansowe oparte na SMS-ach i działalność z nimi związana; i połączenia proxy (połączenia VoIP). Jeśli aplikacja podlega tym wyjątkom, Google móc udzielenia zgody, co oznacza uznaniową władzę w rękach Google.
Podsumowanie zmian w korzystaniu z uprawnień do SMS-ów i Rejestru połączeń. Źródło: Akademia Google Play na żywo: aktualizacje zasad z października 2018 r. i szczegółowe omówienie najważniejszych problemów
Uderzenie
Jednak to podejście ma swoje wady. Jakakolwiek przypadkowa funkcjonalność wymagająca takiego pozwolenia, pomimo jej użyteczności dla użytkownika i prawdziwych intencji programisty, może zostać od razu odrzucona. Jeśli zatem aplikacja udostępnia kilka funkcji, a jedna z nich wymaga jednego z tych uprawnień, cała aplikacja zostanie odrzucona. W takim przypadku funkcja zostanie sklasyfikowana jako funkcja przypadkowa, a nie podstawowa, pozostawiając programista z niewielką nadzieją na zatwierdzenie w ramach wyjątków (ponieważ wyjątki dotyczą również „podstawowej aplikacji funkcjonalność”).
To samo dzieje się z kilkoma popularnymi aplikacjami, które potrzebowały takich uprawnień do wykonywania określonych zadań część ich „podstawowej funkcjonalności”, ale są to funkcje przypadkowe, gdy patrzy się na nie z bardzo szerokiej i pomniejszonej perspektywy perspektywiczny.
Na przykład, Łatwe dołączenie umożliwia użytkownikowi udostępnianie wiadomości, łączy, plików, powiadomień i zawartości schowka pomiędzy urządzeniami. Wersja Pro aplikacji umożliwia wysyłanie SMS-ów i zarządzanie połączeniami telefonicznymi ze zdalnego urządzenia i jest jednym z powodów, dla których użytkownik rozważa zakup wersji Pro aplikacji. Zgodnie z koniecznością wynikającą z aktualizacji zasad twórca aplikacji wypełnił formularz deklaracji uprawnień i powitano następującą odpowiedzią:
Sprawdziłem Twoją prośbę i odkryłem, że Twoja aplikacja, wysyłanie plików, schowek, SMS-y i inne funkcje — EasyJoin „Pro”, net.easyjoin.pro, nie kwalifikuje się do korzystania z żądanych uprawnień w następujących celach powody:
- Zadeklarowana funkcja {ID dzwoniącego, aplikacje towarzyszące na podłączonym urządzeniu} jest dozwolona; Hjednak uznaliśmy, że jest to niepotrzebne dla podstawowej funkcjonalności Twojej aplikacji.
- Zadeklarowana funkcja {Zainicjuj wiadomość tekstową} jest niedozwolona.
Podobnie twórca Rejestrator rozmów ACR wspomniał w wątku Reddit, że jego aplikacja również został odrzucony (w oparciu o uzasadnienie EasyJoin Pro) z powodu tej zmiany zasad.
Inna popularna aplikacja, Zadanie, również jest pod dużym wpływem tej zmiany i prawdopodobnie straci niektóre ze swoich podstawowych funkcji i atrakcyjności po prostu dlatego, że funkcje dla żądanie pozwolenia na SMS/rejestr połączeń byłoby z szerszej perspektywy funkcją przypadkową, z której Google najwyraźniej korzysta Klasyfikacja. Podstawową funkcjonalnością Taskera byłoby zrobić cokolwiek, dla których funkcją doraźną byłoby inicjowanie lub automatyzowanie wiadomości tekstowej lub połączenia telefonicznego. Niestety, Google nie myśli w ten sam sposób [podkreślenie]:
Sprawdziliśmy Twoją prośbę i stwierdziliśmy, że Twoja aplikacja Tasker, net.dinglisch.android.taskerm, nie kwalifikuje się do korzystania z żądanych uprawnień z następujących powodów:
- Zadeklarowane funkcje „Zainicjuj wiadomość tekstową, Zainicjuj połączenie telefoniczne i Automatyzacja nieograniczonej liczby sytuacji w oparciu o połączenia, SMS-y i MMS-y” nie kwalifikują się do tych uprawnień.
- Zadeklarowane funkcje „Identyfikacja dzwoniącego, wykrywanie i blokowanie spamu oraz synchronizacja i wysyłanie połączeń lub SMS-ów na różnych urządzeniach” są dozwolone; jednak uznaliśmy, że jest to niepotrzebne dla podstawowej funkcjonalności Twojej aplikacji.
- Zadeklarowane funkcje „Identyfikacja dzwoniącego, wykrywanie i blokowanie spamu oraz synchronizacja i wysyłanie połączeń lub SMS-ów na różnych urządzeniach” są dozwolone; jednak nie mogliśmy zweryfikować tej funkcji podczas sprawdzania aplikacji.
- Twoja aplikacja ma domyślną funkcję obsługi, która nie jest zgodna z zadeklarowaną funkcją.
- Domyślne funkcje obsługi są dozwolone; jednak wydaje się, że Twoja aplikacja nie wyświetla monitu o ustawienie domyślnej procedury obsługi przed zażądaniem powiązanych uprawnień zgodnie z wymaganiami zasad.
Końcowym skutkiem takiego odrzucenia jest to, że aplikacja nie będzie widoczna w Sklepie Play. Aby aplikacja znalazła się w Sklepie Play, programista musiałby całkowicie usunąć uprawnienia z aplikacji, usuwając w ten sposób kluczowe funkcje, za które użytkownicy już zapłacili.
Ta zmiana nie pozwoliłaby na korzystanie z niektórych aplikacji, np. aplikacji do nagrywania rozmów. Inne aplikacje musiałyby oddzielić funkcję SMS/połączenia w osobnej aplikacji (aby mieć pewność, że taka funkcja staje się teraz „funkcją podstawową”), a następnie ponownie prześlij obie aplikacje do Google wyjaśnienia. To dużo pracy i nie ma gwarancji, że takie podejście również doprowadzi do zatwierdzenia.
To, czy aplikacja potrzebuje pozwolenia na rejestr połączeń czy SMS-y, ustala Google, a nie programista czy użytkownicy aplikacji. Swoboda dyskrecjonalna przysługująca Google jest bardzo szeroka i nie uwzględnia dobrowolnego i zamierzonego korzystania z aplikacji. To, co uważa się za „podstawową funkcjonalność”, pozostaje otwarte do interpretacji w rękach człowieka przedstawiciela, który ma orzec na podstawie wniosku – pozostawiając drzwi szeroko otwarte dla arbitralnej oceny i uprzedzenia.
Tak, istnieje możliwość, że niektórzy programiści nie byli w stanie odpowiednio wyjaśnić, dlaczego ich aplikacje wymagają tych uprawnień. Trudno jednak nie zauważyć rosnący trend ograniczeń narzucane deweloperom bez odpowiednio jasnych wytycznych co do tego, co jest dopuszczalne, a co nie. Zmuszanie programistów do porzucenia przydatnych funkcji jest stratą dla użytkowników, którzy za nie zapłacili. Ochrona niedbałego, przypadkowego użytkownika jest również zadaniem Google, ale czy taka ochrona powinna odbywać się kosztem świadomego i wyrażającego zgodę użytkownika?
Mamy nadzieję, że Google ponownie zrewiduje swoje wytyczne i określi jaśniejsze kryteria korzystania ze swojej swobody uznania. A Strona śledzenia problemów Google został stworzony, aby udokumentować ten problem.
Cena: 3,49.
4.6.
Cena: za darmo.
3.3.