sir gerald i've trying to work with PN with FMC in MAUI with a lot of struggle, would you mind to do a video about it? my struggle is when i try to navegate from the notification to specific page, thanks.
Great as usual! For me the most complicated part of the equation is to separate app-device from user/session. I mean, two or more users are able to login from same device, but you want notifications to appear only if they are aimed to the current logged-in user... that's tricky... A video regarding how to create a new token (only when a different user has logged-in) and send it to the backend or how to control those notifications locally would be awesome! I hope I have explain myself...
In my experience, the best way is to avoid to search for a way to create/refresh a new token. This way could not be done if Apple or Google changes the way the token is assigned. For example, some years ago on the Android platform any developer was able to request a new token at any time, but at the moment it seems to be impossible - at least I cannot figure out a way to do this, without to uninstall and install again the app! I think you should consider the token as always assigned to the device, and focus your code to link it to the user at any login, and remove from the user when you logout. This assignment should be done by a backend, and this information should be stored somewhere in a db/storage account, etc...
Thanks for your input here Simone! I agree with what's been said here :) this is definitely a more advanced scenario though. Hard to get these things right
Can push notification work with intranet? I mean this remote notification work if have access internet like into google service for android user, but in my company have restricted and security network, so the device can't browse or something but can access company site, it's possible to do push notification work in intranet?
Hey Gerald, once again an amazing vid! I'm wondering if you would consider making this a series? Because I would absolutely love that! The bigger picture of perhaps mvvm, or the mainstream of an app (what is ti and how do you prevent it from being overloaded etc). Keep up the amazing work of sharing knowledge in a very understandable way! :)
Hey Thijs, thanks so much! Yeah I'm thinking of doing this more as a way to introduce a topic and then from there dive deeper into a series that goes into it more. What are topics you'd like to learn about?
@@jfversluis I would love that series, your teaching has helped me and my friend in building our first app a lot! We both don't have a background in IT so here's things we encountered that we find it hard to organize the information we find on the internet: - The mainstream of your app. We encounter this while running our app "App has skipped 33 frames, you might be doing too much work on the mainstream". Is it supposed to be 0 or is 33 frames normal? We found that you have to use tasks but what exactly does that do? - Our app runs but it gets a lot of warnings about target frameworks Nugget package x was restored using targetframework y instead of the project framework. What are the consequences of bad framework targeting? It still runs is this really bad for our app? - The general concept of how to work with images in your app We know how to add images to drawable and is them throughout our app but have encountered problems with resolution when testing it on different phones. How do you ad an image in multiple resolutions? Or what is the correct way of working with them? We found info about drawable xxdpi ,hdpi,... But also in the documentation about Imagepacks. It's hard to find what the "normal" way of working with images is Your video's have already been amazing to us and we both agreed that if our app ever releases we're buying you a drink!
Thank you for making this amazing content , i tried before to using notification but i have big problem when i closed the app i don't get new notifications i think it must working in background how can i fix this issue ? thank you again
My pleasure! Have a look at the FAQ which writes something about background services: github.com/CrossGeeks/PushNotificationPlugin/blob/master/docs/FAQ.md
This vas a nice intro to Push Notifications, thank! As we talk about push Notifications, I wonder how would you handle backgrounding with Xamarin/MAUI as in work that is done even when the app is not in the foreground for Android and iOS?
If I want to send a push notification to an Android app, from the Amazon store, running on a Windows 11 machine, which vendor server do I have to talk to? Microsoft, Google, Amazon?
Ah very nice question! Definitely not Microsoft as you can run regular Android apps that have not been adapted. Personally I don’t have experience with the Amazon store but that would be my guess. I think these types of functionalities are tied to the installed Play Store. I tried searching for it but couldn’t find much yet! Please let me know if you figure it out. I would try it myself, but the Amazon Play Store isn’t available here :(
Hey Gerald, Many thanks for doing such great videos. Simply love it. If possible would you be able to take stab at doing a video on UWP (Xamarin Forms) push notifications. Because, Microsoft dev center, Azure notification Hub and App Certificate configurations are bit confusing in MS docs. Thank you.
Thanks Hasitha! I might be doing push notifications for all these platforms but now with Azure Notification Hub, but that will probably be for .NET MAUI. However, the process shouldn't be very different from Xamarin.Forms probably.
Hey Gerald sir, the video is amazing and love to see your videos, sir i need to ask something regarding Google Fit Api integration in xamarin forms for "Steps count and intserting the stepcounts in bucket. I went through many many blogs but i did't got a single reference for the xamarin to integrate this google fit API or Google fit for android.
Thanks so much Abhishek! I see there is a sample here for Xamarin.Android: docs.microsoft.com/en-us/samples/xamarin/monodroid-samples/google-services-fitness-basichistoryapi/ Shouldn't be too hard to get that into Xamarin.Forms :)
I don't think you answered the part as to how the end user device ensures that it receives the notification. I'd very much like it if you explained the whole process in terms of bytes being set from one computer/device program to another on a particular IP address then things might be clearer - at least for me. Take the Ring door bell as an example. You configure this by connecting the code running on the physical doorbell to a home router. The doorbell has an IP address on the router. If you're sensible, you make it a static IP address - why? well presumably, the doorbell program contacts the remote Ring server somewhere and updates some record that associates the router IP and local (LAN) IP with the some unique code for that exact doorbell. (Possibly the IMEI number). How often this contacting the server database is done I don't know. Certainly the doorbell's local LAN IP could change (on a router DHCP reset) and the ISP might change the router's IP address. (But really the doorbell/Ring server shouldn't care about the doorbell's address since, presumably the doorbell code knows what IP address the Ring's server is listening on.) When the doorbell button is pressed, the code in the doorbell must send some packet of information off to the server with IMEI (or whatever) identification. The server then looks up who it should send a notification to. The notification engine (FCM for example) then sends the notification.... but how does it know what IP/device ID to send this to? The target device (your phone) could be anywhere in the world and could certainly have moved network since the last time a notification was received. I can see no other way of getting this to work other than the client phone updating it's location/address (to the FCM server) on a frequent basis. Is this done through your google (android) account? If so, how often does it do this update? I ask this, because you'll see plenty of frustrated people asking why they are not getting notifications from doorbell button presses. The answer is, usually, to make sure the Ring app is always running (presumably - pinging the app server which is telling the FCM server about the whereabouts of the client's phone.) But android has an annoying habit of disregarding all attempts to keep applications running even in background. Besides, notifications *should* work even if the app isn't running. Ring seems to be particularly bad. Leave your home *without* opening the Ring app on your phone, drive about swapping from one mobile phone/cell tower to another, then come home and reconnect to your home wifi, press the doorbell as a test and you have a very good chance that you wont get a notification (immediately). I'm sort of guessing that this isn't Ring's fault. The doorbell action certainly requires very fast notifications - a feature not necessarily as important as other notifications like new emails. But fast notifications requires the phone's location on the network to be constantly up to date in the FCM database.
Unfortunately the answer is pretty simple; you have no guarantee that the push notification is received. You’ll send it off to the servers of Apple/Google/Microsoft and they will take care of it. As for your example is hard to say where sending the notification goes wrong. The push notification system itself is pretty reliable. But thespian notification has to be triggered somewhere. If that goes wrong somewhere between pressing the doorbell, in houtblokken network, from your home network to the internet or somewhere in the network of Ring… impossible to say.
@@ranajitkoley9427 Not sure about the last part. I guess that depends on your implementation. But people would need to start the app to get the notification, yes
Nice vid. It set up the context of push notifications really well. Thanks for making it.
Thank you for the video. This is a great overview. It helped me for sure.
Glad it was helpful!
Wow!! thanks for making more content on Push Notifications.
Thank you again for making a lot of amazing contents.
Thank you so much!
sir gerald i've trying to work with PN with FMC in MAUI with a lot of struggle, would you mind to do a video about it? my struggle is when i try to navegate from the notification to specific page, thanks.
Great as usual! For me the most complicated part of the equation is to separate app-device from user/session. I mean, two or more users are able to login from same device, but you want notifications to appear only if they are aimed to the current logged-in user... that's tricky... A video regarding how to create a new token (only when a different user has logged-in) and send it to the backend or how to control those notifications locally would be awesome! I hope I have explain myself...
In my experience, the best way is to avoid to search for a way to create/refresh a new token.
This way could not be done if Apple or Google changes the way the token is assigned. For example, some years ago on the Android platform any developer was able to request a new token at any time, but at the moment it seems to be impossible - at least I cannot figure out a way to do this, without to uninstall and install again the app!
I think you should consider the token as always assigned to the device, and focus your code to link it to the user at any login, and remove from the user when you logout. This assignment should be done by a backend, and this information should be stored somewhere in a db/storage account, etc...
Thanks for your input here Simone! I agree with what's been said here :) this is definitely a more advanced scenario though. Hard to get these things right
Can push notification work with intranet? I mean this remote notification work if have access internet like into google service for android user, but in my company have restricted and security network, so the device can't browse or something but can access company site, it's possible to do push notification work in intranet?
Depends on what is allowed through that network. Push notifications do need to come from a remote service over the internet.
Hey Gerald, a very great video to see the 'great picture' of the topic. Bedankt :-)
Perfect! That was the idea ;) Thank you so much for watching!
thank you so much this video helped me alot ❤❤
That is amazing to hear, thank you!
Thank you,
Hey Gerald, once again an amazing vid! I'm wondering if you would consider making this a series? Because I would absolutely love that! The bigger picture of perhaps mvvm, or the mainstream of an app (what is ti and how do you prevent it from being overloaded etc).
Keep up the amazing work of sharing knowledge in a very understandable way! :)
Hey Thijs, thanks so much! Yeah I'm thinking of doing this more as a way to introduce a topic and then from there dive deeper into a series that goes into it more. What are topics you'd like to learn about?
@@jfversluis I would love that series, your teaching has helped me and my friend in building our first app a lot! We both don't have a background in IT so here's things we encountered that we find it hard to organize the information we find on the internet:
- The mainstream of your app.
We encounter this while running our app "App has skipped 33 frames, you might be doing too much work on the mainstream". Is it supposed to be 0 or is 33 frames normal? We found that you have to use tasks but what exactly does that do?
- Our app runs but it gets a lot of warnings about target frameworks
Nugget package x was restored using targetframework y instead of the project framework. What are the consequences of bad framework targeting? It still runs is this really bad for our app?
- The general concept of how to work with images in your app
We know how to add images to drawable and is them throughout our app but have encountered problems with resolution when testing it on different phones. How do you ad an image in multiple resolutions? Or what is the correct way of working with them? We found info about drawable xxdpi ,hdpi,... But also in the documentation about Imagepacks. It's hard to find what the "normal" way of working with images is
Your video's have already been amazing to us and we both agreed that if our app ever releases we're buying you a drink!
Nice video! Thanks Gerald.
Thank you!
Thank you for making this amazing content , i tried before to using notification but i have big problem when i closed the app i don't get new notifications i think it must working in background how can i fix this issue ? thank you again
My pleasure! Have a look at the FAQ which writes something about background services: github.com/CrossGeeks/PushNotificationPlugin/blob/master/docs/FAQ.md
This vas a nice intro to Push Notifications, thank! As we talk about push Notifications, I wonder how would you handle backgrounding with Xamarin/MAUI as in work that is done even when the app is not in the foreground for Android and iOS?
You probably want to have a look at the Shiny library that makes that really easy!
Can we get low level on small implementation on push notifications if possible, kind of Poc
Unfortunately you can't really do it any simpler than the videos I already have. There is a lot to implement correctly to make it work :)
Thank you
It’s 3p per sms how much for a push notification? Thanks
I’ve never paid for a push notification
thank you so much for the tutorial
if you have some time can you add tutorial how to send notification from c# code not on the firebase console
Like this one? :) ua-cam.com/video/VI1wgekz5ZM/v-deo.html
@@jfversluis 😅😅😅😅 yes thank you so much
If I want to send a push notification to an Android app, from the Amazon store, running on a Windows 11 machine, which vendor server do I have to talk to?
Microsoft, Google, Amazon?
Ah very nice question! Definitely not Microsoft as you can run regular Android apps that have not been adapted.
Personally I don’t have experience with the Amazon store but that would be my guess. I think these types of functionalities are tied to the installed Play Store. I tried searching for it but couldn’t find much yet! Please let me know if you figure it out.
I would try it myself, but the Amazon Play Store isn’t available here :(
Hey Gerald, Many thanks for doing such great videos. Simply love it. If possible would you be able to take stab at doing a video on UWP (Xamarin Forms) push notifications. Because, Microsoft dev center, Azure notification Hub and App Certificate configurations are bit confusing in MS docs. Thank you.
Thanks Hasitha! I might be doing push notifications for all these platforms but now with Azure Notification Hub, but that will probably be for .NET MAUI. However, the process shouldn't be very different from Xamarin.Forms probably.
@@jfversluis Great! Looking forward to that :)
Hey Gerald sir, the video is amazing and love to see your videos, sir i need to ask something regarding Google Fit Api integration in xamarin forms for "Steps count and intserting the stepcounts in bucket. I went through many many blogs but i did't got a single reference for the xamarin to integrate this google fit API or Google fit for android.
Thanks so much Abhishek! I see there is a sample here for Xamarin.Android: docs.microsoft.com/en-us/samples/xamarin/monodroid-samples/google-services-fitness-basichistoryapi/
Shouldn't be too hard to get that into Xamarin.Forms :)
Hi Gerald, can you do a video for .NET MAUI push notifications ?
That will come, but it might take a little while :)
I don't think you answered the part as to how the end user device ensures that it receives the notification. I'd very much like it if you explained the whole process in terms of bytes being set from one computer/device program to another on a particular IP address then things might be clearer - at least for me.
Take the Ring door bell as an example. You configure this by connecting the code running on the physical doorbell to a home router. The doorbell has an IP address on the router. If you're sensible, you make it a static IP address - why? well presumably, the doorbell program contacts the remote Ring server somewhere and updates some record that associates the router IP and local (LAN) IP with the some unique code for that exact doorbell. (Possibly the IMEI number). How often this contacting the server database is done I don't know. Certainly the doorbell's local LAN IP could change (on a router DHCP reset) and the ISP might change the router's IP address. (But really the doorbell/Ring server shouldn't care about the doorbell's address since, presumably the doorbell code knows what IP address the Ring's server is listening on.)
When the doorbell button is pressed, the code in the doorbell must send some packet of information off to the server with IMEI (or whatever) identification. The server then looks up who it should send a notification to. The notification engine (FCM for example) then sends the notification.... but how does it know what IP/device ID to send this to? The target device (your phone) could be anywhere in the world and could certainly have moved network since the last time a notification was received. I can see no other way of getting this to work other than the client phone updating it's location/address (to the FCM server) on a frequent basis. Is this done through your google (android) account? If so, how often does it do this update?
I ask this, because you'll see plenty of frustrated people asking why they are not getting notifications from doorbell button presses. The answer is, usually, to make sure the Ring app is always running (presumably - pinging the app server which is telling the FCM server about the whereabouts of the client's phone.) But android has an annoying habit of disregarding all attempts to keep applications running even in background. Besides, notifications *should* work even if the app isn't running. Ring seems to be particularly bad. Leave your home *without* opening the Ring app on your phone, drive about swapping from one mobile phone/cell tower to another, then come home and reconnect to your home wifi, press the doorbell as a test and you have a very good chance that you wont get a notification (immediately).
I'm sort of guessing that this isn't Ring's fault. The doorbell action certainly requires very fast notifications - a feature not necessarily as important as other notifications like new emails. But fast notifications requires the phone's location on the network to be constantly up to date in the FCM database.
Unfortunately the answer is pretty simple; you have no guarantee that the push notification is received. You’ll send it off to the servers of Apple/Google/Microsoft and they will take care of it.
As for your example is hard to say where sending the notification goes wrong. The push notification system itself is pretty reliable. But thespian notification has to be triggered somewhere. If that goes wrong somewhere between pressing the doorbell, in houtblokken network, from your home network to the internet or somewhere in the network of Ring… impossible to say.
How can we send push notifications in Maui? Do you have any videos?
Not yet, those will come!
When 😭@@jfversluis
If I try to use signalr, do I still need to rely on Google or Apple ?
No, but you can’t use signalr when the app is killed. It won’t show up as a notification in the os
@@jfversluis Ok, that means when the user is not connected to internet, then also the user will not get notified later if signalr is used
@@ranajitkoley9427 Not sure about the last part. I guess that depends on your implementation. But people would need to start the app to get the notification, yes
Please make videos on implimenting push notification in .NET MAUI throgh web api for intended device or user
Working on it based on this doc, so maybe use that in the meantime: learn.microsoft.com/dotnet/maui/data-cloud/push-notifications
where I can search if my notification is not stable? sometimes delivered and sometimes not!
It’s hard to get data on that… what are you sending it with?
Nice !
Thank you! You like it? You learned something?
Forebase is good also
Absolutely!