Help us understand the problem. What is going on with this article?

ボタンクリック時にiPhoneへプッシュ通知を送る(GravioとPlatioの連携)

More than 1 year has passed since last update.

特定の端末へ通知する、呼び出しシステムを簡単に作ってみました。
受付に呼び出しボタンを設置し、お客様がボタン押したらiPhoneにPush通知します。

image.png

Gravioで収集したセンサーデータの連携先として弊社のPlatioを利用しました。PlatioはBearer認証でAPIを使用することができます。
Bearer認証を利用する各種ソリューションへ連携する際にも参考にしていただければと思います。

準備したもの

■ハードウェア
・iPhone 8
・ノートPC
 -Windows 10 バージョン1809
・Gravioレンタルデバイス
 -ワイヤレススイッチ
■ソフトウェア
Gravio
 -Gravio Studio Ver.2.0.2065
 -Gravio Server Ver.2.0.2153
Platio

Platioは、モバイルアプリ開発支援ツールです。
ノン・プログラミングでアプリケーションを作ることができるソフトウェアサービスです。

【詳細はこちら】Platioとは

今回は、GravioからHTTPリクエストし、PlatioのPush通知機能を動作させます。

設定の流れ

設定の流れは、以下のとおりです。

  • 【事前準備】PlatioのAPIを使用するために必要な各種情報の取得
  • ワイヤレスボタンからのデータ収集設定
  • 動作(アクション)の設定
  • 動作タイミング(トリガー)の設定

PlatioのAPIを使用するために必要な各種情報の取得

今回は、すでにユーザーがミニアプリを使用している状態からスタートします。
APIでPush通知を送る際に必要となる情報は以下のとおりです。

  • プレートID
  • ユーザーID
  • APIトークン(トークンIDと秘密トークン)

Platio Studioの今回使用するプレートの編集画面からData Consoleを開きます。
image.png

右上のユーザーをクリックして表示されるプルダウンメニューの開発者をクリックします。
image.png

開発者向け情報から、プレートのIDとユーザーIDをメモします。
image.png

APIトークンを生成します。
上図では、すでに生成されていますので、赤枠の更新ボタンをクリックすることで再度生成します。
「有効なAPIトークンがありません」と表示されている場合も、横に表示される更新ボタンをクリックすることで生成します。
表示される画面のトークンIDと秘密トークンをメモします。

PlatioのAPIトークンについては、こちらの記事をあわせてご確認ください。

ワイヤレスボタンからのデータ収集設定

今回は、ワイヤレスボタンを使用します。
ワイヤレスボタンの設定については、Slackとボタンスイッチセンサーで「呼び出しシステム」を作ってみた!
をご参照ください。

動作(アクション)の設定

PlatioのWebAPIへHTTPリクエストするアクションを設定します。
APIの設定については、PlatioAPIガイドも合わせてご参照ください。

1.アクションカードの作成

サーバ管理画面より、アクションボタンをクリックし、アクション管理画面を表示します。
アクション管理画面の右上の”+”をクリックし新しいアクションカードを作成します。
作成したアクションカードをダブルクリックし、アクションを設定します。

2.アイコン(コンポーネント)を並べて設定する

ステップの追加の"+"をクリックし、コンポーネントを追加します。
今回は、"HTTPPost"コンポーネントを使用します。
追加したコンポーネントのプロパティに以下を設定します。

項目 設定値
URL https://api.plat.io/v1/[プレートID]/users/[ユーザーID]/notifications
HTTP METHOD POST
Content-Type application/json
Query String null
Body "{\"title\":\"来客通知💨\",\"body\":\"お客様がいらっしゃいました🔔\"}"
Authorization Type Bearer
Authorization Body [トークンID].[秘密トークン]

image.png

Bodyに設定する、titleには通知のタイトル、bodyには通知の本文を設定します。

以上でアクションの設定が終了しました。

動作タイミング(トリガー)の設定

ボタンが押されたタイミングで、Push通知動作を実行する設定をします。

項目 設定値
エリア 設定したボタンスイッチのレイヤー
レイヤー 設定したボタンスイッチのレイヤー
アクション名 作成したアクションカード
Interval 1
Classic/Threshold Trigger Classic Trigger
Button Press Single press

image.png

保存したあと、スライドボタンを有効にすることで、ボタンを押すとPush通知されます。

動作確認

ボタンを押すと、iPhoneに通知が表示されます。

動作動画

あとがき

PlatioのAPIを使用するために、HTTPリクエストでAuthorathation Bearerヘッダーを使いました。
Platio以外にも、BeararトークンでAPIを使うことができるものがあれば、Gravioから連携が可能です。
受付だけでなく、備品の在庫管理などでも使うことができそうですね。

mikawan
全国ネットワークの構築をやっています。本職のお話はあまり出せませんが少しずつクラウドプラットフォームを使ってやってみたいことをやって、記事にしてあげていこうと思います。 前職はIoTデータを収集したり、データを連携させたり、BI化してみたり、色々なアプリケーションを使用していました! これからは、WEBサイトを自分で作ったりして遊んでみたいと思います。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away