Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Apple Push notifications (APNS) issues #292

Open
phavekes opened this issue Nov 30, 2024 · 0 comments
Open

Apple Push notifications (APNS) issues #292

phavekes opened this issue Nov 30, 2024 · 0 comments

Comments

@phavekes
Copy link
Member

This issue is imported from pivotal - Originaly created at Aug 24, 2022 by Pieter van der Meulen

The message classes in the tiqr-server-libphp library used for sending push notifications were not refactored. An APNS2 message class was added that supports the new HTTP/2 based protocol. The previous APNS protocol has been deprecated and currently does not work for new apps. This issue documents some points that were noted during the implementation of the APNS2 class.

  • Give the message classes the same refactoring treatment as the rest of the library has had
  • Remove the APNS message type, this will also allow us to drop the ZF1 dependency
  • Android and ios PNs use different, hardcoded, timeouts (300 vs 30 seconds)
  • No title or subtitle is set on the push notification message
  • The google and apple API both support connection reuse, i.e. sending many messages over the same connection. This does not match with how the tiqr-server-libphp uses these APIs. The library opens a connection, sends the message and then closes the connection. Depending on the PN message rate the could lead to a connection rate to the PN gateway that is higher than that either google or apple are willing to accept. The only feasible way to solve this IMO would be to use a separate dedicated server process for actually sending the PNs, the tiqr-server-libphp library can than submit the PNs to this server. PHP is not a natural choice for building such a server, e.g. Java would make more sense. It has a larger choice of libraries. The tiqr-java-connector uses https://github.com/jchambers/pushy for sending APNS.
@phavekes phavekes self-assigned this Nov 30, 2024
@phavekes phavekes added this to Stepup Nov 30, 2024
@github-project-automation github-project-automation bot moved this to New in Stepup Nov 30, 2024
@phavekes phavekes removed their assignment Nov 30, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: New
Development

No branches or pull requests

1 participant