Cómo hacer la notificación push desde el servidor al móvil Android
No sé nada sobre la notificación push. estoy intentando aprender. Pero no puedo entender Tengo una base de datos de la tabla mysql en system.if del servidor si cualquier cambio se hace en los medios de la tabla quiero exhibir como notificación en el androide móvil por favor déme las sugerencias a mí
- Androide GCM no recibe mensajes en huawei pero está bien en galaxy s2
- Error de autorización de GCM http 401
- ¿Es FCM (firebase cloud messaging) Token para un dispositivo o para una cuenta?
- ¿Debo solicitar un nuevo token cada vez que lance mi aplicación para Android?
- ¿Es posible enviar la Notificación Push desde Java Server Side 3 mes automáticamente entre la fecha de inicio y la fecha de finalización para cada usuario diferente?
- Mensajería en la nube de Google, incapaz de inicializar el receptor
- ¿Cómo implementar múltiples notificaciones push de GCM en una sola aplicación?
- Algunas consultas sobre C2DM en Android
- ¿Hay algún servicio de notificación push en Android como Apple Push Notification Service?
- GCM, ID de registro y manejo de inicio de sesión / cierre de sesión de usuario
- ¿Google Cloud Messaging envía mensajes a dispositivos que están en modo de espera?
- Registro de Google Cloud Messaging AUTHENTICATION_FAILED
- Cómo manejar toque de notificación en Android si se muestra automáticamente por GCM
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 de API
- Obtenga un ID de registro a través de la aplicación 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. Utiliza Google para cada paso.
Puedes ver Firebase … Echa un vistazo a este enlace
https://firebase.google.com/docs/cloud-messaging/
https://firebase.google.com/docs/notifications/
Estos vínculos son suficientes para aprender acerca de la Notificación de Push
Y en cuanto al envío de notificación cuando los datos de 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.
Lo primero: las Notificaciones de Push de Google se denominan GCM (Google Cloud Messaging). El uso erróneo del nombre puede llevarle a información incorrecta o tutorial. El otro hting, usted debe confiar en el revelador. En este caso, empiece desde el sitio web de desarrolladores de Google, donde encontrará la mayoría de información básica y ejemplos de código para empezar. https://developers.google.com/cloud-messaging/ .
En realidad ahora en la actualidad la mayoría de uso para la notificación de empuje FCM dentro de ese proyecto u …. mejor enlace para construir la notación de empuje: enlace
Pasos para realizar la notificación push – Tutorial de Firebase Cloud Messaging para Android
- Vaya a la consola firebase y cree un nuevo proyecto.
- Ahora ponga el nombre de su aplicación y seleccione su país.
- Ahora haz clic en Añadir Firebase a tu aplicación de Android.
- Ahora tienes que ingresar el nombre del paquete de proyectos y hacer clic en ADD APP.
- 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 Android. Ir a la carpeta de la aplicación y pegar el archivo google-services.json
-
Ahora vaya a su archivo build.gradle de nivel raíz y agregue el código siguiente.
a. Añadir esta línea classpath 'com.google.gms: google-services: 3.0.0'
segundo. Añadir esta línea compilar 'com.google.firebase: firebase-messaging: 9.0.0'
-
Ahora sincronice su proyecto.
-
Cree una clase llamada MyFirebaseInstanceIDService.java y escriba el código siguiente:
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 código siguiente:
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 vaya a manifestar y modificar lo siguiente.
<!-- 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
Vaya a la consola firebase y seleccione la aplicación que creó. Desde el menú izquierdo seleccione notificación. Haga clic en el nuevo mensaje. Introduce un mensaje, selecciona un solo dispositivo y pega el token que copiaste y haz clic en enviar. Lo mismo que hice en el video y compruebo tu dispositivo
- ¿Cómo anular los elementos definidos en un proyecto de biblioteca de Android?
- ¿Es crucial para el rendimiento tener ViewHolder como estática en un patrón de ViewHolder?