IMAProwl、TwiProwlによるプッシュ通知 - Prowl 1.1.5

以前ご紹介したProwl(有料350円)ですが、Mac限定かつTweetieのようなウィンドウアプリを常時起動しておかないとGrowlへ通知できず「限られた環境」でのプッシュ通知といった印象が拭えませんでした。


図解すると以下な感じ。


上記はたまたまTweetieを例にしてますが、Growl通知するソフトはたくさんあるんで夜フクロウでも何でも構いません。


で、今日紹介するIMAProwl、TwiProwlは、Rubyが動く環境さえあれば、MacだろうとWinだろうとコマンドラインスクリプトを常駐させておくだけで、Powlの通知が受けられるといったTipsになります。


図解すると以下な感じ。


上記の元ネタは作者様でもあるモペログさんの情報を、iPodyさんやRoguerさんがblogで取り扱ってたことから知ったのでした。今回、Twitterの通知以外にも、i.sbメールの通知に挑戦してます。私の場合、Gmailを使ってて、その中でも重要メールだけは、i.sbメールに転送してます。



i.sbの通知画面はへぼい。誰からのメールかも、メール件名も、内容もちっとも分からんのです。左がへぼい画面。ところが今回のIMAProwlを使うと右のようなグッドな画面で通知を知らせてくれるようになります。もちろんポップには文字数の限度があるんで全部は見れませんが、でも嬉しい(・∀・)



他アプリのTwitterのプッシュ通知は時間間隔が長く、通知されるまでかなり待たされるんですが、TwiProwlの通知は巡回頻度を含めて設定できますし、メッセージがまとめることが無い(というか見たことない)感じ。多分、これまでのTwitterプッシュ通知の中で一番の通知速度だと思います。


この環境を実現するまで、むっちゃ大変だった...。ということで、今日は設定方法を中心にご説明したいと思います。


私の環境がMacなんで、Mac用の説明になってますが、WinでもLinuxでもUNIXでもRuby環境さえあれば同様にいけるはずです。

IMAProwl、TwiProwlを動かす環境を整える

Step1. 開発環境(Xcode)をインストール
http://www7a.biglobe.ne.jp/~tzwada/Mac/xcode/index.html#Xcode-Leopard

まずはruby1.9を入れる為の下準備としてXcodeをインストールします。Xcodeと言えばiPhoneの開発環境としてお馴染みですが、OSXのDVDに付属してるんで、そこからインストールします。


Step2. MacPortsをインストール
http://blog.asial.co.jp/371

次にMacPortsをインストール。MacPortsMac上でUNIX生活を送る為の便利ツールでして、こいつを使ってRuby1.9をインストールします。ちなみにMacPortsを使う為の前提として、Xcodeのインストールが必要だったんで、事前にXcodeをインストールしたのでした。


Step3. いよいよRuby1.9をインストール
http://k2-lab.com/?p=135

元々MacにはRuby1.8が入っているみたいですが、今回使うIMAProwlやTwiProwlは、Ruby1.9上で動くスクリプトなので、Ruby1.9をインストールする必要があるのです。早速、コマンドラインで以下をタイプします。

sudo port install ruby19

最初にパスワードが聞かれますので、OSに設定してるパスワードを入力します。するとだ〜っとコマンドラインが流れます。ずっと待ってるとruby1.9のインストールが完了。ここまでは、手順に従うだけです。ちなみにruby1.9は「/opt/local/bin/ruby1.9」という場所にインストールされてるはず。ファイルが確認できればOKです。

Step4. ProwlのサイトでAPI keyを確認
https://prowl.weks.net/settings.php

Prowlサイトで無料のユーザー登録をするとSettingsからAPI keyが確認出来ますので、それをメモっておきます。


IMAProwlの設定(i.sbメールのプッシュ通知)

Step1. i.sbメールを通知する為にIMAProwlをインストール
http://blog.takuo.jp/2009/09/imaprowl-110.html

github.comからIMAProwlをダウンロードします。私の場合はzipファイルをダウンロードしましたが、解凍後、フォルダ名を「IMAProwl」に変更してルート「/」に移動します。この辺の操作はFinderで行いました。


Step2. /IMAProwl/config.ymlを編集する
http://www.ipoday.net/appstore/IMAProwl.html

config.ymlは、IMAProwlのスクリプトの設定ファイルになります。このファイルに、メモったAPI keyを設定。次にGMailの設定項目を削除。最後に、i.sbのユーザーIDとパスワードを設定し、EnabileをTrueにすれば準備が整います。この辺の操作はテキストエディットで行いました。

