¿Por qué necesito agregar el archivo de configuración a mi proyecto para configurar gcm correctamente?
Https://developers.google.com/cloud-messaging/android/client He leído este artículo. Y dice que necesito descargar y agregar el archivo de configuración a mi proyecto. Pero no explican, ¿por qué debo hacer esto? ¿No funcionará sin agregar el archivo de configuración?
- Las notificaciones push de GCM causan 502 Bad Gateway
- Administrar el ID de registro de GCM en el servidor
- Utilizar múltiples cuentas de firebase en una sola aplicación de Android para google analytics
- GCM Error de remitente no válido
- Validación de Token GCM
- ¿El mensaje de GCM se está reemplazando?
- GCM con sistema de inicio de sesión
- Tamaño grande del icono de la notificación del empuje de GCM
- Mensaje de error del proyecto de ejemplo de GCM "No se pudo encontrar google-play-services_lib.apk"
- Cómo personalizar la visualización y el tono de la notificación cuando se utiliza GCMReceiver y GcmListenerService
- Tener Servicios de Google (gcm) en un módulo aparte en Android
- Error interno: la clase de receptor de reintento no se ha configurado todavía
- GCM XMPP en Appengine?
También estoy trabajando en múltiples proyectos de GCM, pero todavía uso Eclipse, Eclipse-ADT-plugin y la antigua estructura del proyecto y no he incluido este archivo de configuración en mis proyectos. También estaba confundido al principio y por lo tanto lo probé en un proyecto de Android-Studio con Gradle, pero el archivo de configuración tampoco era necesario.
Así que la respuesta de Rémond podría tener sentido pero para mí todo está funcionando bien (incluyendo la generación de InstanceID-Token y también Topic-Messaging está funcionando).
De hecho, debe funcionar sin agregar el archivo y no necesita este archivo de todos modos.
Si no genera y agrega el archivo de configuración adecuado a su proyecto, entonces sí, no podrá activar la notificación push.
En la versión anterior del SDK, tenía que configurar el SenderID manualmente en su código.
Ahora, con GCM 3, Google ha unificado la forma de configurar Google Service. Su portal ahora le permite configurar todo el servicio que desea habilitar para su aplicación. Una vez hecho esto, genera un archivo de configuración que contiene el parámetro que necesita desde el móvil para usar el servicio.
Sin esa información, y más notablemente el número del proyecto, Google no podrá generar InstanceID que permita recibir empuje con su clave de SenderID y Server API. Esta es una forma de igualar las credenciales del cliente en Android, con las credenciales del servidor en el backend que le permite enviar notificaciones push a su aplicación de Android y su aplicación solamente.
Cómo funciona ?
El archivo de configuración es utilizado por el complemento Android de Gradle de google-services para generar los recursos de configuración necesarios. Esto significa que lo está utilizando si tiene esto en su archivo build.gradle
:
apply plugin: 'com.google.gms.google-services'
A continuación, generará el recurso R.string.gcm_defaultSenderId
que ve en el código de ejemplo de Google GCM:
InstanceID instanceID = InstanceID.getInstance(this); String token = instanceID.getToken(getString(R.string.gcm_defaultSenderId), GoogleCloudMessaging.INSTANCE_ID_SCOPE, null);
Sin embargo, si decide codificar el SenderID en su código y pasarlo al método instanceID.getToken
, entonces de hecho, funcionará. Tener el archivo de configuración de JSON es una conveniencia proporcionada por Google. Es más limpio ya que centraliza todo tu parámetro de Google Service.
El enlace de su aplicación a project / senderID es obligatorio, pero si realmente no le gusta la idea de tener este archivo de configuración de servidor JSON de Google, puede trabajar a su alrededor poniendo los valores necesarios en otro lugar manualmente.
- Mejores prácticas de tamaño de imagen para aplicaciones móviles
- Resaltando el elemento seleccionado en el listview en android