【Android】TaskerとZooperでSPモードのメール通知をカウント

screenshot_65

こんにちは、えんぞーです。

今回はDocomoのSPモードメールの通知をカウントしてZooperWidgetに表示するという事をやってみましょう。

SPモードじゃ無くても応用出来るかと思いますのでキャリアメールの通知をカウントしたい方は参考になるのでは無いでしょうか。

カウントするTASKとリセットするTASKを作る

tasksp001 tasksp002
まずは新しいTASKを作ってアクションを追加します。
今回はTASK名を「spMode」とします。

tasksp004 tasksp005
変数に加算するアクションを追加します。Variables→Variables Add。
変数名を「%SPCOUNTUP」としてValueは「1」を指定。呼び出される度に変数「%SPCOUNTUP」に1加算します。

tasksp006 tasksp007
次に新しいアクションを追加してPlugin→ZooperWidget…を選択。

tasksp008 tasksp009
上記の様に設定し、加算された変数をZooper用の変数に代入するように設定します。
ここまでやったらこのTASKは完了なので、戻って新しいTASKを作ります。

tasksp010 tasksp002
新しく作るTASKは「spModeEmpty」とでもします。
文字通り、カウントされたものを0に戻すためのTASKになります。

tasksp013 tasksp014
先ほどと同じように変数を設定しますが、今度はVariable Setを選びます。
Toの欄に0を入れて下さい。

完了したら先ほどと同じようにZooperの変数に代入するアクションを追加します。

tasksp007 tasksp008
同じ作業をもう一度。

それぞれのTASKを条件付けする

tasksp019 tasksp023
PROFILESから追加でUIを選択します。

tasksp024 tasksp021
次にNotificationを選択。
次の画面でアプリケーションにSPモードメールを選択します。

この時、Title欄には「新着メール」と記入しておいて下さい。
これはSPモードメールの場合、まず「未受信メール受信中」みたいな通知があり、その後に「新着メール」の通知が来て2回カウントされるからです。

こうしておくと新着~の部分だけが対象になります。

実行TASKは先ほど作った「spMode」にします。

これでこのPROFILEは完了です。

次にSPモードメールのアプリを立ち上げたらカウントをリセットするPROFILEを作成します。

PROFILESの追加からApplicationを選んでSPモードメールを選択。
TASKにさっき作った「spModeEmpty」を指定すれば完了。

最終的にPROFILESの項目にはSPモードメールの通知でカウントアップするPROFILEとSPモードメール起動でカウントリセットするPROFILEの二つが出来ます。

ZooperWidgetへの設定

Zooperの方に関してはそのまま変数を好きなところに埋め込むだけです。

tasksp025
こうなりますね。

※追記:Zooper側の変数について

この部分で躓く人が多い様ですので補足させて貰います。

Zooper側で設定する変数はTASKER側で最初に作った変数「%~」のものでは無く、Zooper用に作って値を代入した変数になります。

Screenshot_2015-01-05-11-59-58

上の画像で言うと、Tasker側でZooper用の変数を「LINE」で作成し、最初に作ったTASKERで使用している変数「%LINECOUNT」を代入しています。

Zooperから参照する場合はルールとして「#T*****#」の形にしないといけないので最終的に「#TLINE#」となります。

考えて見るとこの説明がすっぽり抜けていたので躓く人が多かったのかも知れません・・・ゴメンナサイ(;´Д`)

試して見る

さて、早速試して見ましょう。
PCから時間差でメールを送信してみると・・・。

tasksp026 tasksp029

tasksp028

うまくいきました。

画像無いですが、このあとSPモードメール立ち上げたらカウントは0になっています。

ただ、メールが1通ずつ来るときは良いのですが・・・2通まとまってとかになるとどうも新着メール(2)とかになるのでスルーされるようです。

でもTitle欄で指定しておかないと毎度2回カウントされてしまいますし・・・なんか微妙です。

それぞれ使い勝手の良いように調整すれば良いだけなのでそこまで問題ではないのでしょうけども、スッキリしない。

弄っていて思ったのですが、

「最近SPモードメール使わないな。」

仕事であれば普通のEメール使いますし、友人関連はLINEなりViberなりで連絡してきます。

最近私のSPモードメールに来るのは店のクーポン情報くらいです・・・(;´Д`)

と言うことで、またしてもあまり需要のない所を掘り下げてしまった感が一杯ですが「参考」という事で^^

追記:LINEでのカウントアップ

Screenshot_2014-11-21-10-14-24

LINEでのカウントアップを行う際も基本的には一緒なのですが、通知ウィンドウに出てくるテキストが「送信者:メッセージ」となるのでTitle部分は空にします。

