2009/07/29

Prowl / iPhone に PerlでPush する

iPhoneにProwlを導入してみた。


Growlという OSXでは結構お馴染みのポップアップ通知アプリケーションの仕組みがあって、Growlに対応したアプリケーションは共通の通知領域に、色々なお知らせ情報を表示する事ができます。例えばメッセンジャーでのメッセージや、iTunesの曲変更情報、などなど。
最近では、Windows版もあります。

Growl自体にはネットワーク越しにメッセージを通知しあったり、フォワードする機能があって、他のマシンでの情報を、もうひとつ別のマシン上にポップアップするとか、できる訳ですね。

Prowlはその仕組みにのっかって、メッセージをiPhoneにフォワードして、Push通知をやろうとするアプリケーション。動作としては、
Growl(送信側) → Prowlサーバー → iPhone
という流れになるんだけど、実際のところ Prowlサーバー自体は Web経由でもアクセスできるし、ProwlサーバーのAPIも公開されてるので、Growlがなくても正しい手順を踏めば、iPhoneに対するPush通知が可能になる。

つまり、汎用的な Push通信手段として利用できる訳です。
という訳で、PerlとC#から ProwlをつかってPush通知する方法。

前準備

ProwlサーバーのAPIを使うには、Prowlにレジストした後にAPI Keyを取得する必要があります。
取得方法は、Settings のページで generate key ボタンで生成するだけです。
40文字のランダムな文字列が取得できると思いますが、それがAPI Keyになります。

perl

perlでは、CPANに WebService::Prowl というモジュールがあるので、これで簡単に使えます。メンテナは日本の方ですね。
使い方はサンプルそのままですが、以下のような感じです。


#!/usr/bin/perl

use WebService::Prowl;

my $apikey = "ここに取得した40文字のAPI Keyを記述";

my $ws = WebService::Prowl‐>new(apikey => $apikey);
$ws‐>verify ⎪⎪ die $ws‐>error();
$ws‐>add(application => "Sample App",
event => "notify",
description => "This is sample notification.");

0 件のコメント:

コメントを投稿