Я создаю приложение iOS, и для наших push-уведомлений мы используем Simple Notification Service (SNS) Amazon.
SNS замечательно, но документация довольно скудная. Я использую boto, библиотеку Amazon Python, и я выяснил, как отправлять текстовые push-уведомления:
device_arn = 'MY ENDPOINT ARN GOES HERE'
plain_text_message = 'a plaintext message'
sns.publish(message=plain_text_message,target_arn=device_arn)
Однако из документации не ясно, как создать сообщение Apple Push Notification Service (APNS). Мне нужно отправить звук и значок вместе с push-уведомлением, но не могу понять, как отформатировать JSON для сообщения.
Вот моя лучшая догадка:
message = {'default':'default message', 'message':{'APNS_SANDBOX':{'aps':{'alert':'inner message','sound':'mySound.caf'}}}}
messageJSON = json.dumps(message,ensure_ascii=False)
sns.publish(message=messageJSON,target_arn=device_arn,message_structure='json')
Однако, когда я запускаю этот код, все, что я вижу в уведомлении, это "сообщение по умолчанию", что означает, что Amazon SNS отклонил мой формат сообщения и вместо него отобразил default
.
Как правильно отформатировать этот JSON?