py-apns2
simple python3 apns2 push service for iOS applications
Scope
This primarily aims to be combined with the RegattaTech.DE Toolkit and automatically sends new race results as push notifications to iOS devices that register themselves via the companion app.
This can also trigger simple push notifications via a rudimentary API.
Usage
- Clone the repository
- Install the requirements via
pip3 install -r requirements.txt - Run the server via
python3 app.py
You need an active Apple Developer Subscription. This can be obtained via the Apple Developer Portal. You should also be familiar with how notifications work on iOS.
You also need an iOS application that registers itself with the server.
Endpoints
/api/registerDeviceToken
POST json with device_token to register
Needs to be authenticated with REGISTER_AUTH (defined in config.ini)
/api/customnotify
POST json with severity and notification to send a custom notification
Needs to be authenticated with MANAGE_AUTH (defined in config.ini)
severity can be one of info, warning, urgent, danger
/api/deleteAllDeviceTokens
Deletes all registered device tokens
Needs to be authenticated with MANAGE_AUTH (defined in config.ini)
/shownotificationlog
Shows all send notifications
Needs to be authenticated with MANAGE_AUTH (defined in config.ini)
/showdevicetokens
Shows all registered device tokens
Needs to be authenticated with MANAGE_AUTH (defined in config.ini)
/api/getresults
Gets the results from the result API, checks for new results and sends out the notification.
Needs to be authenticated with MANAGE_AUTH (defined in config.ini)