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
APNS HTTP (HTTP2) support #157
Comments
golang/go#15592 - seems like header guidelines aren't important |
+ New feature: Add /previewpush endpoint to preview the payload that would be generated and sent to push services. (Issue #140) This helps with debugging. + Maintenance: Update APNS binary provider API(default) from version 1 to version 2. + Maintenance: Upgrade to redis.v5 (Issue #143) + New provider: Add FCM support. (Issue #148) The parameters that would be provided to /addpsp, /subscribe, and /push are the same as they would be for GCM. (Replace "fcm" with "gcm") + New feature: Add support APNS HTTP2 API (Issue #157, PR #173) This gives more accurate results on whether a push succeeded, and should not impact Uniqush's performance. To set this up, call /addpsp (to create a new provider or modify an existing provider) with the same params you would use to create a new APNS endpoint for binary providers (including cert and key), in addition to providing `bundleid`. Currently, to make testing easy, each call to `/push` must be provided with the query param value `uniqush.http=1`. Otherwise, uniqush continues to use the APNS binary provider API. + Maintenance: Use unescaped payloads for GCM and FCM. This allows larger payloads, avoiding escaping characters such as `<` and `>` Fixes #134 go 1.8.3+ and an up to date version of golang.org/x/net/http2 are suggested (For the APNS HTTP2 API).
To enable this,
|
See Apple's documentation at https://developer.apple.com/library/content/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/CommunicatingwithAPNs.html
http://gobiko.com/blog/token-based-authentication-http2-example-apns/ seems like it may help explain high level of setting this up?
Probably implement this with provider certificates if the main use case is self-service, not familiar with the use case for tokens. #149 is related to this.
Miscellaneous notes on how this should be implemented:
For easy migration and testing, one possibility may be to allow adding an option to
/push
(uniqush.push.protocol=http2
) to opt into the HTTP2 api. This gives you accurate results for the push, but increases latency somewhat.Config file settings can be changed, etc.
The text was updated successfully, but these errors were encountered: