Рубрики
Без рубрики

Apple Push-уведомления

Отправить push-уведомления с использованием pyapns2 python. Теги с Python, APNS, Pushnotifications, Pyapns2.

Для отправки Push-уведомлений к любому устройству Apple с использованием APNS я должен был провести значительное количество времени, которые смотрят на все альтернативы, доступные в Python. Тогда я нашел библиотеку открытой исходности Pyapns2. . Я почти отклонил эту библиотеку, когда я исследую, потому что она не сказала, где в документации она поддерживает аутентификацию на основе дозирования или токена. Когда я искал исходный код, мне было удивлено, чтобы увидеть, что он имел поддержку как для обоих, но не был задокументирован.

Поэтому я обновил документацию и поднял потянуть запрос Отказ

Для любого, кто сталкивался с аналогичными проблемами ниже, является примером кода при использовании библиотеки.

from apns2.client import APNsClient
from apns2.payload import Payload

token_hex = 'b5bb9d8014a0f9b1d61e21e796d78dccdf1352f23cd32812f4850b87'
payload = Payload(alert="Hello World!", sound="default", badge=1)
topic = 'com.example.App'
client = APNsClient('key.pem', use_sandbox=False, use_alternative_port=False)
client.send_notification(token_hex, payload, topic)

# To send multiple notifications in a batch
Notification = collections.namedtuple('Notification', ['token', 'payload'])
notifications = [Notification(payload=payload, token=token_hex)]
client.send_notification_batch(notifications=notifications, topic=topic)

# To use token based authentication
from apsn2.credentials import TokenCredentials

auth_key_path = 'path/to/auth_key'
auth_key_id = 'app_auth_key_id'
team_id = 'app_team_id'
token_credentials = TokensCredentials(auth_key_path=auth_key_path, auth_key_id=auth_key_id, team_id=team_id)
client = APNsClient(credentials=token_credentials, use_sanbox=False)
client.send_notification_batch(notifications=notifications, topic=topic)

Чтобы узнать о аутентификации на основе токена, вы можете взглянуть на этот замечательный ресурс здесь

Тема:

Когда я использовал send_notification Для образца токен размером 2000 года потребовалось вокруг 10 минут отправлять все уведомления. Когда я использовал send_notification_batch Для того же образца токен размером он занял меньше, чем 5 секунд Чтобы отправить все уведомления.

Оригинал: “https://dev.to/adityavarma1234/apple-push-notifications-207g”