広告

Googleカレンダーに電話発着信ログ – Tasker

※この記事は広告およびアフィリエイトプログラムによる収益をぼちぼち得ています。

Androidデバイス2台(非Root)に入ってる電話アプリたち(プリイン電話アプリ/LINE/Duo/Rakuten Link)の着信・発信・不在着信のログがTasker経由で一応取れるようになったのでメモ。

着信・発信・通話終了・不在着信、4種類の通知を受け取ったその時、その時刻で、1分間の予定がGoogleカレンダーに作成されるものです。(1分間=Taskerのカレンダー登録アクションのデフォ値)

わしがTasker真面目に触り始めて2日くらいなので、初心者に優しい記事になってる…はず… 理解できないところあったらリプでもコメでもいいので教えてくれ~ わしも理解できてるか怪しいが…

※注意
通話時間が予定継続時間になるわけではないヨ!いずれそういうやつも作ってみたいけど、とりあえず今回は絶対各ログ1分間の予定になります!
もっといい方法あるかもだけど、Tasker初心者だからとりあえず思いついたこの方法でしばらく動かしてみるヨ!

また、各電話アプリの通知の文言を拾って作動させるやつだから、アプリのアプデとかで今後文言が変わったりすると、判別する文言を修正しなきゃいけないから注意!しかもデバイスやバージョンで通知の文言は変わってくると思うから、通知の文言(イベントパラメータ)の確認は避けて通れない!

めちゃくちゃ面倒くさい方法だけど、わしはIFTTTモバイルアプリをアンインストールするって決めたんや…!何が何でもTaskerで可能にせんといかんのや…!

広告

イベントパラメータ確認

まず、今回はTaskerの通知系のイベントをトリガーに使うんだけど、その際受け取れるイベントパラメータという、通知の内容が入ってる変数がいくつかある。(着信中!とか発信しています!とかの発着信のときの通知の文言を拾うよ。)今回はその変数を使って、発着信・通話終了・不在着信を判別したり、そのままログに出力したりするので、その内容のうち使えそうな変数を把握しておく。

イベント: 通知 → アクション: カレンダー登録(タイトル: “%evtprm()”)

とりあえず上記のような、通知のイベントパラメータを全部カレンダーに出力って内容の、シンプルなテスト用プロファイルを作って「%evtprm()」を出力する。すると、イベントパラメータの全部(%evtprm1〜%evtprm8)の内容がカレンダーの予定のタイトルとなって確認できるので、はじめにアプリの通知毎にこれを動かして、使えそうなイベントパラメータを確認する。

ここで作った通知のイベントパラメータを確認するだけのプロファイルは、今後各アプリのアプデ等の影響でログが取れなくなった時の確認でも使えるので温存しておく。

イベントパラメータの内容を全部まとめたやつは、この記事の一番下にあります。

プロファイル内容

着信プロファイル

↓この表は、それぞれのアプリの着信の通知を受け取ってみて、その際イベントパラメータで受け取れた、着信判別に使えそうな項目をまとめたもの。

%evtprm()電話LINEDuoRakuten Link
タイトル
(%evtprm2)
[相手の名前か番号][相手の名前][相手の名前か番号]音声通話の着信
文字
(%evtprm3)
通話着信LINE音声通話を着信中Duo の音声通話を着信しています[相手の名前か番号]
各アプリの通知の文言。アプデで変わる可能性有。デバイス毎に違う可能性有。

左3つの電話アプリは、イベントパラメータの 文字(%evtprm3) で、その通知が着信かどうかを判別できそう。Rakuten Linkだけは 文字(%evtprm3) で判別できないため、タイトル(%evtprm2) で判別する別のプロファイルを用意する。おのれRakuten Linkめ。

この時”着信”の文字列だけで判別すると、不在着信の通知も拾っちゃうから注意。

イベントパラメータの判別箇所が決まったら、イベントを指定していく。

