FireBase Cloud Messaging Not Working
11,549
Try sending message using service api call. It will provide you the response code and response json which may help you to get the reason for not working FCM.
Service call usage answered here- Firebase onMessageReceived not called when app in background
Author by
Yash Jain
Updated on June 08, 2022Comments
-
Yash Jain almost 2 years
I am trying to use FireBase Cloud Messaging. I am receiving a token but its not getting any notifications from console. Here is my Manifest:
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="careerage.jobseeker.app" android:hardwareAccelerated="true" android:versionCode="1" android:versionName="0.0.1"> <uses-sdk android:minSdkVersion="16" android:targetSdkVersion="23" /> <supports-screens android:anyDensity="true" android:largeScreens="true" android:normalScreens="true" android:resizeable="true" android:smallScreens="true" android:xlargeScreens="true" /> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <android:uses-permission android:name="android.permission.READ_PHONE_STATE" /> <android:uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <application android:hardwareAccelerated="true" android:icon="@drawable/icon" android:label="@string/app_name" android:supportsRtl="true"> <activity android:name=".MainActivity" android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale" android:label="@string/activity_name" android:launchMode="singleTop" android:theme="@android:style/Theme.DeviceDefault.NoActionBar" android:windowSoftInputMode="adjustResize"> <intent-filter android:label="@string/launcher_name"> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <service android:name=".TokenService"> <intent-filter> <action android:name="com.google.firebase.INSTANCE_ID_EVENT"/> </intent-filter> </service> <service android:name=".NotificationService"> <intent-filter> <action android:name="com.google.firebase.MESSAGING_EVENT"/> </intent-filter> </service> </application>
And My Code is almost the same as from the sample:
public class NotificationService extends FirebaseMessagingService { 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.drawable.icon) .setContentTitle("Notified") .setContentText(messagebody) .setAutoCancel(true) .setSound(defaultSoundUri) .setContentIntent(pendingIntent); NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); notificationManager.notify(0 , notificationBuilder.build()); } private void sendSnackbar(String messagebody) { Toast.makeText(this,"Notified",Toast.LENGTH_LONG).show(); } @Override public void onMessageReceived(RemoteMessage remoteMessage) { Toast.makeText(this,"Message Received",Toast.LENGTH_LONG).show(); Log.d("Notification Received",remoteMessage.getNotification().getBody()); sendNotification(remoteMessage.getNotification().getBody()); sendSnackbar(remoteMessage.getNotification().getBody()); } }
I checked the Question here Firebase cloud messaging notification not received by device but still it is not working.