web-dev-qa-db-fra.com

Comment faire une notification Push du serveur vers le mobile Android

Je ne connais rien à la notification Push. j'essaie d'apprendre. mais je ne peux pas comprendre . J'ai une table base de données mysql dans le serveur system.if si des modifications sont apportées dans la table signifie que je veux afficher comme notification dans le mobile Android donnez-moi s'il vous plaît les suggestions

23
naveen

voici une bonne explication à ce sujet:
http://quickblox.com/developers/SimpleSample-messages_users-Android

Les étapes globales sont les suivantes: 

  1. Créer un projet Google API
  2. Activer les notifications Push pour le projet et obtenir une clé API
  3. Obtenir un identifiant d'enregistrement via une application Android (chaque appareil possède un identifiant d'enregistrement pour une application spécifique)
  4. Créez une application serveur pour envoyer vos messages Push sous forme de notifications Push via des serveurs Google par GSM
  5. Créer une notification lorsque vous recevez la notification Push du côté de l'application

Ce n'est pas quelque chose que je peux écrire tous ici par des détails. Utilisez Google pour chaque étape.

4
Amir Ziarati

en fait, récemment, je me sers surtout de la notification push FCM dans ce projet u ...... meilleur lien pour créer la notification push: link

étapes à suivre pour effectuer la notification Push - Didacticiel de messagerie en nuage Firebase pour Android

  1. Accédez à la console firebase et créez un nouveau projet.
  2. Maintenant, mettez le nom de votre application et sélectionnez votre pays.
  3. Maintenant, cliquez sur Ajouter une base de feu à votre application Android.
  4. Maintenant, vous devez entrer le nom de votre paquet de projets et cliquer sur AJOUTER APP.
  5. Après avoir cliqué sur ajouter une application, vous obtiendrez le fichier google-services.json.

Du côté de l'application

  1. Revenons maintenant à votre projet Android. Accédez au dossier de l'application et collez le fichier google-services.json.
  2. Maintenant, allez dans votre fichier build.gradle de niveau racine et ajoutez le code suivant.

    une. Ajouter cette ligne classpath 'com.google.gms: google-services: 3.0.0'

    b. Ajouter cette ligne compiler 'com.google.firebase: firebase-messaging: 9.0.0'

  3. Synchronisez maintenant votre projet.

  4. Créez une classe nommée MyFirebaseInstanceIDService.Java et écrivez le code suivant:

    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 
        }
    }
    
  5. Maintenant, créez MyFirebaseMessagingService.Java et écrivez le code suivant:

    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());
        }
    }
    
  6. Nous devons maintenant définir les services ci-dessus dans notre fichier AndroidManifest.xml. Alors, allez au manifeste et modifiez comme suit.

    <!-- 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>
    

enfin

Accédez à la console Firebase et sélectionnez l'application que vous avez créée . Dans le menu de gauche, sélectionnez notification . Cliquez sur nouveau message . Saisissez le message, sélectionnez un périphérique, collez le jeton que vous avez copié et cliquez sur Envoyer. Le même que je l'ai fait sur la vidéo, et vérifiez votre appareil 

1
Sagar Chorage

Vous pouvez consulter Firebase ... Consultez ce lien

https://firebase.google.com/docs/cloud-messaging/

https://firebase.google.com/docs/notifications/

Ces liens sont suffisants pour en savoir plus sur la notification push

Pour ce qui est de l'envoi de notifications lorsque des données de la base de données sont modifiées, demandez à votre API d'envoyer une requête au serveur FCM afin que les données nécessaires soient transmises aux clients.

1
haider_kazal

La première chose - les notifications Google Push s'appellent GCM (Google Cloud Messaging). Une mauvaise utilisation du nom peut vous conduire à de mauvaises informations ou à un tutoriel. L'autre chose, vous devriez compter sur Developer. Dans ce cas, commencez par le site Web de Google Developers, où vous trouverez la plupart des exemples d'informations de base et de codes. https://developers.google.com/cloud-messaging/ .

Mettre à jour

GCM est obsolète, vous devez utiliser Firebase Cloud Messaging (FCM)

1
Tadas