Comments (5)
Thank you for your report! It is very helpful. I think that using device id an a unique identifier is really a bad choice. However, since this is designed by Apple, we have to cope with it.
Does this mean that a deivce's id is not changed even after an upgrade? In this case, we need to store a timestamp for each delivery point and for every push request. Although I feel there may still be some race conditions, but it might not be very easy to produce. Let me work on a fix next week.
from uniqush-push.
Yes, that's what I observed on the devices I tested. After an upgrade the token is invalidated on APNS side. The app has to register on first start and gets the same token valid again. In addition the APNS errors are delayed. This strange Apple design makes a proper usage unnecessary complicated.
from uniqush-push.
While I'm looking at what we can do to fix apns.go, this option is looking most appealing as gcm.go seems to work extremely well under full production load delivering millions of pushes a day.
https://cloud.google.com/solutions/mobile/ios-push-notifications/
from uniqush-push.
Is this fixed? I still see this issue happening
from uniqush-push.
- Is this specific to the upgrade to iOS 8? If so, this will be really infrequent after 11 years(iOS 11)
- If this is related to one token being invalid causing other tokens to be invalidated, I haven't noticed that before. It'd be useful if I had something that I could reproduce with https://github.com/uniqush/apns-simulator , but apns-simulator isn't configured for complex simulations right now. (may need to be updated)
- device token may change (think that "device id" in earlier conversation really was referring to "device token")
Switching to APNS HTTP2 instead may be useful: See #157 and the PR implementing HTTP2
from uniqush-push.
Related Issues (20)
- APNs binary protocol will be disabled in November 2020 - Provide migration steps
- Add a health check for connection pools, redis being connected HOT 3
- Refuse to start up if APNs certificates cause SystemRootsError
- Plans for web push features? HOT 1
- Potential code quality issues found HOT 3
- Fix no-op Signal(os.Kill)
- Idea: Add an opt-in mode to act as a proxy without managing tokens
- Consider migrating GCM/FCM from legacy HTTP API to HTTP v1 API
- Look into token-based instead of certificate-based connections to APNs
- Add Destination pointer to all push.Error implementations, to log
- Disable APNs binary protocol and feedback checker HOT 1
- Look into supporting apns-push-type setting HOT 1
- cant receive message in android app
- Remove psps
- What about an open server-side events/REST protocol for apps on any platform?
- Document how to support new root CAs for APNs servers with uniqush
- Make FCM/APNS timeouts configurable?
- Switch to api.sandbox.push.apple.com
- what tutorials on this are complete, i cant send a push notification via fcm
- Support UnifiedPush on Android devices HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from uniqush-push.