android - services - Servicios de Google Play: ¿Cómo manejar dispositivos que no tienen Google Play?
que pasa si desactivo google play services (3)
Si de alguna manera se requiere que use los Servicios de juego, o si mantiene una aplicación heredada que realiza llamadas a los Servicios de juego, le recomendaría esta estrategia:
- Al iniciar la aplicación, verifique si Play Services está disponible o no.
- Si no está disponible, redirige las llamadas de Play Services a NOGAPP
NOGAPP es una implementación de código abierto de Google Play Services.
Carece de muchas características, pero está en desarrollo activo. Muchas características aún son talones.
Para los servicios de ubicación, hay LOST , un reemplazo directo de las API de ubicación de los servicios de Google Play.
Es posible que tu aplicación no funcione perfectamente, pero al menos es mejor que bloquearse.
Por supuesto, lo mejor es NO usar Google Play Services, desde el principio.
Los servicios de Google Play son una biblioteca de Android cuyo objetivo es proporcionar:
- Autenticación OAuth 2.0
- Inicio de sesión en Google+
- Botón +1 de Google+
- varias otras golosinas
Si lo utilizara (por ejemplo, porque quiero que inicie sesión en Google+), ¿qué pasaría con los usuarios cuyo dispositivo no tiene Google Play? (Nook, Cyanogenmod, China Mobile, dispositivos antiguos, etc.)
PREGUNTA: ¿Mi aplicación se volverá incompatible con tales dispositivos? ¿Se mostrará como compatible pero luego se bloqueará o no funcionará?
¿Hay alguna práctica recomendada para tener esto en cuenta al utilizar los servicios de Google Play?
Si la función de Google Play Services es esencial para su aplicación, no habría manera de hacer que su aplicación funcione.
Puede verificar si los servicios están habilitados desde su aplicación con GooglePlayServicesUtil.isGooglePlayServicesAvailable(android.content.Context)
que devuelve ConnectionResult.SUCCESS
si Play Services está disponible.
Ahora puede intentar convencer al usuario para que lo instale (si es posible) o deshabilitar la función que utiliza el servicio.
Como los servicios de Google Play no son una característica declarada en el manifiesto, su aplicación debería instalarse bien en cualquier dispositivo, pero puede fallar más adelante si está utilizando las API sin verificar si están disponibles.
Puedes probar el comportamiento con el emulador. Simplemente crea un AVD sin las API de Google y coloca tu aplicación en él.
GooglePlayServicesUtil.isGooglePlayServicesAvailable(android.content.Context)
¡es obsoleto!
Utilizar:
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();
}