expo-community / expo-server-sdk-python

Exponent Server SDK
MIT License
143 stars 42 forks source link

Add support for ios background events #55

Open howieweiner opened 1 year ago

howieweiner commented 1 year ago

According to the expo.dev docs, in order to handle notifications in the background on iOS, it is necessary to send the following addtional data in the payload:

"content-available": 1

I am currently achieving this by extending the PushMessage class as described in the code:

class ExpoPushMessage(PushMessage):
    def get_payload(self):
        """
        Override the get_payload method to add the content-available flag
        :return:
        """
        payload = super().get_payload()
        payload["content-available"] = 1
        return payload

I imagine that many expo-notification users would like to process background events, so the addition of another attribute would be beneficial.