特定の人のメッセージをカウントするのであれば送信者名を入れるとその人だけでカウント出来るかも知れません。(試してませんが)

LINEカウントアップの問題点

画面がONの時はこのままで良いと思うのですが、問題としては画面がOFFの時(スリープ状態)みたいですね。

理屈としてはLINEの通知ダイアログが出てしまうとLINEが起動されたと見なされてカウントが0に戻される。

Screenshot_2014-11-21-11-19-32

なので、解決策としては大まかに分けると

  • LINEを起動したらカウントを0にするタスクを無くして手動でカウントを0にする
  • LINEの通知設定を変更する

このような手段でしょうか。

手動でカウントを0にするっていうのはTASKER使っている恩恵が減ってしまいますのでオススメしませんが、やる場合はスイッチを作ったり影響の無い部分にカウントリセットの動作を入れ込む事になります。

本命のLINEの通知設定についてはLINEの設定を下記の様に変更します。

Screenshot_2014-11-21-11-08-43

試して見た感じだと、シンプルで問題無さそうですが連続投稿だとカウントが追いつかないこともあるみたいです。

これについてはメールでも同じですし、もともと正確なカウントが出来るわけでは無いのでご愛敬でしょうか。

とは言え、画面OFF時のダイアログ表示が使えなくなるので自分の好みに合わせて模索する事になるかと思います。

参考までにテスト用に作ったTASKER設定をアップしておきますので必要であれば参考にしてみて下さい。

※追記:Zooper用のテンプレートもアップしました。Pro版であれば使えるかと思います。あくまで参考程度ですが・・・。

上記のテストで作ったテンプレートと一緒なのでセットで動作確認済みです。

Screenshot_2015-01-20-00-24-54Screenshot_2015-01-20-00-41-31

“LINEカウントアップTASKER設定” をダウンロード countup.prj.xml – 63 回のダウンロード – 10 KB

“LINEカウントアップZooperファイル” をダウンロード linecount.zw – 51 回のダウンロード – 3 KB

Zooperのテンプレートは「ZooperWidget/Templates」に置いてからウィジット設定で読み込んで使用して下さい。

TASKERへのインポート方法はAndroidのルートディレクトリにある「TASKER/projects」フォルダにダウンロードしたファイルを置いてTASKER側でインポートします。

置く場所としてはTASKER側から指定出来ればどこでも良いと思いますがインポート時のデフォルトディレクトリが上記の場所になるのでオススメです。

Screenshot_2014-11-21-11-36-59

インポート後は下のタブに「countup」として追加されます。

設定はTASKER部分のみなのでZooper側は「#TLINE#」の変数で適当なものを作って下さい。Gmailの方は「#TGMAIL#」です。

