AWS_Push_Notification
こんにちは、EveryDaySoft代表の永田です。
最近も業務では、アプリ開発をメインにSwiftUI,Kotlinに携わっています。
題名にある通り、AWSを使用して、Push通知をする作業を日曜日に実装をはじめました。
日本の情報ではPythonで実施する項目が少なかったので、公開いたします。
こちらの内容は、技術情報というよりはブログ内容なので、詳細は割愛してお伝えします。
iOSのアプリケーションでPush通知ができること
Pusherをして、Push通知を実施しています。
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
挙動。
今後の追加実装はアプリケーションからデバイストークンの送信、エンドポイント、トピックを作成出来、自動起動プログラムにより、決まった曜日や時間に自動Push通知をできることを目指します。工数は16時間です。検証1週間
以上、貴重なお時間お読み下さいまして、誠にありがとうございます。