この物語は、入社して一年目の新人社員が上司の指南のもと、業務を自動化していく様を記したものです。物語はフィクションですが、自動化の手法は実際にパソコンやスマートフォンで実践できるものですので、物語と自動化作業の両方を楽しめます。(前回のストーリーはこちら)。

どんな会社にも、会社の売上を支えるキーマンがいる。もしも、その人がいなければ、会社自体が立ちゆかなくなるのではないかという人物だ。そんな人物が今回登場する。

彼の名は星野瞬成、この会社で一番の営業マンだ。そのスマートで軽妙なトークに客は心を奪われる。彼が接客すれば、冷やかしで立ち寄った客でさえも、家を買う気にさせてしまうという凄腕の持ち主だ。

そんな彼が珍しく社内で定期的に開催されるランニングの会にふらっと現れたのだ。このランニングの会は、本連載の6話で美人上司の太田先輩の発案により始まったイベントだ。その後、会社全体に広がり、会社から参加メンバーに差し入れが行われるまでになった。

星野さんは、ランニングに参加している面々に気遣いの一声をかけていく。以前会ったときのことを踏まえつつ服が似合うなどなど、その人が喜ぶ一言を的確に伝えていた。さすが、凄腕営業マン、ちょっとした事だけど、その営業技術の一端が垣間見える。

それに気づいた僕は、太田先輩に「星野さんって、さすがですよね」と話しかけたのだけど。太田先輩は、心ここにあらず、星野先輩に対して目がハートになっていた。星野さんは全女子社員の憧れの存在でもあった。

そして、ランニングを始めると、星野さんが話しかけてきた。

「田中君、最近、プログラミングを始めたらしいね。」

「はい。太田先輩がいろいろ教えてくれますので助かってます。」 「頑張ってね。ところで、最近、N支店の社員さんたちから、支店に出向いた時には毎回連絡が欲しいと言われるんだけど、いつも連絡忘れちゃってね。そんなに頻繁に行くわけではないから、タイミングが合う時に会って相談したいという人がいるんだけど。プログラムでなんとかできないの?」

「えー?プログラムで、なんとかですか?」

そんな話をしていたとき、急に太田先輩が飛び込んできた。

「私抜きで、そんな楽しそうな話しないで!」

続けて言う。「指定の場所に近づいたらLINEに通知するとか、IFTTT(イフト)を使えばできます!」

「本当?そのIFTTT(イフト)というのを使えばできるの?さすが太田さんだね。頼りになるね。」

星野さんに褒められて、太田先輩はその日、ずっと目がハートのままだった。僕は面白くない気持ちになり、星野さんを睨んでしまったようだ。「田中君、なんか顔が怖いんだけど。」と言われて我に返った。早く太田先輩を超えてサポートできるほどの人間になりたいと思った秋の夕方だった。

実際のプログラム

それでは、今回、太田先輩が作ったプログラムを紹介しましょう。とは言え、今回使うのは、IFTTT(イフト)というWebサービスです。プログラムを記述することなく、仕事を自動化することのできるツールです。

このツールの名前に注目するとプログラミング的な使い方をすることが分かります。その名前「IFTTT」ですが、これは「IF This Then That(もし、こうなら、そうする)」の略語となっています。つまり、「IF (条件) THEN (実行するタスク)」というプログラミング的な思考で使うことを前提としたWebサービスなのです。そして、IFTTTでは、Gmail、Evernote、Dropbox、Instagram、Twitter、LINEなど、さまざまなWebサービスを組み合わせてタスクを自動化することができるようになっています。

今回、凄腕営業マンの星野さんが実現したかったタスクは、支店に近づいたら、支店の社員に自動的にLINE通知したいというものです。私たちも、毎晩、帰宅前に家族に一報入れたいなど、位置情報と連動してLINE通知したい場面があります。そんなときに、IFTTTを使うと、手軽に自動通知の仕組みを作ることができます。スマートフォンにIFTTTのアプリをインストールすることで、位置情報に連動した処理を行うことができます。

IFTTTは英語のWebサービスですが、日本でも問題なく利用できます。以下の手順で設定を行います。

(1) IFTTTのWebサイトにアクセスしてサインイン

Webブラウザで、IFTTTのWebサイトにアクセスします。そして、ユーザー登録を行います。画面右上の[Sign up]ボタンをクリックします。サインアップには、GoogleアカウントかFacebookアカウントを利用できます。二度目に利用する時は[Sign in]ボタンをクリックします。

  • IFTTTにサインアップ

    IFTTTにサインアップ

(2) 新規アプレットを作成

次に、新規アプレットを作成しますy。画面右上にあるアカウントのアイコンをクリックし、続いて「Create」をクリックします。

  • 新規アプレットを作成

    新規アプレットを作成

(3) トリガーを選択

すると、次のような画面が出ます。ここでは、イベントの発生トリガーとなる[+This]のボタンをクリックします。

  • イベントの発生トリガーを選ぶ

    イベントの発生トリガーを選ぶ

(4) Locationサービスを選ぶ

たくさんのサービスが表示されますが、その[+ This]の部分で、Locationサービスを選択します。

  • Locationサービスを選択

    Locationサービスを選択

(5) エリアに入った時を指定

