Google AssistantをIFTTTで連携



今更感がありますが、スマートスピーカーを想定して、
IFTTTでGoogle Assistantを連携させてみたいと思います。

# いきさつ

先輩がスマートスピーカー使っていろいろやってて楽しそう
でも自分はもってないから、できないなぁ。。
↓

と思っていたら、先輩いわく、
Google Assistantがあればスマートスピーカー無しでそれっぽいことができるらしい！
↓

しかも、IFTTTを使えば簡単にいろんなサービスと連携できるらしい！
↓

**やってみよう！！**

です。

# IFTTTって？

自分もこれで知ったのですが、
IFTTTとは、「IF This Then That」でサービス同士の連携をさせることのできるサービス

つまり、簡単に言うと
「もし、とあるサービスで何かしたら、その時、とあるサービスで何かをする」を簡単に作れるサービス

**こんな便利なものを知らなかったなんて、、**

# IFTTTを使ってみた

早速やっていくわけですが、
IFTTTのアカウントの作り方は省略（というか、GoogleアカウントがあればOK）


IFTTTのTOP画面　→「**My Applet**」を選択 → 「**New Applet**」を選択
の順に選択していくと

次のような画面が表示される


![new_applet.png](https://qiita-image-store.s3.amazonaws.com/0/140968/3be31157-e584-42dc-8a52-d26b07992ad5.png)



## This

This ではトリガーとするサービスを選択し、設定します

まず、先ほどの画面から「**This**」をクリック、
連携できるアプリ一覧がすごい数出てくるので、
迷わず「**Google Assistant**」を検索→選択


![スクリーンショット 2018-04-04 18.48.29.png](https://qiita-image-store.s3.amazonaws.com/0/140968/b9d4c6f6-5d7c-06c3-a63d-904d04c37ea7.png)


クリックすると以下のような選択肢が出てくる


![スクリーンショット 2018-04-04 18.48.53.png](https://qiita-image-store.s3.amazonaws.com/0/140968/7b33cb7a-dd8a-75da-3979-4edea2e9265b.png)



これら全ての説明は後にして、
今回は一番左の **Say a simple phrase** というものを使ってやってみます

これを使うと、
「**指定した単純な言葉**が Google Assistant に対して送られたら」
をトリガーとできます！

こんな感じで作ってみます↓

![スクリーンショット 2018-04-04 19.13.17.png](https://qiita-image-store.s3.amazonaws.com/0/140968/38972edf-86c2-8184-4305-8463cb658d71.png)

　　　　　 ![スクリーンショット 2018-04-04 19.11.10.png](https://qiita-image-store.s3.amazonaws.com/0/140968/c5b3456e-a3d7-6949-0336-e50e3778d988.png)

最後に **Create trigger** をクリックして次へ

## That
Thatでは、「**This**」が実行されたタイミングで、動かしたいサービスを設定します

![スクリーンショット 2018-04-04 19.26.35.png](https://qiita-image-store.s3.amazonaws.com/0/140968/280b9b0a-8590-549b-a637-a6760c864edd.png)

「**That**」をクリックをすると、
「**This**」が実行されたタイミングで、起動したいアプリ一覧が出てくるので、
先ほどと同じような手順で、Gmailに連携して、


![スクリーンショット 2018-04-04 19.35.32.png](https://qiita-image-store.s3.amazonaws.com/0/140968/e80a9c30-dfe3-0479-4384-a747e356540e.png)



![スクリーンショット 2018-04-04 19.36.05.png](https://qiita-image-store.s3.amazonaws.com/0/140968/cb2b7c60-2bf2-6a6a-2cc6-52800fd7c103.png)


内容はこんな感じで、、

![スクリーンショット 2018-04-04 19.48.34.png](https://qiita-image-store.s3.amazonaws.com/0/140968/d2c2af8a-476e-579f-68ea-0dd889e405d1.png)

![スクリーンショット 2018-04-04 19.49.30.png](https://qiita-image-store.s3.amazonaws.com/0/140968/48fba1e4-959d-dd34-e1d5-c39483d74336.png)

最後に Create action を押したら、こんな画面になるから、

![スクリーンショット 2018-04-04 19.56.14.png](https://qiita-image-store.s3.amazonaws.com/0/140968/72164d40-244a-e4c5-ee18-8bcaed290cf4.png)

最後に finish を押せば・・・ **完成！**

![スクリーンショット 2018-04-05 23.31.53.png](https://qiita-image-store.s3.amazonaws.com/0/140968/517014d3-91a5-2d45-6b47-20d6091f3fcf.png)


# 動作確認

試してみる

Google Assistant で・・・
![IMG_0826.PNG](https://qiita-image-store.s3.amazonaws.com/0/140968/bc85e0de-d9c1-4749-4f79-096d8b59af30.png)



Gmailの下書きを確認してみると・・・
![スクリーンショット 2018-04-05 23.35.01.png](https://qiita-image-store.s3.amazonaws.com/0/140968/921dc6ea-c7bd-9158-cdb8-7e6c8ed8c3ec.png)

**できてる！**



# Google Assistantのトリガー解説

今回のテストでは、This で [**Say a simple phrase**] を使いました。
これらのトリガーについて、自分なりの説明を書いておこうと思います

## **Say a simple phrase**

**シンプルなフレーズを言う**

- 特定の言葉に対して何かしたい時とかに使う
  - 今回トリガーで使ったやつ（「ひらけ」で反応し、「ゴマ！！」って返してくれる）

## **Say a phrase with a number**
**数字を含むフレーズを言う**

- 特定の言葉にさらに数字を付加したものに対して何かさせたい場合
  - これを使うとこの後連携させるアプリに**数字の情報を送る**ことができる
  - 具体的には（**#**）の部分が数字に対応する

![スクリーンショット 2018-04-07 0.03.28.png](https://qiita-image-store.s3.amazonaws.com/0/140968/8a474267-e79a-e17e-403a-43a43953b023.png)

![IMG_0827.PNG](https://qiita-image-store.s3.amazonaws.com/0/140968/ed1d8ecb-ea6f-6403-b176-bbadaaf58249.png)


## **Say a phrase with a text ingredient**
**テキストを含むフレーズを言う**

- 特定の言葉にさらにテキストを付加したものに対して何かさせたい場合
  - これを使うとこの後連携させるアプリに**テキストの情報を送る**ことができる
  - 具体的には（**$**）の部分がテキストに対応する

![スクリーンショット 2018-04-07 0.18.37.png](https://qiita-image-store.s3.amazonaws.com/0/140968/c45b74ad-3579-62d4-091a-0d26d9df2ad6.png)

![IMG_0828.PNG](https://qiita-image-store.s3.amazonaws.com/0/140968/8f8b6db5-e66b-8833-2c7e-d5c3d51502bb.png)

## **Say a phrase with both a number and a text ingredient**
**数字とテキストを含むフレーズを言う**

- 特定の言葉にさらに数字とテキストを付加したものに対して何かさせたい場合
  - つまり**合わせ技**
  - 具体的には（**#**）の部分が数字に対応、（**$**）の部分がテキストに対応する


　　![スクリーンショット 2018-04-07 0.30.02.png](https://qiita-image-store.s3.amazonaws.com/0/140968/0f58e08e-2870-fe2d-a242-77343f81c49b.png)

![IMG_0829.PNG](https://qiita-image-store.s3.amazonaws.com/0/140968/94873502-4795-9d76-7ea7-76c4dbd7d26a.png)



### 補足

ちなみに連携したアプリで
入力された数字とかテキスト使う時は、こんな感じ

![スクリーンショット 2018-04-07 0.35.04.png](https://qiita-image-store.s3.amazonaws.com/0/140968/ff10f9b5-0a5e-5150-c074-e21c5334ed0c.png)

# まとめ

スマートスピーカーの拡張をイメージして、
「IFTTT」,「Google Assistant」を使って連携をやってみました。

今回選んだ「Gmail」の部分は「IFTTT」のサポートしている様々なアプリから選べるので、
とても簡単に様々な連携を楽しめると思います。

ただ、もっと複雑なことをさせたくなると、
「IFTTT」の連携にも限界はあるので、
今度はもっと踏み込んだスマスピ開発を試してみたいと思います。