Google Apps Script (GAS) を使用してプッシュ通知を送信するには、いくつかの方法があります。
Firebase Cloud Messaging (FCM) を使用する
Firebase Cloud Messaging (FCM) は、Googleが提供するクラウドベースのメッセージングサービスで、アプリにプッシュ通知を送信するのに使用できます。GASからFCMを利用するには、以下の手順に従います。
- Firebaseプロジェクトを作成し、FCMを設定します。
- GASプロジェクトでFirebaseプロジェクトのサーバーキーを取得します。
- GASでHTTPリクエストを作成し、FCMサーバーに送信するコードを書きます。
例えば、以下のような基本的なコードスニペットでGASからFCMを使ってプッシュ通知を送信できます。実際にこのコードを使用する前には、YOUR_SERVER_KEY に自分のFirebaseプロジェクトのサーバーキーを設定し、デバイストークンまたはトピック を適切な値に置き換える必要があります。
function sendPushNotification() {
var serverKey = 'YOUR_SERVER_KEY'; // Firebaseプロジェクトのサーバーキー
var payload = {
"notification": {
"title": "タイトル",
"body": "メッセージ"
},
"to" : "デバイストークンまたはトピック"
};
var options = {
"method" : "post",
"contentType" : "application/json",
"headers": {
"Authorization": "key=" + serverKey
},
"payload" : JSON.stringify(payload)
};
var response = UrlFetchApp.fetch("https://fcm.googleapis.com/fcm/send", options);
Logger.log(response.getContentText());
}
関数の定義
- 関数の定義:
sendPushNotification
という関数を定義しています。この関数が呼び出されると、プッシュ通知の送信処理が開始されます。 - サーバーキー:
var serverKey = 'YOUR_SERVER_KEY';
ここで、Firebaseプロジェクトのサーバーキーを変数に格納しています。このキーはFirebaseコンソールから取得でき、FCMにリクエストを送る際の認証に使用されます。 - ペイロードの設定:
payload
変数に、送信する通知の内容(タイトル、本文)と、通知を送る対象(デバイストークンまたはトピック)を設定します。 - リクエストオプション:
options
変数にHTTPリクエストの設定を行います。ここでHTTPメソッドをPOSTに設定し、コンテントタイプをJSONに指定しています。また、ヘッダーに先ほどのサーバーキーを使用して認証情報を設定し、ペイロードをJSON文字列に変換して含めています。 - リクエストの送信とログの記録:
UrlFetchApp.fetch
関数を使用してFCMのエンドポイント(https://fcm.googleapis.com/fcm/send
)にリクエストを送信します。送信後のレスポンスはresponse
変数に格納され、Logger.log
関数を使ってログに記録されます。
実行でPush通知が届く
上記のGoogle Apps Script (GAS) コードを正しく設定して実行すると、指定したデバイスまたはトピックに対してプッシュ通知が届きます。
ただし、プッシュ通知が正常に届くためには以下の条件を満たす必要があります。
- Firebaseプロジェクトの設定: Firebaseプロジェクトを作成し、Firebase Cloud Messaging (FCM) を有効にする必要があります。
- 正しいサーバーキーの使用: Firebaseプロジェクトのサーバーキーを正確にコードに設定する必要があります。このキーはFirebaseコンソールから取得できます。
- 適切なデバイストークンまたはトピック: 通知を送信する対象となるデバイストークンまたはトピックを正しく指定する必要があります。デバイストークンは、各ユーザーのデバイスに固有の識別子であり、トピックは複数のデバイスをグループ化するためのものです。
- クライアント側の設定: プッシュ通知を受け取るデバイス(通常はモバイルアプリケーション)において、FCM SDKが正しくセットアップされている必要があります。これには、アプリ内でプッシュ通知の許可を求める処理や、FCMからの通知を受け取るためのサービスワーカーの設定などが含まれます。
- インターネット接続の確保: プッシュ通知を受け取るデバイスがインターネットに接続されている必要があります。
上記の条件を満たしていれば、GASスクリプトを実行すると指定したデバイストークンまたはトピックに対してプッシュ通知が送信され、その通知はデバイス上で表示されます。
まとめ
このコードを実行すると、指定したデバイスまたはトピックに対してプッシュ通知が送信されます。
もし通知が届かない場合は、Firebaseプロジェクトの設定、サーバーキー、デバイストークン、クライアント側の設定などを再確認してください。