Pushbullet というサービスのAPIを使ってPushbulletがインストールされた端末(iPhone, Android, PCブラウザ) に向けてPush通知する術をあれこれ調べた際のメモです。
そもそもPushbulletは先に書いた様なPushbulletのクライアントアプリがインストールされた端末間で相互にテキストや画像を相互にやり取りできるサービスです。Googleアカウントのみで利用することができます。
Pushbullet - Google Play の Android アプリ
Pushbullet on the App Store on iTunes
これらを端末に導入することで導入した端末間で例えば、
といったことが簡単にできてとても便利なのですが、APIが用意されているのでプログラムを作成して操作することもできます。
まず、APIのアクセストークンを取得します。Pushbulletにログインして、右上のアカウント設定(Account Settings)を選ぶとAPIのAccess Tokenが表示されるのでこちらを控えます。
で、これを利用してAPIを呼び出せばPushbullet経由で任意の情報をPushbulletが導入された端末にPushすることができます。素朴なHTTP APIなので各言語向けにライブラリが用意しているのでそちらを利用すると良いかと思います。
以下、node.jsの場合、npmに pushbullet
というパッケージがあるのでそちらを利用すると楽です。
$ npm install pushbullet
を行った後、以下の様な実装でPushbullet導入端末にプッシュすることができます。
第1引数にPushbulletで使ったGoogleアカウントのメールアドレスを渡すとPushbulletの自身のアカウントに紐もづいている全てにPush、Pushbulletで割り当てられているdevice ID を渡すと特定の端末のみにPushできます。
var PushBullet = require('pushbullet'); var pusher = new PushBullet("*******"); // Access Token pusher.note("****@gmail.com", "test", "test body", function(error, response) { // snip });
とするだけで、例えばiPhoneであれば、
といった具合にPush通知がされて、開くと、
といった具合で、pushした本文も含めて表示されます。他にも通知の種類があって、
pusher.link("****@gmail.com", "blog", "http://hideack.hatenablog.com", function(error, response) {});
とすると、リンクを直接通知することができて、このPush通知を開くと
と、Pushbulletアプリ内のブラウザで即座に該当するページが開かせることができたり、
pusher.list("*****@gmail.com", "list", ["foo", "bar", "hoge"], function(error, response) {});
とすると、以下の様なチェックリストを送ることができます。
Pushbulletで用意されているiPhone/Android向けアプリやブラウザ拡張でも素朴に便利なのですが、エンジニアの方であればAPI経由で操作することでいろいろ拡張できそうですね。というお話でした。