Chromeアプリをブラウザから起動する

ブラウザからChromeアプリを起動する方法がわからなかったので調べてみた

url_handlersを使えばいいらしい(Chromeブラウザ限定です)

"url_handlers": {
  "url_handle_test": {
    "matches": [
      "http://www.example.com/*"
    ],
    "title": "URL Handle Test"
  }
}

上記のように設定しておく

この状態でhttp://www.example.com/にアクセスするとChromeアプリが起動する

ブラウザから渡したパラメータをChromeアプリで使いたい場合は
chrome.app.runtime.onLaunched.addListenerに渡したcallbackの引数から取得できる

chrome.app.runtime.onLaunched.addListener(function(launchData) {
});

http://www.example.com/?param=123456にアクセスした時のlaunchData f:id:jewelofren:20160314110357p:plain

launchDataのurlにアクセスした時のURLが渡されるので、後はゴニョゴニョすればOK
manifest.jsonで指定したtitleがどこで使われるのかは不明・・・