ntfy icon indicating copy to clipboard operation
ntfy copied to clipboard

iOS: per-subscription mute

Open binwiederhier opened this issue 2 years ago • 7 comments

This ticket is about implementing the subscription mute and the min priority for iOS.

binwiederhier avatar May 29 '22 20:05 binwiederhier

https://developer.apple.com/documentation/bundleresources/entitlements/com_apple_developer_usernotifications_filtering

binwiederhier avatar Jun 03 '22 17:06 binwiederhier

"Dear Developer,

Thank you for your interest in the Notification Service Extension filtering entitlement, and thank you for the detailed explanation of your use case.

We are unable to approve your request at this time. On iOS, we generally expect apps to make the determination of whether they need to alert the user on the server, not the client, in the interest of battery life.

See Choosing Background Strategies for Your App for alternative APIs that could help with your usecase, such as Background Push.

You may still use the Notification Service Extension without the filtering entitlement. As long as your Notification Service Extension runtime yields a visible notification at the end, it can remove previously posted notifications.

You can also consider using a lower interruptionLevel on iOS 15 and later.

Best Regards,

Andy (iOS Battery Life)"

binwiederhier avatar Jun 04 '22 10:06 binwiederhier

Based on this response from Apple, i don't believe there is a way to implement the "mute topic" feature or the "min priority" feature without tracking the user server side, which I don't want to do.

binwiederhier avatar Jun 04 '22 10:06 binwiederhier

"Good morning Andy,

Thank you for the swift reply.

On iOS, we generally expect apps to make the determination of whether they need to alert the user on the server, not the client, in the interest of battery life.

That makes a lot of sense for traditional messaging apps. However, ntfy is a pubsub system that solely operates on topics (Firebase topics, and others). Server side, I do not track the Firebase token or APNs token at all, meaning I cannot distinguish users server side. A topic may have many subscribers (users), and sending exclusively to topics with multiple users means I cannot mute based on user, because different users may have different mute-preferences.

TLDR: ntfy uses topics with multiple subscribers (users), so communication is 1:n. Muting server side is hence not possible.

I should have included this in the original email. I ask you kindly and with the utmost respect to reconsider your evaluation.

Best regards,"

binwiederhier avatar Jun 04 '22 11:06 binwiederhier

Did Apple ever offer a response after your reply?

MrOwen avatar Sep 28 '22 17:09 MrOwen

No answer, sadly.

binwiederhier avatar Oct 01 '22 19:10 binwiederhier

This is unfortunate. Mute is pretty nice on discord.

ksurl avatar Oct 21 '22 11:10 ksurl