pusher / push-notifications-python

Pusher Beams Python Server SDK
https://pusher.com/beams
MIT License
30 stars 8 forks source link
push-notifications pusher python python2 python3

.. image:: https://github.com/pusher/push-notifications-python/workflows/CI/badge.svg :target: https://github.com/pusher/push-notifications-python/actions?query=branch%3Amaster .. image:: https://codecov.io/gh/pusher/push-notifications-python/branch/master/graph/badge.svg :target: https://codecov.io/gh/pusher/push-notifications-python

Pusher Beams Python server SDK

Full documentation for this SDK can be found here <https://docs.pusher.com/beams/reference/server-sdk-python>__

Installation

The Pusher Beams Python server SDK is available on PyPi here <https://pypi.python.org/pypi/pusher_push_notifications/>__.

You can install this SDK by using pip <https://pip.pypa.io/en/stable/installing/>__:

.. code::

$ pip install pusher_push_notifications

Usage

Configuring the SDK for Your Instance

Use your instance id and secret (you can get these from the
`dashboard <https://dash.pusher.com/beams>`__) to create a Beams PushNotifications instance:

.. code::

  from pusher_push_notifications import PushNotifications

  beams_client = PushNotifications(
      instance_id='YOUR_INSTANCE_ID_HERE',
      secret_key='YOUR_SECRET_KEY_HERE',
  )

Publishing to Device Interests

You can broadcast notifications to groups of subscribed devices using Device Interests <https://docs.pusher.com/beams/concepts/device-interests>__:

.. code::

response = beams_client.publish_to_interests( interests=['hello'], publish_body={ 'apns': { 'aps': { 'alert': 'Hello!' } }, 'fcm': { 'notification': { 'title': 'Hello', 'body': 'Hello, World!' } } } )

print(response['publishId'])

Publishing to Authenticated Users



Securely send notifications to individual users of your application using `Authenticated Users <https://docs.pusher.com/beams/concepts/authenticated-users>`__:

.. code::

  response = beams_client.publish_to_users(
      user_ids=['user-0001'],
      publish_body={
          'apns': {
              'aps': {
                  'alert': 'Hello!'
              }
          },
          'fcm': {
              'notification': {
                  'title': 'Hello',
                  'body': 'Hello, World!'
              }
          }
      }
  )

  print(response['publishId'])