notification notificaciones google con java android push-notification google-cloud-messaging android-studio

java - notificaciones - push notifications android



No se puede resolver el símbolo GCM ''GoogleCloudMessaging'' (6)

GCM que GCM funcione en mi aplicación (para notificar a los usuarios cuando cambian nuestras horas o cuando tenemos promociones), pero sigo recibiendo el error Cannot resolve symbol ''GoogleCloudMessaging'' cuando intento usar la API de Google Cloud Messaging .

Estoy usando el recién lanzado estudio IDE de Android para codificar esto.

Aquí está mi código GcmBroadcastReciever.java:

import android.R; import android.app.Activity; import android.app.NotificationManager; import android.app.PendingIntent; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.widget.Toast; public class GcmBroadcastReceiver extends BroadcastReceiver { static final String TAG = "GCMDemo"; public static final int NOTIFICATION_ID = 1; private NotificationManager mNotificationManager; Context ctx; GoogleCloudMessaging gcm; // I get the error here @Override public void onReceive(Context context, Intent intent) { GoogleCloudMessaging gcm = GoogleCloudMessaging.getInstance(context); //error ctx = context; String messageType = gcm.getMessageType(intent); //cannot resolve method here if (GoogleCloudMessaging.MESSAGE_TYPE_SEND_ERROR.equals(messageType)) { //error sendNotification("Send error: " + intent.getExtras().toString()); } else if (GoogleCloudMessaging.MESSAGE_TYPE_DELETED.equals(messageType)) { //error sendNotification("Deleted messages on server: " + intent.getExtras().toString()); } else { sendNotification("Received: " + intent.getExtras().toString()); } setResultCode(Activity.RESULT_OK); } // Put the GCM message into a notification and post it. private void sendNotification(String msg) { mNotificationManager = (NotificationManager) ctx.getSystemService(Context.NOTIFICATION_SERVICE); PendingIntent contentIntent = PendingIntent.getActivity(ctx, 0, new Intent(ctx, Activity.class), 0); Toast.makeText(ctx, msg, Toast.LENGTH_SHORT).show(); } }


Las siguientes secciones lo guían a través del proceso de configuración de una implementación de GCM. Antes de comenzar, asegúrese de configurar el SDK de servicios de Google Play. Necesita este SDK para usar los métodos de GoogleCloudMessaging . Estrictamente hablando, para lo único que necesita absolutamente esta API es la mensajería ascendente (dispositivo a la nube), pero también ofrece una API de registro optimizada que se recomienda.

¿ Configuró el SDK de servicios de Google Play ?

Tienes que :

  1. Instalar el SDK de servicios de Google Play
  2. Consulte el proyecto <android-sdk>/extras/google/google_play_services/libproject/google-play-services_lib/ library en su proyecto de Android.

Para instalar el SDK de servicios de Google Play para desarrollo:

1. Launch the SDK Manager. - From Eclipse (with ADT), select Window > Android SDK Manager. - On Windows, double-click the SDK Manager.exe file at the root of the Android SDK directory. - On Mac or Linux, open a terminal and navigate to the tools/ directory in the Android SDK, then execute android sdk. 2. Install the Google Play services SDK. Scroll to the bottom of the package list, expand Extras, select Google Play services, and install it. The Google Play services SDK is saved in your Android SDK environment at <android-sdk>/extras/google/google_play_services/. 3. Install a compatible version of the Google APIs platform. If you want to test your app on the emulator, expand the directory for Android 4.2.2 (API 17) or a higher version, select Google APIs, and install it. Then create a new AVD with Google APIs as the platform target. Note: Only Android 4.2.2 and higher versions of the Google APIs platform include Google Play services.


Asegúrese de agregar dependencias en build.gradle> Sync> Build - Clean Project.

Trabajó para mi :)


Intenta limpiar tu proyecto. Trabajó para mi.



Si está en Android Studio, asegúrese de que en su build.gradle tenga:

dependencies { compile ''com.google.android.gms:play-services:7.8.0'' }

y luego ejecuta build .

Eso funcionó para mí.


Si está usando Android Studio:

1) Descargado el SDK de Google Play (usando el Administrador de SDK):

2) No te olvides de hacer clic en el botón "Synch Project with Gradle Files"

Eso hizo el truco para mí.