先日ブログに書いたOneSignalについてです。
OneSignalは知っての通りセグメントを選択してアプリの利用者にプッシュ通知を送信することができますが
アプリの中でAPIを叩く事でもプッシュ通知を受け取ることができます。
公式を見てみると、post/get/putといった従来のAPIと同じ要領で叩くことができます。
これをアプリ側で組み合わせて送信処理を手伝うとこんな感じに仕上がりました。
※axiosを使っています。
var message = {
app_id: “70e59150-f90c-4a4c-97c0-yoz394fc000a347a7d”,
included_segments: [“All”],
contents: {“en”: “let,s Enjoy!!”}
};
const headers = {
“Content-Type”: “application/json; charset=utf-8”,
“Authorization”: “Basic bfjdbfdjbdbojnTJhYy00MzhkLWE1YWEtZDUxNzkzZWY0OTMz”
};
const response = axios.post(‘https://onesignal.com/api/v1/notifications’, message, { headers: headers });
公式には載っていなかったので少し手惑いましたがnode.jsの書き方を応用して
書いてみました。
app_idにはOneSignal登録時に獲得したid、include_segmentsには対象者(購読者のみとか全ての人向けとか)
contentsにはコメントといった感じにmessageに詰めていきます。
“Content-Type”と”Authorization”はheaderとして送るので別変数に格納します。
なお、”Authorization”はOneSignal登録時に獲得したRestAPIを使用します。
最後にacxiosでまとめて送信してプッシュ通知がくれば成功です。