2012-11-02 26 views
22

Google Play services jest Android biblioteki, której celem jest zapewnienie:Usługi Google Play: jak obsługiwać urządzenia bez Google Play?

  • autoryzację OAuth 2.0
  • logowania w Google+
  • Google+ przycisku +1
  • różne inne gadżety

Jeśli I mieli go używać (na przykład dlatego, że chcę logować się przez Google+), co stanie się z użytkownikami, których urządzenie nie ma Google Play? (Nook, Cyanogenmod, China Mobile, stare urządzenia, itp.)

PYTANIE: Czy moja aplikacja stanie się niezgodna z takimi urządzeniami? Czy będzie wyświetlany jako zgodny, ale może się zawiesić lub nie działać?
Czy warto mieć to na uwadze podczas korzystania z usług Google Play?

Odpowiedz

23

Jeśli funkcja z Usług Google Play ma zasadnicze znaczenie dla Twojej aplikacji, nie będzie możliwości uruchomienia aplikacji.

Można sprawdzić, czy usługi są włączone z poziomu aplikacji z GooglePlayServicesUtil.isGooglePlayServicesAvailable(android.content.Context)
która zwraca ConnectionResult.SUCCESS jeśli Odtwórz Services jest dostępny.

Możesz teraz spróbować przekonać użytkownika, aby go zainstalować (jeśli to możliwe) lub wyłączyć funkcję, która korzysta z usługi.

Ponieważ Usługi Google Play nie są funkcjami zadeklarowanymi w manifeście, Twoja aplikacja powinna zostać zainstalowana prawidłowo na dowolnym urządzeniu, ale może później ulec awarii, jeśli używasz interfejsów API bez sprawdzania, czy są one dostępne.

Możesz spróbować zachowania z emulatorem. Po prostu stwórz AVD bez API Google i umieść na nim swoją aplikację.

+1

Ta metoda została przeniesiona i przestarzałe. Zobacz odpowiedź @ Maxi poniżej dla nowej metody: http://stackoverflow.com/a/34943703/1139908 – karl

-2

Jeśli jakoś wymagane do korzystania z usługi Play lub jeśli utrzymanie aplikacji starszego typu sprawia, że ​​połączenia do Play, to polecam tę strategię:

  1. w App początku należy sprawdzić, czy zabaw Services dostępne lub nie
  2. Jeśli nie są dostępne, przekierowanie połączeń do Play Services NOGAPP

NOGAPP to implementacja open source z Google Play.
Brakuje wielu funkcji, ale jest w trakcie aktywnego rozwoju. Wiele funkcji to nadal kody pośredniczące.

W przypadku usług lokalizacyjnych dostępna jest LOST, zastępująca interfejsy API lokalizacji usług Google Play.

Twoja aplikacja może nie działać idealnie, ale przynajmniej jest lepsza niż awarie.

Oczywiście, najlepiej NIE korzystać z Usług Google Play od samego początku.

22
GooglePlayServicesUtil.isGooglePlayServicesAvailable(android.content.Context) 

jest przestarzałe!

Zastosowanie:

GoogleApiAvailability api = GoogleApiAvailability.getInstance(); 
     int code = api.isGooglePlayServicesAvailable(activity); 
     if (code == ConnectionResult.SUCCESS) { 
      // Do Your Stuff Here 
     } else { 
      AlertDialog alertDialog = 
       new AlertDialog.Builder(activity, R.style.AppCompatAlertDialogStyle).setMessage(
         "You need to download Google Play Services in order to use this part of the application") 
         .create(); 
      alertDialog.show(); 
     } 
+0

Nie ma potrzeby tworzenia własnego okna dialogowego, użyj GoogleApiAvailability.getInstance(). GetErrorDialog (activity, code, 0) .show (); – Kyle

Powiązane problemy