Google Chromeのエクステンション(拡張機能)で、WeChatのWeb画面を開くボタンを作ります。
WeChat(微信)
WeChat(微信)とは、中国のテンセント社のチャットアプリで、LINEやWhatsApp(Facebook Messenger)と同規模のユーザーを持つ世界的に有名なサービスです。
アプリだけで使うイメージが強いためあまり知られていませんが、WeChatにはブラウザで使えるWeb版のページが存在します。
■WeChat WebのページURL
https://web.wechat.com/
今回は、Google Chrome上からワンクリックでこのページを開くことのできるアプリを作成します。
ボタンの動作は下記2つのみ、実にシンプルです。
- Google Chromeのアプリ画面にボタンを設置する
- ボタンをクリックすろとWeChat WebWeb 専用の画面が表示されます。
必要なファイル
まずは、必要なファイルやフォルダを用意します。必要なものは下記の3種類です。
manifest.json
ファイル「manifest.json」のコードは下記です。
適当なテキストエディタでこのテキストを書き込み、ファイル名を「manifest」拡張子を「JSON」にして保存します。
私はATOMを使って書きました。
{ "name": "WeChat Chrome Apps DIY Ver", "description": "WeChat Butten Do it myself", "version": "0.0.0.1", "manifest_version":2, "app": { "urls": [ "https://web.wechat.com/", "http://www.wechat.com/" ], "launch": { "web_url": "https://web.wechat.com/", "container": "panel" } }, "icons": { "128": "icon_128.png" }, "permissions": [ "notifications", "geolocation", "background" ] }
それぞれの項目の意味は下記です。
項目名 | 内容 | 備考 |
---|---|---|
name | そのアプリの名前ですアプリ画面と設定画面に表示されます | |
description | 設定画面で表示される簡単な説明文です | |
Version | アプリのバージョンです | 自由に入力してください |
manifest_version | このファイルのバージョンです | 2以上の数字にしないとエラーが発生します |
app | どの形式のものかを指定します | ほかに「PageAction」と「BrowserAction」があります\\ |
urls | アプリがアクセスする先のURLです | 必要であればワイルドカードを使います |
launch | ええ、まあ動くんです(適当) | |
web_url | 最初に開くURLです | |
container | ページを開く形式です | 「panel」は新しいウィンドウ、「tab」は新しいタブを開きます |
icons | アイコンファイルの設定です | |
128 | 128ピクセルのアイコンの意味です | 今回はほかのサイズを使わないので128のみ設定しています |
permissions | アクセス許可の設定です | リンクだけのボタンにアクセス許可の設定は必要ありません |
画像
サイズが上下左右とも128ピクセルでPNG形式の画像ファイルを用意します。(Google CHromeはJPEG形式にも対応しているようです)
私は、Google画像検索で一番上に出てきたものを「ペイント」でサイズを変更して使いました。
画像の名前を「icon_128.png」に変更します。
Google Chromeへの読み込み
作成したファイル「manifest.json」と「icon_128.png」を一つのフォルダに入れます。
Google Chromeの設定画面を開き、「拡張機能」の画面を開きます。
画面一番上の「デベロッパーモード」にチェックマークを入れます。
「パッケージ化されていない拡張機能を読み込む」ボタンをクリックします。
先ほど作成したファイルの入っているフォルダを選択し、読み込みます。
読み込みが成功すると「拡張機能」画面上にアイコンが表示されます。
「アプリ」画面上にWeChatボタンが設置されます。
キャンセルしませんと、せっかく作ったアプリが使えなくなります。
失敗パターン1
Manifestのバージョンを「1」にした
→エラーを起こして読み込んでくれませんでした
失敗パターン2
"app"と一緒に"BrowserAction"(メニューバーのボタン)と、を作ろうとして同じ「manifest.json」ファイルに両方とも記述した
→どちらか片方しか動作しなかった。
→両方を使いたければ、「manifest.json」ファイルを二つ作らなければいけません。
→このことに気付くのに1時間かかりました
失敗パターン3
「アプリ」を作りたいのに作り方を検索しても「PageAction」と「BrowserAction」しか見つからなかった。
→不思議です。確かに見つかりませんでした。
→しばらく検索を続けたところ「 "app": {」の指定のあるサンプルコードを見つけました。
失敗パターン4
何度フォルダを読み込んでもエラーが起きる
→「"」が抜けている、「{」の数が間違ってる、「[」の数が違うその他基本的なミスでした。
→テキストエディタをしっかりとみて直したらなおりました。
失敗パターン5
Googleのサポートページにある https://developer.chrome.com/apps/samples を見てもよくわからない。
→本当にわからなかったです。
→結局、各種ブログにあった説明を見ながら何とかしました。
失敗パターン6
突然ボタンが動かなくなった。
→読み込み元のフォルダのを移動させたのが原因でした。
→もう一度フォルダを読み込みなおしたら正常に動きました。