How to do push notification from server to android mobile

后端 未结 4 593
长情又很酷
长情又很酷 2021-01-31 02:26

I don\'t know anything about push notification. I am trying to learn. but I don\'t understand.

I have one table MySQL database in server system. When any changes are mad

4条回答
  •  天涯浪人
    2021-01-31 03:12

    actually now recently mostly use for push notification FCM inside that u project .... best link for build the push notication: link

    steps for perform push notification - Firebase Cloud Messaging Tutorial for Android

    1. Go to firebase console and create a new project.
    2. Now put your app name and select your country.
    3. Now click on Add Firebase to Your Android App.
    4. Now you have to enter your projects package name and click on ADD APP.
    5. After clicking add app you will get google-services.json file.

    On App side

    1. Now come back to your android project. Go to app folder and paste google-services.json file
    2. Now go to your root level build.gradle file and add the following code.

      a. Add this line classpath 'com.google.gms:google-services:3.0.0'

      b. Add this line compile 'com.google.firebase:firebase-messaging:9.0.0'

    3. Now sync your project.

    4. Create a class named MyFirebaseInstanceIDService.java and write the following code:

      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. Now create MyFirebaseMessagingService.java and write the following code:

      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. Now we have to define the above services in our AndroidManifest.xml file. So go to manifest and modify as follows.

      
      
      
      
          
              
                  
      
                  
              
          
      
          
          
              
                  
              
          
      
          
              
                  
              
          
      
      

    finally

    Go to firebase console and select the app you created. From the left menu select notification. Click on new message. Enter message, select single device and paste the token you copied and click on send. The same as I did on the video, and check your device

提交回复
热议问题