¿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?

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.

  • ¿Por qué un permiso de GCM no se concede en Android 6?
  • OnRegistered () de GCMIntentService nunca llamado
  • Android GCM: ¿Por qué a veces falla?
  • Implementación básica de Android GCM
  • Cómo analizar GCM responder a eliminar identificación de registro no válido del servidor con php
  • ¿Cómo sé si mi mensaje de GCM es lo suficientemente pequeño (<4kb) para enviar? (Cómo obtener el tamaño de la cadena?)
  • Comprobar si la aplicación está abierta durante un evento de GCM onMessage?
  • Enviar notificación de carga con nodo-gcm al dispositivo android
  • Parse Push - Cómo abrir automáticamente una actividad sin la acción del usuario al recibir un empujón en Android
  • Después de actualizar los servicios de reproducción de Google a las notificaciones de envío 8.4.0 mostradas por ellos mismos
  • Dispositivo específico que no recibe notificaciones de Google Cloud Messaging
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.