こんにちは、えんぞーです。
今回はDocomoのSPモードメールの通知をカウントしてZooperWidgetに表示するという事をやってみましょう。
SPモードじゃ無くても応用出来るかと思いますのでキャリアメールの通知をカウントしたい方は参考になるのでは無いでしょうか。
カウントするTASKとリセットするTASKを作る
まずは新しいTASKを作ってアクションを追加します。
今回はTASK名を「spMode」とします。
変数に加算するアクションを追加します。Variables→Variables Add。
変数名を「%SPCOUNTUP」としてValueは「1」を指定。呼び出される度に変数「%SPCOUNTUP」に1加算します。
次に新しいアクションを追加してPlugin→ZooperWidget...を選択。
上記の様に設定し、加算された変数をZooper用の変数に代入するように設定します。
ここまでやったらこのTASKは完了なので、戻って新しいTASKを作ります。
新しく作るTASKは「spModeEmpty」とでもします。
文字通り、カウントされたものを0に戻すためのTASKになります。
先ほどと同じように変数を設定しますが、今度はVariable Setを選びます。
Toの欄に0を入れて下さい。
完了したら先ほどと同じようにZooperの変数に代入するアクションを追加します。
同じ作業をもう一度。
それぞれのTASKを条件付けする
PROFILESから追加でUIを選択します。
次にNotificationを選択。
次の画面でアプリケーションにSPモードメールを選択します。
この時、Title欄には「新着メール」と記入しておいて下さい。
これはSPモードメールの場合、まず「未受信メール受信中」みたいな通知があり、その後に「新着メール」の通知が来て2回カウントされるからです。
こうしておくと新着~の部分だけが対象になります。
実行TASKは先ほど作った「spMode」にします。
これでこのPROFILEは完了です。
次にSPモードメールのアプリを立ち上げたらカウントをリセットするPROFILEを作成します。
PROFILESの追加からApplicationを選んでSPモードメールを選択。
TASKにさっき作った「spModeEmpty」を指定すれば完了。
最終的にPROFILESの項目にはSPモードメールの通知でカウントアップするPROFILEとSPモードメール起動でカウントリセットするPROFILEの二つが出来ます。
ZooperWidgetへの設定
Zooperの方に関してはそのまま変数を好きなところに埋め込むだけです。
こうなりますね。
※追記:Zooper側の変数について
この部分で躓く人が多い様ですので補足させて貰います。
Zooper側で設定する変数はTASKER側で最初に作った変数「%~」のものでは無く、Zooper用に作って値を代入した変数になります。
上の画像で言うと、Tasker側でZooper用の変数を「LINE」で作成し、最初に作ったTASKERで使用している変数「%LINECOUNT」を代入しています。
Zooperから参照する場合はルールとして「#T*****#」の形にしないといけないので最終的に「#TLINE#」となります。
考えて見るとこの説明がすっぽり抜けていたので躓く人が多かったのかも知れません・・・ゴメンナサイ(;´Д`)
試して見る
さて、早速試して見ましょう。
PCから時間差でメールを送信してみると・・・。
うまくいきました。
画像無いですが、このあとSPモードメール立ち上げたらカウントは0になっています。
ただ、メールが1通ずつ来るときは良いのですが・・・2通まとまってとかになるとどうも新着メール(2)とかになるのでスルーされるようです。
でもTitle欄で指定しておかないと毎度2回カウントされてしまいますし・・・なんか微妙です。
それぞれ使い勝手の良いように調整すれば良いだけなのでそこまで問題ではないのでしょうけども、スッキリしない。
弄っていて思ったのですが、
「最近SPモードメール使わないな。」
仕事であれば普通のEメール使いますし、友人関連はLINEなりViberなりで連絡してきます。
最近私のSPモードメールに来るのは店のクーポン情報くらいです・・・(;´Д`)
と言うことで、またしてもあまり需要のない所を掘り下げてしまった感が一杯ですが「参考」という事で^^
追記:LINEでのカウントアップ
LINEでのカウントアップを行う際も基本的には一緒なのですが、通知ウィンドウに出てくるテキストが「送信者:メッセージ」となるのでTitle部分は空にします。
特定の人のメッセージをカウントするのであれば送信者名を入れるとその人だけでカウント出来るかも知れません。(試してませんが)
LINEカウントアップの問題点
画面がONの時はこのままで良いと思うのですが、問題としては画面がOFFの時(スリープ状態)みたいですね。
理屈としてはLINEの通知ダイアログが出てしまうとLINEが起動されたと見なされてカウントが0に戻される。
なので、解決策としては大まかに分けると
- LINEを起動したらカウントを0にするタスクを無くして手動でカウントを0にする
- LINEの通知設定を変更する
このような手段でしょうか。
手動でカウントを0にするっていうのはTASKER使っている恩恵が減ってしまいますのでオススメしませんが、やる場合はスイッチを作ったり影響の無い部分にカウントリセットの動作を入れ込む事になります。
本命のLINEの通知設定についてはLINEの設定を下記の様に変更します。
試して見た感じだと、シンプルで問題無さそうですが連続投稿だとカウントが追いつかないこともあるみたいです。
これについてはメールでも同じですし、もともと正確なカウントが出来るわけでは無いのでご愛敬でしょうか。
とは言え、画面OFF時のダイアログ表示が使えなくなるので自分の好みに合わせて模索する事になるかと思います。
参考までにテスト用に作ったTASKER設定をアップしておきますので必要であれば参考にしてみて下さい。
※追記:Zooper用のテンプレートもアップしました。Pro版であれば使えるかと思います。あくまで参考程度ですが・・・。
上記のテストで作ったテンプレートと一緒なのでセットで動作確認済みです。
Zooperのテンプレートは「ZooperWidget/Templates」に置いてからウィジット設定で読み込んで使用して下さい。
TASKERへのインポート方法はAndroidのルートディレクトリにある「TASKER/projects」フォルダにダウンロードしたファイルを置いてTASKER側でインポートします。
置く場所としてはTASKER側から指定出来ればどこでも良いと思いますがインポート時のデフォルトディレクトリが上記の場所になるのでオススメです。
インポート後は下のタブに「countup」として追加されます。
設定はTASKER部分のみなのでZooper側は「#TLINE#」の変数で適当なものを作って下さい。Gmailの方は「#TGMAIL#」です。