イベント通知
所有者であるアプリ
(%evtprm1)
LINE, Duo, 電話
タイトル
(%evtprm2)
文字
(%evtprm3)
通話着信/*着信中*/*通話を着信しています
(電話用/LINE用/Duo用)
副テキスト
(%evtprm4)
メッセージ
(%evtprm5)
その他のテキスト
(%evtprm6)
カテゴリー
(%evtprm7 ?)
新着のみ
(%evtprm8 ?)
未チェック
*はホニャララ、/はORになるらしいよ。

指定したアプリの通知で、文字(%evtprm3) が入力値と一致する場合って内容のトリガーになった。そしてこれに紐づけた下のタスクのアクションが発動する。

タスク “電話 着信ログ”

アクションカレンダー登録
あと / 継続 (分)
カレンダーGoogle:[任意のカレンダー]
(虫眼鏡マークから選択できる)
タイトル電話: %evtprm3 %evtprm2
(”電話: 着信中 0X0-XXXX-XXXX”的な表記になる)
説明from Tasker
(カレンダー見た時わかりやすくするため念の為記述)
場所
予定あり未チェック
全日未チェック
エラーが起きても続ける未チェック
Ifなし
ラベル未チェック
これが予定の内容になる。

着信プロファイル(Rakuten Link用)

Rakuten Linkは 文字(%evtprm3) で判別できないから、タイトル(%evtprm2) で判別する。

イベント通知
所有者であるアプリ
(%evtprm1)
Rakuten Link
タイトル
(%evtprm2)
*通話の着信
文字
(%evtprm3)
副テキスト
(%evtprm4)
メッセージ
(%evtprm5)
その他のテキスト
(%evtprm6)
カテゴリー
(%evtprm7 ?)
新着のみ
(%evtprm8 ?)
未チェック

タスク “電話 着信ログ(Rakuten Link用)”

他の電話アプリと タイトル(%evtprm2) と 文字(%evtprm3) の内容の種類が逆だから、ログのタイトルに出力する変数の順序を変えた。

アクションカレンダー登録
あと / 継続 (分)
カレンダーGoogle:[任意のカレンダー]
タイトル電話: %evtprm2 %evtprm3
(”電話: 着信 0X0-XXXX-XXXX”的な表記になる)
説明from Tasker
場所
予定あり未チェック
全日未チェック
エラーが起きても続ける未チェック
Ifなし
ラベル未チェック

発信プロファイル

発信のときの各電話アプリの通知(イベントパラメータ)内容はこんな感じ。

%evtprm()電話LINEDuoRakuten Link
タイトル
(%evtprm2)
[相手の名前か番号][相手の名前][名前か番号]さんと通話中です[相手の名前か番号]
文字
(%evtprm3)
発信中LINE音声通話を発信中タップすると会話に戻ります発信中

発信プロファイルは全部 文字(%evtprm3) で発信の通知かどうかを判別できそう。

イベント通知
所有者であるアプリLINE, Duo, Rakuten Link, 電話
タイトル
文字*発信中*/タップすると会話に戻ります
(右はDuo用)
副テキスト
メッセージ
その他のテキスト
カテゴリー
新着のみ未チェック

タスク “電話 発信ログ”

アクションカレンダー登録
あと / 継続 (分)
カレンダーGoogle:[任意のカレンダー]
タイトル電話: %evtprm3 %evtprm2
(電話: 発信中 0X0-XXXX-XXXX)
説明from Tasker
場所
予定あり未チェック
全日未チェック
エラーが起きても続ける未チェック
Ifなし
ラベル未チェック

通話終了プロファイル

“通話中”の通知が削除された時、作動するやつ。終話で通知が勝手に消えた場合でも作動しました。

%evtprm()電話LINEDuoRakuten Link
タイトル
(%evtprm2)
[相手の名前か番号][相手の名前][名前か番号]さんと通話中です[相手の名前か番号]
文字
(%evtprm3)
通話中LINE通話中タップすると会話に戻ります通話進行中
Duoさんはまあいいとして、Linkの通話進行中てなんやねん!

イベント種類は、”通知が削除された”になる。

