notificaciones - push notifications android studio
Cómo hacer notificaciones push desde el servidor a android mobile (4)
Aquí hay una buena explicación sobre esto:
http://quickblox.com/developers/SimpleSample-messages_users-android
Los pasos generales son:
- Crear un proyecto de API de Google
- Habilitar notificaciones push para el proyecto y obtener una clave API
- Obtenga un ID de registro a través de la aplicación de Android (cada dispositivo tiene un ID de registro para una aplicación específica)
- Cree una aplicación de servidor para enviar sus mensajes push como notificaciones push a través de servidores google por GSM
- Cree una notificación cuando reciba la notificación de inserción en el lado de la aplicación
No es algo que pueda escribir todo aquí por detalles. Usa Google para cada paso.
No sé nada acerca de la notificación push. estoy intentando aprender. pero no puedo entender Tengo una tabla de base de datos mysql en el sistema del servidor. Si se realizan cambios en la tabla significa que quiero que se muestre como notificación en el dispositivo móvil Android. Por favor, dame las sugerencias.
Lo primero: las notificaciones push de Google se llaman GCM (Google Cloud Messaging). El uso incorrecto del nombre puede llevarlo a información incorrecta o tutorial. El otro hting, debe confiar en desarrollador. En este caso, comience desde el sitio web de Google Developers, donde encontrará la mayoría de información básica y ejemplos de código para comenzar. https://developers.google.com/cloud-messaging/ .
Puedes revisar Firebase ... Mira este enlace
https://firebase.google.com/docs/cloud-messaging/
https://firebase.google.com/docs/notifications/
Estos enlaces son suficientes para aprender sobre notificaciones push
Y en cuanto al envío de notificaciones cuando los datos en la base de datos cambian, haga que su API envíe una solicitud al servidor FCM para que entregue los datos necesarios a los clientes.
en realidad ahora recientemente utilizo principalmente para la notificación de inserción FCM dentro de ese proyecto u .... mejor enlace para crear la notificación de inserción: link
pasos para realizar notificaciones push - Tutorial de mensajería en la nube de Firebase para Android
- Ve a la consola firebase y crea un nuevo proyecto.
- Ahora ponga el nombre de su aplicación y seleccione su país.
- Ahora haga clic en Agregar Firebase a su aplicación de Android.
- Ahora tienes que ingresar el nombre del paquete de tus proyectos y hacer clic en AGREGAR APLICACIÓN.
- Después de hacer clic en Agregar aplicación obtendrá el archivo google-services.json.
En el lado de la aplicación
- Ahora vuelve a tu proyecto de Android. Ir a la carpeta de aplicaciones y pegar el archivo google-services.json
Ahora vaya a su archivo build.gradle de nivel raíz y agregue el siguiente código.
a. Agregue esta línea classpath ''com.google.gms: google-services: 3.0.0''
segundo. Agregue esta línea compile ''com.google.firebase: firebase-messaging: 9.0.0''
Ahora sincroniza tu proyecto.
Cree una clase llamada MyFirebaseInstanceIDService.java y escriba el siguiente código:
public class MyFirebaseInstanceIDService extends FirebaseInstanceIdService { private static final String TAG = "MyFirebaseIIDService"; @Override public void onTokenRefresh() { //Getting registration token String refreshedToken = FirebaseInstanceId.getInstance().getToken(); //Displaying token on logcat Log.d(TAG, "Refreshed token: " + refreshedToken); } private void sendRegistrationToServer(String token) { //You can implement this method to store the token on your server //Not required for current project } }
Ahora cree MyFirebaseMessagingService.java y escriba el siguiente código:
import android.app.NotificationManager; import android.app.PendingIntent; import android.content.Context; import android.content.Intent; import android.media.RingtoneManager; import android.net.Uri; import android.support.v4.app.NotificationCompat; import android.util.Log; import com.google.firebase.messaging.FirebaseMessagingService; import com.google.firebase.messaging.RemoteMessage; /** * */ public class MyFirebaseMessagingService extends FirebaseMessagingService { private static final String TAG = "MyFirebaseMsgService"; @Override public void onMessageReceived(RemoteMessage remoteMessage) { //Displaying data in log //It is optional Log.d(TAG, "From: " + remoteMessage.getFrom()); Log.d(TAG, "Notification Message Body: " + remoteMessage.getNotification().getBody()); //Calling method to generate notification sendNotification(remoteMessage.getNotification().getBody()); } //This method is only generating push notification //It is same as we did in earlier posts private void sendNotification(String messageBody) { Intent intent = new Intent(this, MainActivity.class); intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, intent, PendingIntent.FLAG_ONE_SHOT); Uri defaultSoundUri= RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION); NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(this) .setSmallIcon(R.mipmap.ic_launcher) .setContentTitle("Firebase Push Notification") .setContentText(messageBody) .setAutoCancel(true) .setSound(defaultSoundUri) .setContentIntent(pendingIntent); NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); notificationManager.notify(0, notificationBuilder.build()); } }
Ahora tenemos que definir los servicios anteriores en nuestro archivo AndroidManifest.xml. Así que ve a manifestar y modificar de la siguiente manera.
<!-- Adding Internet Permission --> <uses-permission android:name="android.permission.INTERNET"/> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:supportsRtl="true" android:theme="@style/AppTheme"> <activity android:name=".MainActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <!-- Defining Services --> <service android:name=".MyFirebaseMessagingService"> <intent-filter> <action android:name="com.google.firebase.MESSAGING_EVENT"/> </intent-filter> </service> <service android:name=".MyFirebaseInstanceIDService"> <intent-filter> <action android:name="com.google.firebase.INSTANCE_ID_EVENT"/> </intent-filter> </service> </application>
finalmente
Ve a la consola de firebase y selecciona la aplicación que creaste. Desde el menú de la izquierda seleccionar notificación. Haga clic en nuevo mensaje. Ingrese el mensaje, seleccione un solo dispositivo y pegue el token que copió y haga clic en enviar. Lo mismo que hice en el video, y verifica tu dispositivo.