Support for Safari Push Notifications from within Django. Note that this package helps registering notifications, not sending them. Safari Push works with APNs, so for sending, please use APNs Clerk.
The full documentation will soon be at https://django-safari-notifications.readthedocs.io.
For the Safari Push documentations, refer to Apple Safari Push.
Install django_safari_notifications:
pip install django-safari-notifications
If you already have a valid pushPackage.zip
, please serve it directly via your web server (Nginx/Apache) at the corresponding url: {webServiceUrl}/{version}/pushPackages/{websitePushID}
(refer to Apple Safari Push)
Else, you must subclass django_safari_notifications.apps.DjangoSafariNotificationsConfig
and set the cert
and passphrase
values.
from django_safari_notifications.apps import DjangoSafariNotificationsConfig
class MySafariNotificationsConfig(DjangoSafariNotificationsConfig):
cert = '/path/to/cert.pem'
passphrase = 'passphrase for key'
then add your config to your INSTALLED_APPS
:
INSTALLED_APPS = (
...
'my_safari_app.apps.MySafariNotificationsConfig', # if you need the pushPackage to be dynamically built
## OR ##
'django_safari_notifications.apps.DjangoSafariNotificationsConfig', # If you are serving your own push package via Nginx
...
)
Add django_safari_notifications's URL patterns:
from django_safari_notifications import urls as django_safari_notifications_urls
urlpatterns = [
...
url(r'^', include(django_safari_notifications_urls, namespace='safari_pn')),
...
]
Do not use any prefix for the urls, unless you are serving your own pushPackage.zip
statically
- TODO
Does the code actually work?
source <YOURVIRTUALENV>/bin/activate (myenv) $ pip install tox (myenv) $ tox
Tools used in rendering this package: