htbradar
このエントリは Go Advent Calendar 2015 その3 の記事です。
普段iPhoneでHBFavを使ってるんですけど、Macで作業してる時にはMacに通知が来てほしいと思ってたんですね。 HBFav for Desktopがあればそれが一番なんですけど、どうもしばらくは公開されそうにないので通知システムだけ作ってしまいました。 Githubで公開しました。 使用方法はちょっとややこしいです。
Google Chromeしか対応していません。
- Google Developer Consoleからプロジェクトを作ります。
- APIのところから、Google Cloud Messaging for Android を有効にします。
- プロジェクト番号を
constant/manifest.jsonのgcm_sender_idに設定します。 - 認証情報->認証情報の追加からAPIキー->サーバーキーを追加します。
- サーバーキーを
main.goのapiKeyに設定します。 - Herokuに登録してCLIから
herokuコマンドを使えるようにします。 - このリポジトリのディレクトリで
heroku createします。 git push heroku masterしてから、heroku openして、画面に文字列が出現するまで更新します(多分一回で大丈夫のはずです)。通知は許可してください。constant/sw.jsのfetchのURLを書き換えます。- 画面に文字列が出現したら、その文字列をリポジトリ内の
main.goのrequestIDのところに設定します。 - はてなブックマークの設定の開発者向けからWeb Hookの設定をします。URLを
https://****.herokuapp.com/hookに、キーも何か設定します。 - Web Hook に設定したキーを、
main.goのhookKeyに設定します。 - 変更をコミットして
git push heroku masterします。
以上で完了です。
概要としては、はてなからのWeb HookをHerokuで受け取って、Google Cloud Messagingを使ってPush通知するシステムです。
うまく通知されない時は、heroku logsとかして原因を推測してみてください。
たまにあるのが、そもそもはてなからWebHookが来てないってのですね。これはどうしようもないです。
通知に失敗してたりするときはログに何か書いてあるかもしれないです。
通知のたびに、「このサイトはバックグラウンドで更新されました」って出るのどうにかしたい。