Yes. GNotification will use the Shell notification API if it detects you’re using GNOME, otherwise it’ll fall back to the old freedesktop Notification API (which is what libnotify uses).
If an application ( rhythmbox in my case ) already has been written with libnotify client API, and it is working fine with GNOME Shell notification daemon, and other implementations, what would be a good reason to make the switch ?
First of all, because libnotify is generally deprecated and by and large unmaintained, since the introduction of GNotification.
Additionally, the Shell notification interface allows associating notifications to applications, which means the Shell will be able to launch your application if the user clicked on the notification; it also allows serialised icons, for sandboxed applications.
Also, libnotify doesn’t have an async API. The notification send call does synchronous d-bus calls which might cause the app to hang in some buggy notification servers.
I don’t see any information on this topic in g_application_send_notification() API.
The call can be moved to a GThread / GTask though.