イベント通知が削除された
所有者であるアプリLINE, Duo, Rakuten Link, 電話
タイトル
文字*通話中*/タップすると会話に戻ります/通話進行中
(電話とLINE用/Duo用/Rakuten Link用)
副テキスト
メッセージ
その他のテキスト
カテゴリー
新着のみ未チェック

タスク “電話 通話終了ログ”

文字(%evtprm3) を拾ってきても内容は”通話中”とかなので、”通話終了”っていう文字列を決め打ちで出す。

アクションカレンダー登録
あと / 継続 (分)
カレンダーGoogle:[任意のカレンダー]
タイトル電話: 通話終了 %evtprm2
(電話: 通話終了 0X0-XXXX-XXXX)
説明from Tasker
場所
予定あり未チェック
全日未チェック
エラーが起きても続ける未チェック
Ifなし
ラベル未チェック

不在着信プロファイル

タイトル(%evtprm2) と 文字(%evtprm3) の内容の種類がまちまちなので、タイトル(%evtprm2) で判別するプロファイルと、文字(%evtprm3) で判別するプロファイル、2通りを作る。

%evtprm()電話電話2LINEDuoRakuten Link
タイトル
(%evtprm2)
不在着信[相手の名前か番号]LINE不在着信[相手の名前か番号][相手の名前か番号]
文字
(%evtprm3)
[相手の名前か番号]不在着信[相手の名前か番号]Duo の音声通話に出られませんでした不在着信
律儀に2通りの通知をくれる電話アプリは、電話2の方の通知を拾うようにします。

不在着信プロファイル(タイトル判別)

イベント通知
所有者であるアプリLINE
タイトル*不在着信
文字
副テキスト
メッセージ
その他のテキスト
カテゴリー
新着のみ未チェック

タスク “電話 不在着信ログ(タイトル 文字)”

アクションカレンダー登録
あと / 継続 (分)
カレンダーGoogle:[任意のカレンダー]
タイトル電話: %evtprm2 %evtprm3
(タイトル 文字 の順序)
説明from Tasker
場所
予定あり未チェック
全日未チェック
エラーが起きても続ける未チェック
Ifなし
ラベル未チェック

不在着信プロファイル(文字判別)

