AWS_Push_Notification

こんにちは、EveryDaySoft代表の永田です。

最近も業務では、アプリ開発をメインにSwiftUI,Kotlinに携わっています。

題名にある通り、AWSを使用して、Push通知をする作業を日曜日に実装をはじめました。

日本の情報ではPythonで実施する項目が少なかったので、公開いたします。

こちらの内容は、技術情報というよりはブログ内容なので、詳細は割愛してお伝えします。

iOSのアプリケーションでPush通知ができること

Pusherをして、Push通知を実施しています。

https://twitter.com/i/status/1269441709550694400

AWSを登録して、LambdaやSimple Notification Service等を扱えること。

Simple Notification Serviceの

トピック

サブスクリプション

プッシュ通知

登録が行える事。

ARNやエンドポイントについて理解できている事

Lambda関数からLambda関数を起動出来ること。

上記の前提で、対応が可能になります。

Document 参考にしたサイトです。

今回はLambda関数を使用して、Push通知を送るLambda関数を呼び出しPush通知を実現しています。

PythonでLambda関数から起動して、Push通知を実施しているコードを公開いたします。


import boto3
import json
import datetime

def lambda_handler(event, context):
    client = boto3.client('sns')
    // 各登録してあるARNです。
    TOPIC_ARN = 'arn:aws:sns:~~~~GoingToWork'
 
    now = datetime.datetime.now(
    datetime.timezone(datetime.timedelta(hours=9))
    )

    test = "test"
    message = now.strftime("%Y/%m/%d %H:%M:%S")
    # dumped = json.dumps(message)
    message3 = {"APNS_SANDBOX":message}

    response = client.publish(
        TopicArn = TOPIC_ARN,
        Message = json.dumps(message3),
    )
    return response

挙動。

https://twitter.com/i/status/1269565468114731009

今後の追加実装はアプリケーションからデバイストークンの送信、エンドポイント、トピックを作成出来、自動起動プログラムにより、決まった曜日や時間に自動Push通知をできることを目指します。工数は16時間です。検証1週間

以上、貴重なお時間お読み下さいまして、誠にありがとうございます。