syncano.models.push_notification¶
- class DeviceBase[source]¶
Bases: object
Base abstract class for GCM and APNS Devices;
- LINKS = ({'type': 'detail', 'name': 'self'},)¶
- registration_id = None¶
- device_id = None¶
- is_active = None¶
- label = None¶
- user = None¶
- links = None¶
- created_at = None¶
- updated_at = None¶
- class GCMDevice(**kwargs)[source]¶
Bases: syncano.models.push_notification.DeviceBase, syncano.models.archetypes.Model
Model which handles the Google Cloud Message Device. CORE supports only Create, Delete and Read;
Usage:
Create a new Device: gcm_device = GCMDevice( label='example label', registration_id=86152312314401555, user_id=u.id, device_id='10000000001', ) gcm_device.save() Read: gcm_device = GCMDevice.please.get(registration_id=86152312314401554) Delete: gcm_device.delete() Update: gcm_device.label = 'some new label' gcm_device.save()
- DoesNotExist¶
alias of GCMDeviceDoesNotExist
- LINKS = ({'type': 'detail', 'name': 'self'},)¶
- created_at = None¶
- device_id = None¶
- instance_name = None¶
- is_active = None¶
- label = None¶
- links = None¶
- pk = None¶
- please¶
- registration_id = None¶
- updated_at = None¶
- user = None¶
- class APNSDevice(**kwargs)[source]¶
Bases: syncano.models.push_notification.DeviceBase, syncano.models.archetypes.Model
Model which handles the Apple Push Notification Server Device. CORE supports only Create, Delete and Read;
Usage:
Create a new Device: apns_device = APNSDevice( label='example label', registration_id='4719084371920471208947120984731208947910827409128470912847120894', user_id=u.id, device_id='7189d7b9-4dea-4ecc-aa59-8cc61a20608a', ) apns_device.save() Read: apns_device = APNSDevice.please.get(registration_id='4719084371920471208947120984731208947910827409128470912847120894') Delete: apns_device.delete() Update: apns_device.label = 'some new label' apns_device.save()
Note
Also note the different format (from GCM) of registration_id required by APNS; the device_id have different format too.
- DoesNotExist¶
alias of APNSDeviceDoesNotExist
- LINKS = ({'type': 'detail', 'name': 'self'},)¶
- created_at = None¶
- device_id = None¶
- instance_name = None¶
- is_active = None¶
- label = None¶
- links = None¶
- pk = None¶
- please¶
- registration_id = None¶
- updated_at = None¶
- user = None¶
- class MessageBase[source]¶
Bases: object
Base abstract class for GCM and APNS Messages;
- status = None¶
- content = None¶
- result = None¶
- created_at = None¶
- updated_at = None¶
- class GCMMessage(**kwargs)[source]¶
Bases: syncano.models.push_notification.MessageBase, syncano.models.archetypes.Model
Model which handles the Google Cloud Messaging Message. Only creating and reading is allowed.
Usage:
Create a new Message: message = GCMMessage( content={ 'registration_ids': [gcm_device.registration_id], # maximum 1000 elements; 'data': { 'example_data_one': 1, 'example_data_two': 2, } } ) message.save() Read: gcm_message = GCMMessage.please.get(id=1) Debugging: gcm_message.status - on of the (scheduled, error, partially_delivered, delivered) gcm_message.result - a result from GCM server;
The data parameter is passed as-it-is to the GCM server; Base checking is made on syncano CORE; For more details read the GCM documentation;
Note
Every save after initial one will raise an error;
Note
The altering of existing Message is not possible. It also not possible to delete message.
- DoesNotExist¶
alias of GCMMessageDoesNotExist
- content = None¶
- created_at = None¶
- id = None¶
- instance_name = None¶
- pk = None¶
- please¶
- result = None¶
- status = None¶
- updated_at = None¶
- class APNSMessage(**kwargs)[source]¶
Bases: syncano.models.push_notification.MessageBase, syncano.models.archetypes.Model
Model which handles the Apple Push Notification Server Message. Only creating and reading is allowed.
Usage:
Create new Message: apns_message = APNSMessage( content={ 'registration_ids': [gcm_device.registration_id], 'aps': {'alert': 'test alert'}, } ) apns_message.save() Read: apns_message = APNSMessage.please.get(id=1) Debugging: apns_message.status - one of the following: scheduled, error, partially_delivered, delivered; apns_message.result - a result from APNS server;
The ‘aps’ data is send ‘as-it-is’ to APNS, some validation is made on syncano CORE; For more details read the APNS documentation;
Note
Every save after initial one will raise an error;
- DoesNotExist¶
alias of APNSMessageDoesNotExist
- content = None¶
- created_at = None¶
- id = None¶
- instance_name = None¶
- pk = None¶
- please¶
- result = None¶
- status = None¶
- updated_at = None¶
- class GCMConfig(**kwargs)[source]¶
Bases: syncano.models.archetypes.Model
A model which stores information with GCM Push keys;
Usage:
Add (modify) new keys: gcm_config = GCMConfig(production_api_key='ccc', development_api_key='ddd') gcm_config.save() or: gcm_config = GCMConfig().please.get() gcm_config.production_api_key = 'ccc' gcm_config.development_api_key = 'ddd' gcm_config.save()
- production_api_key = None¶
- development_api_key = None¶
- DoesNotExist¶
alias of GCMConfigDoesNotExist
- id = None¶
- instance_name = None¶
- pk = None¶
- please¶
- class APNSConfig(**kwargs)[source]¶
Bases: syncano.models.archetypes.Model
A model which stores information with APNS Push certificates;
Usage:
Add (modify) new keys: cert_file = open('cert_file.p12', 'rb') apns_config = APNSConfig(development_certificate=cert_file) apns_config.save() cert_file.close()
- production_certificate_name = None¶
- production_certificate = None¶
- production_bundle_identifier = None¶
- production_expiration_date = None¶
- development_certificate_name = None¶
- development_certificate = None¶
- development_bundle_identifier = None¶
- development_expiration_date = None¶
- DoesNotExist¶
alias of APNSConfigDoesNotExist
- id = None¶
- instance_name = None¶
- pk = None¶
- please¶