イベント通知
所有者であるアプリDuo, Rakuten Link, 電話
タイトル
文字不在着信/*通話に出られませんでした
(電話とRakuten Link用/Duo用)
副テキスト
メッセージ
その他のテキスト
カテゴリー
新着のみ未チェック

タスク “電話 不在着信ログ(文字 タイトル)”

アクションカレンダー登録
あと / 継続 (分)
カレンダーGoogle:[任意のカレンダー]
タイトル電話: %evtprm3 %evtprm2
(文字 タイトル の順序)
説明from Tasker
場所
予定あり未チェック
全日未チェック
エラーが起きても続ける未チェック
Ifなし
ラベル未チェック

Googleカレンダーに実際に出力されたログ

電話着信電話: 通話着信 0X0-XXXX-XXXX
電話発信電話: 発信中 0X0-XXXX-XXXX
電話通話終了電話: 通話終了 0X0-XXXX-XXXX
電話不在着信電話: 不在着信 0X0-XXXX-XXXX
LINE着信電話: LINE音声通話を着信中… 名前
LINE発信電話: LINE音声通話を発信中… 名前
LINE通話終了電話: 通話終了 名前
LINE不在着信電話: LINE不在着信 名前
Duo着信電話: Duo の音声通話を着信しています ‭0X0-XXXX-XXXX
Duo発信電話: タップすると会話に戻ります 0X0-XXXX-XXXX‬ さんと通話中です
Duo通話終了電話: 通話終了 0X0-XXXX-XXXX‬ さんと通話中です
Duo不在着信電話: Duo の音声通話に出られませんでした 0X0-XXXX-XXXX
Rakuten Link着信電話: 音声通話の着信 0X0-XXXX-XXXX
Rakuten Link発信電話: 発信中 0X0-XXXX-XXXX
Rakuten Link通話終了電話: 通話終了 0X0-XXXX-XXXX
Rakuten Link不在着信電話: 不在着信 0X0-XXXX-XXXX
それぞれ1分間の予定になってます!

電話かけつつ、実行ログを見つつ、テストしてました。

↓プロファイル一覧はこんな感じで安定。

イベントパラメータの内容メモ

通知毎のイベントパラメータの内容をまとめてみた。主に %evtprm2 と %evtprm3 を拾って、判別やログに使う感じ。

※アプリのアプデとかで今後文言が変わる可能性あり。また、デバイスやバージョンで変わってくる可能性あり。

電話アプリ

%evtprm()電話(不在着信)電話(不在着信2)電話(着信中)電話(発信中)電話(通話中)
%evtprm1com.google.android.dialer左と同じ左と同じ左と同じ左と同じ
%evtprm2不在着信相手の名前か番号相手の名前か番号相手の名前か番号相手の名前か番号
%evtprm3相手の名前か番号不在着信通話着信発信中通話中
%evtprm4%evtprm4%evtprm4%evtprm4%evtprm4%evtprm4
%evtprm5%evtprm5%evtprm5%evtprm5%evtprm5%evtprm5
%evtprm6%evtprm6%evtprm6%evtprm6%evtprm6%evtprm6
%evtprm7%evtprm7missed_callcall%evtprm7
%evtprm8falsefalsefalsefalse
なぜか不在着信の通知が2つ来る…

LINE

%evtprm()LINE(不在着信)LINE(着信中)LINE(発信中)LINE(通話中)
%evtprm1jp.naver.line.android左と同じ左と同じ左と同じ
%evtprm2LINE不在着信相手の名前相手の名前相手の名前
%evtprm3相手の名前LINE音声通話を着信中…LINE音声通話を発信中…LINE通話中…
%evtprm4%evtprm4%evtprm4%evtprm4%evtprm4
%evtprm5%evtprm5%evtprm5%evtprm5LINE通話中…
%evtprm6友達の名前LINE音声通話を着信中…LINE音声通話を発信中…
%evtprm7msgcallmsgmsg
%evtprm8falsefalsefalse

Duo

%evtprm()Duo(不在着信)Duo(着信中)Duo(発信中)Duo(通話中)
%evtprm1com.google.android.apps.tachyon左と同じ左と同じ左と同じ
%evtprm2相手の名前か番号相手の名前か番号[名前か番号]さんと通話中です[名前か番号]さんと通話中です
%evtprm3Duo の音声通話に出られませんでしたDuo の音声通話を着信していますタップすると会話に戻りますタップすると会話に戻ります
%evtprm4%evtprm4%evtprm4%evtprm4%evtprm4
%evtprm5%evtprm5%evtprm5%evtprm5%evtprm5
%evtprm6%evtprm6相手の名前か番号
Duo の音声通話を着信しています
[名前か番号]さんと通話中です
タップすると会話に戻ります
[名前か番号]さんと通話中です
タップすると会話に戻ります
%evtprm7missed_callcall%evtprm7%evtprm7
%evtprm8truefalsefalsefalse
音声通話のみ検証。Duoは発信中と通話中の識別ができない…

Rakuten Link

%evtprm()Rakuten Link(不在着信)Link(着信中)Link(発信中)Link(通話中)
%evtprm1jp.co.rakuten.mobile.rcs左と同じ左と同じ左と同じ
%evtprm2相手の名前か番号音声通話の着信相手の名前か番号相手の名前か番号
%evtprm3不在着信相手の名前か番号発信中通話進行中
%evtprm4%evtprm4%evtprm4%evtprm4%evtprm4
%evtprm5%evtprm5%evtprm5%evtprm5%evtprm5
%evtprm6%evtprm6%evtprm6%evtprm6%evtprm6
%evtprm7%evtprm7call%evtprm7%evtprm7
%evtprm8falsefalsefalsefalse
アプリ毎に表記がまちまちだなぁ。

コメント

タイトルとURLをコピーしました