Skip to content

Instantly share code, notes, and snippets.

@Soyuzbek
Last active October 10, 2021 12:48
Show Gist options
  • Save Soyuzbek/5f4f18861e863fd9fe4b4c760b54e7e9 to your computer and use it in GitHub Desktop.
Save Soyuzbek/5f4f18861e863fd9fe4b4c760b54e7e9 to your computer and use it in GitHub Desktop.
from typing import List
from exponent_server_sdk import (
PushClient,
PushMessage,
PushServerError,
)
from requests.exceptions import ConnectionError, HTTPError
def send_expo_message(tokens: List[str], message: str, extra=None):
"""
Sends message to Expo server. Expo server sends the message to tokens.
Example usage:
send_expo_message(['ExpoToken[asdflaksgw]', 'ExpoToken[asdfgrglkgj]'], 'The message text')
"""
for token in tokens:
try:
response = PushClient().publish(
PushMessage(to=token,
body=message,
data=extra))
except PushServerError as exc:
# Encountered some likely formatting/validation error.
pass
except (ConnectionError, HTTPError) as exc:
# Encountered some Connection or HTTP error - retry a few times in
# case it is transient.
pass
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment