UnifiedPush allows multiple, different apps (like Home-Assistant) to use a single notification push server which a user can configure. It is like Google’s Firebase Cloud Messages, however with the difference that users can choose, which “distributor” they choose and what servers they trust to relay their notifications. However, it is overall better than using a direct Websocket connection to the Home-Assistant server itself because (assuming many apps are using UnifiedPush like FCM) the phone of the user is only required to maintain a single connection (in difference to every app maintaining their own) which saves battery & cellular data usage.
You can find more about the original concept here.
UnifiedPush was already discussed in issue #1480 for Home-Assistant Core (cannot post a link as new users can only post 2 in the beginning).
It was an idea to solve the problem that F-Droid users were not able to receive notifications at all. Still I think implementing UnifiedPush would improve Home-Assistant more.
UnifiedPush is already implemented in other Android apps. One example is Element for Android.
What would be required to implement? The Android client would need to check for any UnifiedPush distributor installed, would need to register itself there. It then receives a push URL as target for HTTP requests and needs to inform its Home-Assistant Server about this new push URL. The Home-Assistant Server (probably implemented in the Core) would need to save this URL and push future notifications to this client via the given URL.
For Android, there is already a library implemented which can do this in a similar shape like the official FCM library by Google. There is also one version which can automatically fallback to FCM if no UnifiedPush provider can be found on the device. You can find information for Android developer at the official UnifiedPush page and it probably helps to see what Element needed to change (see PR linked above) to migrate from FCM support only to UnifiedPush + FCM support.
Sadly, I’m not a Android developer, so I hope to find someone who might can implement this to Home-Assistant. When I have enough time, I could try to implement it, however, without guarantee. I should be able to assist in testing the feature.