C#でAWS SNS
こんにちは、商品開発部の池端です。
C#でAWS SNSを使って、iOSとAndroidにプッシュ通知を送る。
C#のサンプルがあんまりなかったのでメモメモ。
コードは以下のような感じ。
var sns = new AmazonSimpleNotificationServiceClient();
var message = "{\"default\": \"メッセージ\", \"GCM\":\"{\\\"priority\\\":\\\"high\\\", \\\"notification\\\":{ \\\"text\\\": \\\"メッセージ\\\"}}\", \"APNS\":\"{\\\"aps\\\":{\\\"alert\\\":\\\"メッセージ\\\",\\\"sound\\\":\\\"default\\\"}}\", \"APNS_SANDBOX\":\"{\\\"aps\\\":{\\\"alert\\\":\\\"メッセージ\\\",\\\"sound\\\":\\\"default\\\"}}\"}";
var req = new PublishRequest("arn:aws:sns:xxxxx:xxxxx:xxxxx", message);
req.MessageStructure = "json";
await sns.PublishAsync(req);
メッセージには、FCM(GCM)とAPNSのproduction、sandboxの指定をしています。
各環境毎のオプションの指定はお好きなものを指定してください。
ポイントは、defaultの指定は必須、json内のjsonのエスケープ、PublishRequest.MessageStructureに"json"を設定することあたりですかね。
単純にメッセージを表示するだけで音を鳴らしたりの環境毎のオプション指定をしないのであれば、defaultのみの指定でもよいかとおもいます。
誰かの参考になれば幸いです。
それではまた!