のぴぴのメモ

自分用のLinuxとかの技術メモ

Amazon SNSからプッシュ通知をPublishする時のメモ

モバイルプッシュ関連のblog記事

マネージメントコンソールからJSON形式でメッセージを送る例

{
"APNS_SANDBOX":"{\"aps\": {\"alert\": {\"title\":\"テスト\",\"body\":\"これはテストメッセージです\"}, \"sound\": \"default\", \"badge\":1}}"
}

こちらを参考
qiita.com

Python+SDK(boto3)でPublishする例

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import sys
import json
import boto3

PLATFORM   = 'APNS_SANDBOX'
TARGET_ARN = u'arn:aws:sns:ap-northeast-1:270025184181:endpoint/APNS_SANDBOX/SNSTestAPNs/b93b1ab2-4be5-3db1-bfd6-af6d5adb62c7'


def main():

    dict = {
             'aps': {
               'alert': {
                 'title': 'テスト',
                 'body':  'これはテストメッセージです'
               },
               'sound': 'default',
               'badge': 1
               }
           }
    message = {PLATFORM: json.dumps(dict)}
    messageJSON = json.dumps(message)

    # Get session
    client = boto3.client('sns')

    request = {
        'TargetArn': TARGET_ARN,
        'Message': messageJSON,
        'MessageStructure': 'json'
    }
    response = client.publish(**request)

if __name__ == "__main__":
    sys.exit(main())