【IT】分散通知の仕組みを作る〜Googleアプリ、GAS及びAPIの活用 STEP4: Push7のプッシュ通知


<分散通知の仕組みを作る STEP4: Push7のプッシュ通知>
別ページで表示


LINEや電子メールは双方向の会話の機能があるので、「りんごちゃん」などニックネームで構わないが何らかのID情報が配信側に伝わります。しかし、利用者側には、それすら知られたくない人もいます。

Push7は、ニックネームすら入力不要、です。敷居が低いです。

Push7に似た仕組みは、既にネット上に溢れています。ふだんサイトを見ていると、ヒョコッと顔を出して、「登録しませんか」と誘いかけられ、即座に、×、拒否、NO、不要を返事する、それが条件反射になっているあれです(ブラウザの設定でポップアップを禁止に出来ると思いますが)。

私の場合は、緊急通知を準備しているので、ポップアップ禁止設定にしたおかげで目にも触れない、というのでは困ります。そこで、サイトの文面の中で、説明を加えて、ボタンを押してもらって申し込んでもらう手順にしています。このPush7のサイトへの設置方法の説明は、長くなるので、この記事では、割愛します。

このSTEP4における配信作業の流れでは、Push7のアプリは何も触りません。通知文がSTEP1で作成済みならば、STEP2、STEP3とやることはほぼ同じです。ChromeからGoogleSSを立ち上げる->PC版サイトを選ぶ->iphoneを横向きにする->閉じるをクリック->内容を一応点検したら「Push7投稿」ボタンをクリック。という手順。

Push7のいい点は、管理する側における、利用者の登録や削除については、作業は何もないです。

実に簡単です。

ポイント解説

<1> GoogleSSへの取り込み

Push7で送信する内容のうち、毎回変更されるのは、タイトル、関係リンク、本文の3個です。

この画面には、Googleフォームへ入力した通知文が取り込まれるため、内容を確認するだけです。問題がなければ、「Push7投稿」ボタンを押します。

通知文の読み込み:

IMPORTRANGE関数を使います。
読み込みたいGoogleSSのURLが、下記のようになっていたとして、

https://docs.google.com/spreadsheets/d/【この部分】/edit#gid=0

【この部分】を以下の場所に当てはめてください。sheet1は実際のシート名、A10,A12,A14のところも実際のセル位置を当てはめてください。

Push7では、タイトル、関係リンク、本文の3データを、通知文GoogleSS から読み込んで、このPush7用GoogleSSへ取り込みます。

=IMPORTRANGE("【この部分】","sheet1!A10")
=IMPORTRANGE("【この部分】","sheet1!A12")
=IMPORTRANGE("【この部分】","sheet1!A14")

<2>APIの取得とGAS記述

APIの取得:

Push7は、親切に、API設置方法などが解説されています。

Push7 APIの利用 ←この中の「Webプッシュ通知を送信するAPI」の項目が参考になります。

Push7は、メールアドレスとパスワードで登録できます。次に、プロジェクトを例えば「ABC会_通知」などとつけて設置すると、そのプロジェクトごとに、下記のように、App NumberとAPI Keyが発行されます。

Push7 API : API NumberとAPI Keyを取得する。

GASの記述:

このままコピペください。赤字は、例示です。

・iconは、ここに指定した画像が選択されて通知に表示されます。
・urlは、表示された通知画面をクリックすると移動するサイトです。
・disappear_instantlyは、falseにすると画面の表示にタッチされるまでは表示が残ります。trueにすると数秒後には消えます。

const notifyPush7 = () => {
  const ss = SpreadsheetApp.getActiveSpreadsheet();
  const sheet = ss.getActiveSheet();
  const apikey = "【上画像のAPI Key】"
  const appno = '【上画像のApp Number】'
  const url = 'https://api.push7.jp/api/v1/【上画像のApp Number】/send';
  const headers = {
    'Content-Type' : 'application/json; charset=UTF-8',
    'Authorization' : 'Bearer ' + apikey,
 };
const data = {
'title': sheet.getRange(3,1).getValue(),
'body' : sheet.getRange(7,1).getValue(),
'icon' : "https://***.com/****.jpeg",
'url' :  sheet.getRange(5,1).getValue(),
'apikey' : "【上画像のAPI Key】",
'disappear_instantly' : false,
//'transmission_time": "2021/10/10 10:10"
//'query' : true,
}
const options = {
  'method' : 'post',
  'headers': headers,
  'payload': JSON.stringify(data)
};
UrlFetchApp.fetch(url,options);
}

具体的には、以下の、アプリによる送信画面を見て、対応関係を確認ください。

この「タイトル」「URL」「内容」の部分を、STEP1で作った通知文GoogleSSから、自動的に取り込むプログラムになっています。

Push7アプリの新規プッシュ通知の画面

次回のSTEP5は、Googleが提供するブログであるBloggerへ、同じ通知文を投稿する方法を説明します。割と簡単です。

STEP5

以上