Locationサービスでは、「You enter an area(エリアに入った時)」「You exit an area(エリアから出た時)」「You enter or exit an area(出たり入ったりした時)」を選ぶことができます。ここでは、「You enter an area(エリアに入った時)」を選択します。

  • IFTTTにサインアップ

    IFTTTにサインアップ

(6) 通知地点を指定

すると、地図が表示されます。この地図を通知したい地点に合わせます。住所などを入力し、拡大率を調整することで、通知地点と範囲を選ぶことができます。

  • 通知地点を指定

    通知地点を指定

(7) アクションを選択

次に、位置情報が満たされたことによって引き越されるアクションを指定します。[+ That]のボタンをクリックします。

  • Thatをクリック

    Thatをクリック

(8) LINEを選択

たくさんのサービスが表示されます。検索ボックスでLINEを検索し、LINEのアイコンを選択しましょう。

  • LINEを選択

    LINEを選択

すると、LINEと接続するための[Connect]ボタンが表示されます。このボタンをクリックし、LINEにログインします。

  • [Connect]ボタンをクリック

    [Connect]ボタンをクリック

そして、IFTTTと「同意して連携する」ボタンをクリックします。

  • [同意して連携する]ボタンをクリック

    [同意して連携する]ボタンをクリック

(9) メッセージ送信のアクションを選ぶ

選択肢は一つだけです。「Send message(メッセージを送信する)」をクリックしましょう。

  • [Send message]を選択

    [Send message]を選択

(10) 宛先やメッセージを指定

続いて、送信するメッセージを指定します。Recipient(宛先)、Message(メッセージ)を指定して、[Create action]ボタンをクリックします。ここでは、Recipientに「1:1でLINE Notifyから通知」を、Messageに「星野ですが支店に立ち寄りました。」と設定しました。指定したら「Create action」をクリックします。

  • LINEでメッセージ送信のアクションを作成

    LINEでメッセージ送信のアクションを作成

(11) Finishボタンをクリック

最後に内容を確認して[Finish]ボタンをクリックして、アプレットの作成が完了します。

  • アプレットの作成が完了したところ

    アプレットの作成が完了したところ

(12) スマートフォンにIFTTTアプリをインストールする

続いて、IFTTTのアプリをスマートフォンにインストールします。こちらのページの下部にiPhoneやAndroidのインストールページへのリンクがあります。現在、iOSとAndroid用のアプリが用意されています。サインインすると、設定したアプレットにより、位置情報を利用できるようになり、特定場所に入った時に、LINEヘメッセージを通知できます。ただし、バッテリーセーバーをオフにしておくことや、IFTTTに位置情報の利用を許可しておくことなど、スマートフォン側の設定が必要になります。

バージョンにより項目が異なる場合がありますが、筆者の場合Android9(Galaxy S8)、iOS13.1.3で動作確認しました。

【Androidの場合】
・IFTTTのアプリを起動。サインインします。すると利用サービスの一覧が表示されますので、Locationを選択し、位置情報を許可します。
・Androidの設定より、アプリ>IFTTT>権限を選択。権限で位置情報がオンになっていることを確認します。オンになっていなければオンにします。
・同じく、設定より、アプリ>IFTTT>バッテリーを選択。バックグラウンド処理を許可をオンにします。
・Androidの設定でバッテリーセーバーなどがあれば、IFTTTをバッテリーの最適化対象から外します。

【iOSの場合】
・IFTTTのアプリを起動。サインインします。すると、位置情報を許可するかどうか尋ねられますので許可します。
・iOSの設定を開きます。下方にあるアプリの一覧からIFTTTを選んでタップします。そして、位置情報の利用を「常に」に設定し、Appのバックグラウンド更新をオンにします。

  • LINEグループに星野さんが立ち寄ったことが通知されたところ

    LINEグループに星野さんが立ち寄ったことが通知されたところ

●うまく動かない場合

IFTTTのLocationがうまく動作しない場合、端末の設定を疑うと良いでしょう。IFTTTがアクティブになっていないと位置情報を取得できません。最近のスマートフォンは、バッテリーの消費を抑えるため、アプリを強制的に終了してしまうバッテリーセーバーの機能が有効になっているので、設定を見直す必要があります。また、Android 8.0以上の場合は、IFTTTのアプリで、右上のプロフィールアイコンから「Sync options」を表示して、「Run Android Battery and WiFi connections faster」のチェックを入れると改善されるとのことです。

  • Android 8.0以上のIFTTT「Sync options」

    Android 8.0以上のIFTTT「Sync options」

まとめ

以上、今回はIFTTTを利用して、位置情報を利用してLINE通知する処理を実現する方法を紹介しました。IFTTTは様々なWebサービスをつなげて、処理を自動化することができます。数多くのサービスが用意されているのでタスクの自動化に活用できます。また、位置情報は、アイデア次第でさまざまな用途に利用できる機能です。アプリをインストールし、IFTTTでアプレットを指定するだけで実現できるこのテクニックを有効活用しましょう。

自由型プログラマー。くじらはんどにて、プログラミングの楽しさを伝える活動をしている。代表作に、日本語プログラミング言語「なでしこ」 、テキスト音楽「サクラ」など。2001年オンラインソフト大賞入賞、2004年度未踏ユース スーパークリエータ、2010年 OSS貢献者章受賞。技術書も多く執筆している。