コメント

  1. にし より:

    はじめまして。
    最近taskerを使い始めた者です。
    いろいろ検索して、こちらに辿り着きました。
    メールの新着カウントについて、こちらと同じように設定したところ、上手く動きました。
    LINEも同じように設定したところ、LINEについてはカウントしてくれません。
    メールのタスクを削除し、LINEだけにすると上手く動きます。
    何か解決策があればご教示願います。

    • えんぞー より:

      >にしさん
      コメントありがとうございます^^

      LINEでのカウントアップについてですが、TASKERのPROFILESを設定する際にオーナーアプリをLINEにしてTITLEを空にすると如何でしょうか。
      LINEの場合だとNotificationのタイトル部分は固定の文字列では無く送信者の名前とメッセージ本分になってしまうのでタイトル部分を限定出来ないかな・・・と。
      この設定だとLINE関連のお知らせで全部カウントアップしてしまうと思いますが、実用に当たっては問題はないかと思います。

      メールのタスクを削除してLINEだけにすると上手くいくと言う部分ですが、メールとLINEのタスク部分で変数が同一だったりしませんか?
      もし一緒であれば違う文字列の変数にしてみて下さい。(ここは直接関係無いかも知れませんけども・・。)

      キャリアメールを既に解約してしまっているので二つ同時でのカウントアップのテストは出来ませんでしたが、
      LINEのメッセージが来る度にカウントアップする動作は上記の方法で確認出来ました。

      LINEの設定等で変わる部分も出てくるのかも知れませんが、一度お試し下さい。

      • にし より:

        早速お返事いただきありがとうございます。
        タイトルを空欄にしてみたのですが、残念ながら動作しませんでした。
        task editの画面の再生ボタンのようなものを押すとカウントしますが、自動ではカウントしてくれません。
        変数ですが、メールとは別のものにしております。

        • えんぞー より:

          >にしさん

          私の方でも色々試して見て、問題になりそうな箇所を記事に追記しましたので参考にしてみて下さい。
          あとTASKER部分の設定を置いておきましたので参考までに~。
          一応、SPモードメールの代わりにGmailにてカウントアップを確認しています。
          GmailもLINE同様Title部分が固定にならないのでTitle部分は空で設定してあります。

  2. にし より:

    設定までアップしていただき、ありがとうございます。
    おかげさまで、メールもLINEも動作しました。
    いろいろ調べたのですが情報が少なく、諦めかけていたので嬉しいです!
    まだまだわからないことだらけですが、少しずつ勉強していきます。
    ありがとうございました。

  3. ひろ より:

    はじめまして。
    この記事を参考にLINEとGmailで作ってみたのですが、ホームのカウンターが動きません。
    TaskerのTask Editの左下の三角を手動で押した場合は、動きます。
    何か解決策などはありませんか?

    • えんぞー より:

      >ひろさん

      コメントありがとうございます^^
      TASKERの実行ボタンで実行するとカウントアップするのであればカウントする部分は問題無いかと思います。
      後はLINEやMailの通知を正常に感知しているかという部分と、Zooper側の表示部分の設定がきちんと出来ているかという部分でしょうか。

      TASKER側の設定が上手くいっていてもZooper側で変数のスペルミス等があるとホーム画面の表示は変わりませんのでその当たりを確認してみて下さい。

      • ひろ より:

        お返事ありがとうございます。
        スペルのミスは無いです。
        Zooperの設定等でしょうか?
        Zooperも使い始めて間もないので、イマイチわかっていないのですが…

        • えんぞー より:

          手動で実行したときにホーム画面に設置したZooperがカウントアップしているのであればZooperは正常です。(手動で実行したときにホームのカウンターが動かないのであればZooperが問題の可能性もあります)
          で、実際にLINEやGMAILを受信したときにカウントアップしないのはTASKERのPROFILES設定でそれぞれの通知をキャッチ出来ていないという可能性があります。
          PROFILESで設定しているLINEやGMAILのTITLE部分は空になっているか確認してみて下さい。
          それと、この機能はAndroidの上にある通知バーの通知を見ていますので、Android側の設定で通知をOFFにしていたりしても動かなくなります。
          合わせて確認してみて下さい。(LINEやGMAIL受信したときに上のバーに通知が出ているかどうか)

          • ひろ より:

            何度もすいません。
            PROFILESのTITLEも空で、通知も着ています。
            やはり、機械音痴の私には高度すぎるかもしれません(笑)

          • えんぞー より:

            上手くいかないとどうしても弱気になりますよねぇ・・・。

            この記事中の追記部分で私がアップしているTASKERの設定をインポートしてみてはどうでしょう。
            実際に私の環境で動いている設定ですので、その設定を見てみると違いが分かるかも知れません。
            Zooperの変数はLINEが「#TLINE#」でGmailは「#TGMAIL#」となります。

            また弄ってみる気になったらで良いのでお試し下さい~^^

  4. さくら より:

    はじめまして。えんぞーさんのアップされているTaskerの設定をインポートして使わせていただいております。
    しかし、TaskerではLINEの通知が来た時に変数が変化するのに対し、Zooperでは0のままなにも変化が起こりません。
    考えられる問題点は何なのか、お手数ですが教えて下さい。

    • えんぞー より:

      > さくらさん
      コメントありがとうございます^^

      Tasker側で変数が変化しているのであれば、問題はZooper側の可能性が大きいですね。
      ここに置いてある設定を使用してくれているようですのでZooper側で設定する変数名は「#TLINE#」となります。
      なので、Zooper側の設定でテキストを選択しているとすれば「高度なテキスト編集」部分は「#TLINE#」と設定してください。
      (Gmailの場合は#TGMAIL#です。)
      ポイントとしてはこんな感じになりますが、如何でしょう。

  5. あき より:

    初めまして、あきと申します。
    この記事を参考に、LINEの通知を行わせてみたのですが、Zooperの方とうまく連携できていないのか%~の表記しかされず、数値が出力されません。
    これは、解決可能なのでしょうか…。
    Tasker側を手動で動かしてもZooperに変化はありません。
    しかしTaskerの「VER」のタブを見ると正常にうごいており、Zooperの方へ変数が渡されていないのだと推察しております。
    お時間のある時で結構ですので、お返事を頂けるとありがたいです。
    お手数おかけしますが、宜しくお願い致します。

    • えんぞー より:

      >あきさん

      コメントありがとうございます^^

      Zooperの方で「%~」の表示しかされず・・・との事ですがZooper側に設定している変数はどうなっていますか?
      テキスト設定の高度なテキスト編集部分の値はTASKER側で設定した変数の「#TLINE#」が入る事になります。
      念の為スクリーンショット置いておきますね。
      Zooper側の変数設定

      まずはこの部分から確認してみて下さい~。

  6. あき より:

    お返事が遅くなってしまい申し訳ありません。
    えんぞーさんの仰る通りに確認をしましたが、やはり%LINECOUNTとしか表示されないようです。。。

    • えんぞー より:

      > あきさん
      %LINECOUNTという表示が出ると言う事は変数として代入しているものが「%LINECOUNT」という文字列自体になっている気がします。
      おそらくはTASKER側の変数設定(Zooper用の変数を設定する部分)か、Zooper側の指定で食い違っている所があるのかも知れません。

      新しくZooper側のテンプレートを記事中にアップしておきましたので、以前からアップしているTASKER側の設定と合わせて試して見てみるのも良いかと思います。
      時間があるときにでもお試し下さい^^

  7. ごう より:

    はじめまして。ごうと申します。

    zooper側で設定した変数の値が「空欄」にしかならないことのご相談と、設定ファイルの再アップをご検討いただきたく連絡させていただきました。

    作成したtaskerとzooperは上記のページとまったく同一です。
    (taskerの変数は「%SPCOUNTUP」、zooperの変数は「#SPMODE#」)
    本設定でtaskerでタスクを実行する前後、メールが届いた後もzooperの変数に入る値は空のままでした。

    なお、taskerで「zooperへ変数を渡すタスク」の後に「ポップアップで%SPCOUNTUPを表示するタスク」を設定したところ、メールが来た場合とタスクを流した場合で数字が正常に増えておりました。

    上記からtaskerからzooperへ変数を渡す(もしくはzooperが変数を受け取る)ところで何か問題があるんだと思いますが、変数の文字列を変えても、再度かtaskerを作り直しても同じ現象となり、行き詰っているところです。(LINEでも試してみましたが、現象は変わらずでした)

    つきましては何か心当たりがあれば教えていただけませんか?
    また、設定ファイルをアップいただけたらtaskerかzooperのアプリ設定に問題があると切り分けられるのではという浅い考えで、ファイルのアップをお願いしたくご連絡させていただきました。

    ご検討の程お願いします。

    • えんぞー より:

      > ごうさん
      コメントありがとうございます^^

      早速ですが、設定ファイルのリンク切れ直しましたので再度お試し下さい~。
      プラグインをアップデートした時にでもおかしくなったのか、ファイルが無い状態になっていました・・・申し訳ありませんです。

      Zooper側での変数が空欄になる件ですが、
      > 作成したtaskerとzooperは上記のページとまったく同一です。
      > (taskerの変数は「%SPCOUNTUP」、zooperの変数は「#SPMODE#」)

      ここの「#SPMODE#」の部分ですが、Zooper側で指定する場合だと「#TSPMODE#」になるのですがどうでしょうか?
      下記の画像のようにTasker側でZW変数を「SPMODE」にした場合、Zooperが参照するときは「T」をつけて「#TSPMODE#」となります。
      変数の設定

      Tasker側の変数が正常にカウントアップされているのであれば、ごうさんのおっしゃるように値の受け渡し部分が問題だと思うのでこの辺りを確認してみてください。

      ここが正常であれば・・・ちょっと悩むところですね・・・。
      その場合は再アップした設定ファイルを取り込んでもらってそちらも試してみてください。
      (アップしているテンプレートはライン用のものですが、カウントする部分変えれば一緒ですので)

      • ごう より:

        早速の返信ありがとうございます。

        > ここの「#SPMODE#」の部分ですが、Zooper側で指定する場合だと
        > 「#TSPMODE#」になるのですがどうでしょうか?

        すいません、私の記載ミスでした。
        zooperに設定した変数は「#TSPMODE#」でした。

        設定ファイルのアップありがとうございます。
        ダウンロードしたtaskerとzooperの設定ファイルをそれぞれインポートして実行してみましたが、残念ながら結果は変わらずでした。

        ん~、何が原因でしょうね。。
        色々設定変えてみて、できたら改めて報告させていただきます。
        もし他に何か気づいたことがあればReplyいただけると助かります。

        原因が1つ潰せただけでも凄く助かりました。
        お忙しい中、ありがとうございました。

        • えんぞー より:

          そこでは無かったですか・・・。
          アップした設定ファイルでも動かなかったとなると、デバイスの環境に左右されている可能性もありますね。

          う~ん、お役に立てなくて申し訳ないです。
          原因がわかったら是非教えて下さい。
          私も何か気づいたらまた書き込みます~。