public class MyFirebaseMessagingService extends FirebaseMessagingService {
private final String TAG = "MyFirebaseMessaging";
private Context mContext;
public static final String CHANNEL_ID = "NotifChannel";
public static final String CHANNEL_ID_ANN = "AnnouncementChannel";
public static final String CHANNEL_ID_MSG = "MsgChannel";
private String fcm_token = "";
public static List<MessageClass> messages = new ArrayList<>();
Location location;
private Vibrator audioVibe;
private VibrationEffect audioVibeEffect;
public MyFirebaseMessagingService() {
}
@Override
public void onCreate() {
super.onCreate();
}
public MyFirebaseMessagingService(Context context) {
Log.i(TAG, "MyFirebaseMessagingService started");
mContext = context;
}
@RequiresApi(api = Build.VERSION_CODES.O)
@Override
public void onMessageReceived(RemoteMessage remoteMessage) {
Log.d(TAG, "onMessageReceived called: " + remoteMessage.getData());
Map<String, String> messageReceivedData = remoteMessage.getData();
if (messageReceivedData.size() > 0) {
//TODO: handle new group added notif and subscribe for the group. Also add group to group list
// sendMessageNotification(messageReceivedData);
}
if (remoteMessage.getNotification() != null) {
Log.d(TAG, "Message Notification Body: " + remoteMessage.getNotification().getBody());
}
}
@Override
public void onNewToken(String token) {
Log.d(TAG, "New token generated: " + token);
fcm_token = token;
// sendRegistrationToServer(token, FirebaseInstanceId.getInstance().getId());
}
public boolean isGooglePlayServicesAvailable(Context context) {
GoogleApiAvailability googleApiAvailability = GoogleApiAvailability.getInstance();
int resultCode = googleApiAvailability.isGooglePlayServicesAvailable(context);
return resultCode == ConnectionResult.SUCCESS;
}
Кроме того, добавьте следующее в свой build.gradle уровня приложения:
implementation 'com.google.firebase:firebase-messaging:20.1.2'
Добавьте следующее в свой манифест:
<service
android:name=".MyFirebaseMessagingService"
android:exported="false">
После кода выше, Вы также должны добавить свой проект в свою учетную запись fcm. После добавления проекта вы получите файл google-services. json. Сохраните этот файл на C:\Users\{xyz}\AndroidStudioProjects\{your_app_name}\app\
Вы сможете получать все уведомления в методе обратного вызова onMessageReceived
.