Long story short anyone who's experiencing the same problem as the title of this post says the original problem that was discussed here. The solution for me was that after closing the app the debug session in Visual Studio is terminated thus also the google service which is responsible for receiving the notifications. Now to start it up again all I had to do is go to my emulator or physical device and start up the app manually not through Visual Studio, after it's fully loaded you can close it down or remove it from the background processes, and now your notifications should be coming once again. This may, however, be individual for every developer since nearly every developer has his own ways of implementing push notifications with Firebase Cloud Messaging.
The vibration and sound problem was solved by creating a channel and setting the vibration to true for that channel, however, don't set the pattern of the vibration there. Enable lights if you'd like to set light color for your notifications, and set the sound that you'd want for your notifications. Like so
void CreateNotificationChannel()
{
//No need for Notification Channel creation on devices under the Oreo version API 26
if (Build.VERSION.SdkInt < BuildVersionCodes.O) return;
var channel = new NotificationChannel(CHANNEL_ID, "Firebase Cloud Messaging Notifications", NotificationImportance.Max)
{
Description = "Firebase Cloud Messages are handled by this channel.",
LightColor = Android.Graphics.Color.OrangeRed,
LockscreenVisibility = NotificationVisibility.Public,
};
channel.EnableLights(true);
channel.EnableVibration(true);
channel.SetSound(
RingtoneManager.GetDefaultUri(RingtoneType.Notification),
new AudioAttributes.Builder().SetUsage(AudioUsageKind.Notification).Build());
manager = (NotificationManager)GetSystemService(NotificationService);
manager.CreateNotificationChannel(channel);
}
Then when building the local notification you have to set the vibration pattern, set the defaults, and set the priority. Like so
NotificationCompat.Builder builder = new NotificationCompat.Builder(this, MainActivity.CHANNEL_ID)
.SetContentIntent(pendingIntent)
.SetContentTitle(Notification.Title)
.SetContentText(Notification.Description)
.SetSmallIcon(Resource.Drawable.icon)
.SetAutoCancel(true)
.SetVibrate(new long[] { 300, 0, 300 })
.SetPriority((int)NotificationPriority.Max)
.SetDefaults((int)NotificationDefaults.All)
And that's pretty much it for this problem.