separated values.
Prowl:
 APIKey: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

上記の「xxxxx」にAPI keyを設定。

 -
  Application: GMail
  User: yourname
  Pass: password
  Host: imap.gmail.com
  BodyLength: 100
  SubjectLength: 20
  Priority: 0
  Interval: 7

上記を丸ごと消す。

 -
  Application: SoftBank
  User: yourname
  Pass: password
  Host: imap.softbank.jp
  BodyLength: 256
  SubjectLength: 20
  Priority: 0
  NOOPInterval: 20
  NoIDLE: true
  Enable: true

上記の「User」と「Pass」をi.sbメールのIDとパスワードに設定。「Enable」のところをfalseからtrueにします。

TwiProwlの設定(Twitterのプッシュ通知)

Step1. TwitterのMentionやDMを通知する為にTwiProwlをインストール
http://blog.takuo.jp/2009/08/twiprowl-02.html

github.comからIMAProwlをダウンロードします。私の場合はzipファイルをダウンロードしましたが、解凍後、フォルダ名を「TwiProwl」に変更してルート「/」に移動します。この辺の操作はFinderで行いました。


Step2. /TwiProwl/config.ymlを編集する
http://www.ipoday.net/appstore/twiProwl.html

config.ymlは、TwiProwlのスクリプトの設定ファイルになります。このファイルに、メモったAPI keyを設定。次にTwitterのユーザーIDとパスワードを設定すれば準備が整います。この辺の操作はテキストエディットで行いました。Twitterの巡回頻度も設定ファイルでセット出来ます。

Prowl:
 APIKey: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
# ProxyHost: 
# ProxyPort:
# ProxyUser:
# ProxyPass:

上記の「xxxxx」にAPI keyを設定。Proxy関連は無視でOK。

 -
  User: gonbe
  Pass: himitsu
  Mentions: true
  MentionsCount: 10
  MentionsInterval: 1.5
  MentionsPriority: 1
  Direct: true
  DirectCount: 10
  DirectInterval: 10
  DirectPriority: 0

上記の「User」と「Pass」をTwitterのIDとパスワードに設定。巡回のインターバルもお好みで設定出来ます。

IMAProwl、TwiProwlのコマンドラインAPPを作る

AppleScriptエディタで以下のようなスクリプトを作ります。

on run
  do shell script "cd /IMAProwl; /opt/local/bin/ruby1.9 
        imaprowl.rb -c config.yml -q > /dev/null 2>&1 &"
  do shell script "cd /TwiProwl; /opt/local/bin/ruby1.9 
        twiprowl.rb -c config.yml -q > /dev/null 2>&1 &"
end run



次にファイルをアプリケーションとして保存するとダブルクリックで実行できるアプリケーションが出来上がります。このアプリをDockに追加し、オプションでログイン時に開くにチェックを入れる。これで完成です!!



PC起動時にDaemonとしてIMAProwlとTwiProwlが常駐してくれます。


尚、PCを落とす際には勝手にプロセス終了してくれますのでプロセスは放置で構いませんが、あえて手動でプロセスを殺したい場合には、アクティビティモニタで「ruby」検索し、プロセスを選択、殺すことも出来ます。


iPhoneのProwl設定

最後、iPhone側の設定ですが、IMAProwlとTwiProwlからの通知は、それぞれ「SoftBank」と「Twitter」というタイトルになるんで、各々にアプリケーションを紐付けます。「SoftBank」にはMailアプリ、「Twitter」にはTwittelator Proといった感じ。



Settingの一番下にRedirectionsというのがあるんで、そこで「Update Launchable List」を押して最新のアプリリストを入手。その後「Add a New Redirection」で紐付け設定します。



Twitter」と入力し、この通知が来た時に起動するアプリを指定します。私の場合はTwittelator。又、「SoftBank」の方はMailを指定してます。


これで、iPhone側の通知内容に応じてMailが起動したり、Twittelator Proが起動されたり、そんな環境が実現します。


以上、駆け足で説明したんで、きっと分かりにくい文章かと思います。私の説明じゃ良く分からん!という方は、参考までにRoguerさんのサイトをご紹介しておきます。こちらもご確認下さい。


(追伸)
どうしても、PCに常駐させるのは嫌だ!という方は、TwiProwlのような仕組みのPrey Fetcherという別のWebサービスがあるんで、そちらを使うのも手かも知れません。ちなみにPrey Fetcherは5分間隔の巡回のようです。


詳しくはRoguerさんの記事にて。


-