URLスキームを利用してChromeとTumblrをアプリ連携させる
Tumblr公式のブックマークレットって使いにくくない?
iPhoneのChromeからTumblrにPostするときに、Tumblr公式のブックマークレットを使っている人は多いと思う。
だけど、これを使うとポップアップのブロックがいちいち出てくるし、
Postするページがスマホ用じゃないから使いにくい。
Tumblrアプリを開いてコピペしてしまうこともあるが、アプリの切り替えがめんどくさい。
そこで、URLスキームを利用して、ChromeからTumblrアプリを開いてPostできるようにしてみた。
さらに、PostしたらTumblrアプリからChromeに戻れるように、x-callback-urlを利用する。
これでアプリの切り替えのためにホームボタンを押したりスワイプで選んだりといった操作をしなくてもよくなる。
URLスキームについては、知っておくとiPhoneをもっと便利に使える「URLスキーム」とは? - たのしいiPhone! AppBankでわかりやすく説明されている。
有名なのでランチャーアプリなどで使っている人も多い。
x-callback-urlについては、アプリ間連携の仕組み x-callback-url が簡単に使えるライブラリ | Cocoaの日々情報局で詳しく説明されている。
簡単に言えば、「コールバック用URLスキームを指定できる」仕組み。
また、TumblrのURLスキームは、tumblr/TMTumblrSDK · GitHubに一覧がある。
ブックマークレットを作った
「リンクをPostする」用と「引用をPostする」用の2種類作った。
javascript:window.location='tumblr://x-callback-url/link?title='+encodeURIComponent(document.title+'%5Cn')+'&url='+encodeURIComponent(location.href)+'&description=&x-success=googlechrome://&x-cancel=googlechrome://'
javascript:window.location='tumblr://x-callback-url/quote?quote=&source='+encodeURIComponent(location.href)+'&x-success=googlechrome://&x-cancel=googlechrome://'
それぞれ適当な名前(Post Tumblr (Link)とか)でブックマークしておく。
使ってみる
TumblrにPostしたいページでこのブックマークレットを使うと、Tumblrアプリの投稿画面が開く。
リンクをPostする場合
引用をPostする場合
後はいつも通り説明や引用文を書いて、[投稿]または[キャンセル]をタップすると、Chromeアプリに戻れる。
ここでx-callback-urlを利用している。
こんな感じで結構使いやすくなったと思う。
今後、Chromeからよく使う他のアプリ用のブックマークレットも作っていく予定。
関連エントリ
Twitterrific - かわいくて使いやすいTwitterアプリが半額セール中! - 逢えず鳥
https://itunes.apple.com/jp/app/quicka-web-jian-suowo-kuai/id511606108?mt=8&uo=4&at=10ld2b
[asin:B00CY6P968:detail]