Service WorkerやJavascriptについて

日本でも本格化?次世代モバイルサイトPWA(Progressive Web Apps)の5つのメリット

スクリーンショット 2017-04-13 14.44.32

先日話題になったTwitter Liteのリリース。私も使ってみましたが、とうとうWebでアプリ並のことが本当できるようになったのか、とちょっと感動しました。

しかもネイティブアプリよりデータ通信量が最大70%抑えられるとのこと。
通信量って日本だとたいしたメリットないのかなとも思っていましたが、最近の格安スマホやMVNOの料金プランを見ているとまだまだ通信料削減のニーズはありそうで、そんな文脈からも新興国だけでなく日本でも普及しそうな気がします。

このTwitter LiteのUXを実現する上でキモとなっているのがPWA(Progressive Web Apps)という仕組みです。
Googleによって推進されており、今までネイティブアプリでないと実現できなかったUXやブラウザからのプッシュ通知といったエンゲージメント施策をモバイルWebアプリでも実現できるというのが最大のポイントです。

※プッシュ通知など一部機能はPCブラウザでも利用可能です。また、2017年4月現在はAndroidとデスクトップ版ChromeやFirefoxに対応しており、Safariはまだ対応していません。

PWAの概念ははちょっと前からあって、Googleのイベントでも複数回取り上げられています。このへんの動画を見ておくとより深く理解できると思います。

PWAのメリット

さてこのPWA、具体的には何がメリットなのでしょうか?
簡単に言うと「エンゲージメント向上と使い心地がネイティブアプリ並のモバイルWebアプリ」といえます。
それを構成するポイントを5つまとめてみました。

①Webプッシュ通知

Webに対するアプリの最大の優位性と言ってもよいのがプッシュ通知です。
PWAではService Workerというブラウザの裏側で動く仕組みを活用することで、許諾を得たユーザーに対してプッシュ通知を配信できます。
モバイルWebだけでなくデスクトップのブラウザに対しても配信可能です。
国内でもサードパーティの配信サービスがいくつかあり、本ブログを運営するPushnateでも手軽に無料でWebプッシュ通知を配信できます。

TwitterLite_Android_PushNotification_ENG_1

Twitter LiteからのWebプッシュ通知

②ホームスクリーンへのアイコン追加

スクリーンショット 2017-04-13 23.25.09

ホームスクリーンにTwitter Liteのアイコンを追加

PWAで構築されたサイトは、訪問頻度によりホームスクリーンへのアイコン追加を促す仕組みがあります。
今までもブックマークとして追加はできましたが、サイト側から促せるのが大きな違いです。
ネイティブアプリと大きく違うのが、Webサイトをある程度使ってから(エンゲージメントが確立されてから)表示されるということ。よりサービスへの理解が高い状態でインストールされるようなイメージです。

③オフラインでのコンテンツ表示と読み込みの高速化

Service Workerはオフラインキャッシュの仕組みも持っており、サイトの主要なデータをキャッシュしておくことでオフラインでの利用や読み込みの高速化を実現できます。

④WebなのにアプリっぽいUX

PWAはブラウザで動作しますが、アドレスバーを非表示にしたり、起動時にスプラッシュ画面を表示することができます。これだけでもグッとアプリっぽい使い心地になります。

⑤Webならではの利点

当然ですがネイティブアプリのようにOSに合わせた開発やアップデート、ストアの審査が不要です。URLがあるのでアクセス解析ツールなどそのまま使えますし、検索エンジンへの対応もWebサイトとして行えるので、開発やメンテナンスの手間を軽減できます。

また、最近話題のAMP(Accelarated Mobile Pages)とも連携できます。検索経由でAMPページにアクセスしたときにServiceWorker登録、Webプッシュ配信といったことも可能です。

PWAを導入するには?

そんなメリットだらけのPWA、さっそく試してみたいという方もいらっしゃると思います。実装にはJSONマニフェストの設定やService Workerに関する記述などが必要ですが、その前にいくつか検討すべきポイントがあります。

既存サイトやアプリを含めた導線設計

すでにモバイルWebサイトやアプリが存在する場合、PWAの位置づけを確認しましょう。

Twitetr Liteのように元のサイトとは別の存在とするケースもあります。何も考えずに作ってしまうと、元サイトとコンテンツが重複したり、アプリも含めてメンテナンスが必要になったりとコストばかりかかってしまう可能性もあります。

PWAによってどんな価値が提供できるかをしっかり確認しておきましょう。

SSL導入が必須

PWAにはSSL導入が必須になります。
SEO的な潮流としてはSSL導入は常識になりつつありますが、必ずSSL対応の否について確認しておきましょう。

実装時にはPWAチェックリストでチェック

実装後はGoogleのPWAチェックリストでPWAの要件を満たしているかを確認しましょう。

まとめ

近年、スマホ1台あたりのアプリインストール数は伸び悩みつつも利用時間は伸びていると言われています。アプリの寡占化が進んでいるということです。

反面、Webサイトは接触頻度においてアプリを上回っています。Webの特性を活かして、様々なチャネル(ソーシャル、参照サイト、検索エンジンなど)からの導線を設計しつつ、アプリ並の利用時間も狙っていく、しかもWebの技術で構築できるというのがPWAのメリットだと思います。

サイトやアプリの内容によっては大きくユーザーを増やせるチャンスかもしれません。Twitter Liteを皮切りに国内でも対応サイトが増えてくるのが楽しみですね。

PWA(Progressive Web Apps)がよりネイティブアプリっぽくなりました

2016年のGoogle I/Oで触れられていたPWAとAndroid連携の動きについてChromium Blogの投稿がありました。

すでにホームスクリーン追加やWebプッシュ通など個別の機能は実現していますが、この統合により今まで以上にWebサイトをアプリ的に取り扱えるようになります。今回はホーム追加時の動作がアプリインストールぽくなりました。個人的に大きいのは、Webプッシュからこの疑似アプリの起動ができるようになることです。よりPWAらしいUXになります。

リテンション獲得のためにネイティブアプリ作りたいけどコストが・・というサイト(主にECサイトかな?)は短期間で効果が出やすそうです。日本では依然としてiOS対応が課題ですが、Androidシェアの高い国ではPWAそろそろ普及しそうですね。ホームスクリーン追加が実装済みのWebサイトは、以下の手順でアプリインストールっぽい使い心地が試せます。

①Chromeの試験運用機能をONにする

Chrome Betaで、chrome://flags/#enable-improved-a2hs を入力し、試験運用機能の管理画面に入ります。
ここで、「ホーム画面に追加(改訂版)」を有効にします。Chromeの再起動を促されるのでそのまま再起動します。

②対応サイトにアクセスしホーム画面に追加する

たとえば、flipkartなどPWAの事例サイトにアクセスしてみます。Chromeのメニューを開くと「ホーム画面に追加」があるのでタップしてみましょう。インストールの許可画面が表示されますのでそのまま進めます。
Screenshot_20170209-002138

ホーム画面に追加

Screenshot_20170209-002500

インストール許可画面

インストールすると他のアプリと同じように一覧に表示されます。

Screenshot_20170209-002704

アプリドロワー内に一覧表示される

Chrome単独の取り組みから始まったPWA周りですが、今後はAndroidと統合の流れが強くなりそうです。なんというかちょっと昇格するイメージですね。正直、特に日本においてはまだまだPWAの取り組みは少ない印象ですが、少なくともGoogleの力の入れようは伝わってきますね。
こちらも合わせてどうぞ。

WebプッシュのオプトインUI事例(Chrome Dev Summit 2016 サイトから)

あけましておめでとうございます。本年初投稿です。当ブログのテーマであるWebプッシュ、昨年はペイロード対応などもあり導入サイトも増えましたね。Pushnateでのプッシュ配信数もおかげさまで成長し続けることができました。とはいえ、まだまだ普及はこれからだなという感じですので今年もService WorkerやProgressive Web Appまわりを注視していきたいと思います。

今年1発めはプッシュ許可(オプトイン)のUIについてです。

WebプッシュのUI、特に最初にプッシュ通知の許可(オプトイン)の取り方は迷うポイントですよね。
依然としてChromeのオプトイン表示はそっけないので、まだしばらくはWebサイト側で工夫が必要ですが、先日「これはいいな」というケースを見つけました。

それは、昨年秋に開催された「Chrome Dev Summit 2016」のサイトです。今はもう表示されないのですが、会期中はページ左下のアイコンをクリックするとこんなウィンドウが表示されるようになっていました。

Chrome Dev Summitのプッシュ許可

Chrome Dev Summitのプッシュ許可

このイベントはたくさんのセッション(+YouTubeでの中継)で構成されているので、それぞれの開始時の通知としてWebプッシュが使われていました。これだけの大きいイベントだからこそできる使い方ではありますが、受け取る通知の種類を指定できるというのは他ではあまり見かけない使い方です。今後もしChrome内のUIが向上されるとしたらこんなふうになるんじゃないかという予感もしますね。

というわけで1発めは短めになりましたが、今年もよろしくお願いいたします。

Chrome Dev Summit 2016 が開催、いよいよPWAの活用が本格するかも!?

スクリーンショット 2016-11-16 23.58.02

先週、Chrome Dev Summitがさりげなく開催されていました。日本だとあまり話題になっていない感じですが毎年やっているやつですね。去年の今頃だとこんな記事を書いたりしました。去年はWebプッシュ通知やService Workerなど一つ一つのトピックが細かい印象でしたが、今年はProgressive Web Apps(PWA)ワードで一括りになって前面に出ていました。個別の技術だとCredential ManagementPaymentなど新しめのAPIの紹介がありました。

日本において、スマホでブラウジングしている限りはPWAはおろか、Webプッシュですら普及はまだまだこれからかな。。という感じですが、Chromeはどんどん先に進んでいますね。

ところで先日、Publickeyさんの記事でGartner Predicts 2017の「2019年までに、ブランド保有企業の20%は自社のモバイル・アプリを放棄する。」という気になる項目を見つけました。

以前ブログでも触れましたが、アプリとWebにおける利用時間や頻度には大きな差があるということをふまえるとなるほどと思いました。たいていのブランド保有企業では、ネット上で高頻度かつ長時間過ごすほどの体験を提供し続けられません。となるとアプリとして存在する価値を保持するのは難しく、結果として主要プラットフォームを通じて(広告出稿のかたちで)消費者と接触するしかないということなのかもしれません。ブランド側からするとプラットフォーム依存が深まってしまうわけですが、そこに対する対抗策の一つが、Webとネイティブアプリのいいとこ取りができるPWA化なのかもしれないですね。

海外のWebプッシュ通知6つのサービス比較。決定版はこれだ!

以前にも海外のWebプッシュ関連サービスとして、OneSignalRoostを紹介したことがありました。それから1年ほど経ち、類似サービスもだいぶ増えてきたようです。久しぶりに調べてみたので、現時点のものをざっとまとめてみたいと思います。なお、国内のWebプッシュサービスの比較については以前書いたこちらの記事をご覧ください。

SendPulse

スクリーンショット 2016-10-04 23.55.19

https://sendpulse.com/features/webpush

価格 対応OS/ブラウザ 無料で使える機能 有料で使える機能
・無料
・60ドル/月
・Chrome
・Firefox(PCのみ)
・Safari(PCのみ)
・配信数無制限
・オプトイン3000まで
・ウェルカム配信(オプトイン時の自動返信)
・RSS配信
・メッセージ内の
“Powered by SendPulse”
表示を消せる
・オプトイン無制限

もともとはメールやSMSの配信サービスで、新機能としてWebプッシュ通知が追加されました。配信機能はシンプルですが、オプトイン時のメッセージ表現の選択肢が多いのと、デベロッパー向けAPIが用意されているのが特徴です。できるだけカスタマイズしたい、という方に向いています。

PushAssist

スクリーンショット 2016-10-04 23.55.53

https://pushassist.com/

価格 対応OS/ブラウザ 無料で使える機能 有料で使える機能
・無料
・29ドル/月
・69ドル/月
・119ドル/月
・Chrome
・Safari
・Firefox
・配信数無制限
・オプトイン3000まで
・複数サイト利用
・ウェルカム配信
・スケジュール配信
・オプトイン数増加

料金プランが複数ありますが、機能に差はなくオプトイン数のみで料金が決まります。内容が確認できませんでしたが、機能リストによるAPI連携もできるとのことです。こちらのページにはiOSのSafariで使える風の画像がありますが本当のところは謎です。サイト訪問時にポップアップメッセージ的に出せる機能なのかもしれません。

FoxPush

スクリーンショット 2016-10-04 23.56.18

https://www.foxpush.com/index.html

価格 対応OS/ブラウザ 無料で使える機能 有料で使える機能
・無料
・49ドル/月
・199ドル〜/月
・Chrome
・Safari
・Firefox
・月間1,500,000配信
・ウェルカム配信
・オプトイン数50,000まで
・各種レポート
・オプトイン100,000以上
・配信数無制限
・セグメント、ターゲティングの充実
・絵文字対応
・「powered by」外せる

他のサービスに比べると無料利用時の制限(オプトインや配信数)が緩めなのが特徴なのです。最初から配信ボリュームを大きく見込むケースに向いていますが、有料プランが49ドル〜と少し高めのスタートとなっています。こちらも仕様が確認できませんでしたが、無料プランでもAPI連携ができるようです。

Pushcrew

スクリーンショット 2016-10-04 23.56.35

https://pushcrew.com/

価格 対応OS/ブラウザ 無料で使える機能 有料で使える機能
・無料
・25ドル/月
・75ドル〜/月
・Chrome
・Firefox
・オプトイン数500まで
・配信数無制限
・RSS配信
・ウェルカム配信
・API 500コールまで
・オプトインと配信数無制限
・APIコール数増加
・モバイル対応
・複数サイト登録

無料の場合、オプトイン数が500までとなっており、本気で利用するとなるとちょっと足りないかな・・という印象です。ただ、まだリリースされていませんが、有料プランではジオターゲティングやABテストなど豊富な機能が予定されているのが特徴です。金額は不明ですが、さらに上位プランとしてEnterpriseというものも用意されており、イベントをトリガーにしたり、ドリップキャンペーンなどの機能が予定されています。マーケティングオートメーション系の機能まで備えているのはこのサービスのみです。

OneSignal

スクリーンショット 2016-10-04 23.56.51

https://onesignal.com/

価格 対応OS/ブラウザ 無料で使える機能 有料で使える機能
・無料 ・Chrome
・Firefox
・オプトインと配信数無制限
・セグメント設定
・ABテスト
・API利用
・不明

以前調べたときから少しサイトのデザインが変わったようです。Chrome向けプッシュという体裁でしたが、今はWebプッシュという名になっています。完全無料で使えるようです。

Roost

スクリーンショット 2016-10-04 23.57.23

https://goroost.com/

価格 対応OS/ブラウザ 無料で使える機能 有料で使える機能
・無料 ・Chrome・Safari※オフサイトプッシュ ・不明 ・不明

オンサイトでのプッシュ通知やサイトに組み込む通知センター機能と合わせて「OFF SITE Notification」という一機能としてWebプッシュを利用できます。オンサイトのプッシュ機能も使いたい、という場合には選択肢に入ると思いますが、Webプッシュ単体では機能説明もなく、ちょっととっつきづらい印象でした。

以上、6つほどピックアップしてはみましたが、

・とにかく無料でできるだけ使いたい→FoxPush

・ただプッシュを配信するだけでなく高機能やMA的な使い方など試したい→Pushcrew

という感じでしょうか。

メールやアプリのプッシュ通知から派生したサービスも多いですが、Webプッシュ専業の方が総じて最初のハードルは低そうな印象でした。ただし、日本国内のサービスともほとんど差はないので、特段理由がないかぎりは国産サービスでいいのかもしれないですね、今のところ。

Chrome 52 のデベロッパーツールでService Workerのチェックができるように

ついにChrome 52の安定版がリリースとなりました。

話題の大きさでいうとバックスペースキーで戻れなくなった件とかタブのデザインが角ばったことのほうがメジャーではありますが、実は今回デベロッパーツールにも変更がありました。「Application」タブからService Workerなどプログレッシブウェブ関連の検証ができるようになったのです。今までserviceworker-internalsを見たりしていましたが、今回の変更でここからプッシュを表示したりなどいろいろできるようになりました。その他にもホームスクリーンへのアイコン追加などService Worker / Webプッシュ以外のPWA関連の検証ができるようになっています。

先日、AMP上でのService Workerインストールの話もありましたが、ついにGoogleも本気でこのへんをプッシュしてきた感がありますね!

スクリーンショット 2016-07-21 23.29.08

Chrome 50 ベータ版にて待望のペイロード機能が加わります

先日、Googleの日本語ブログでもお知らせがありましたが、Chrome 50 ベータ版が公開されています。

サイトからプッシュ通知を使って、ネイティブ アプリケーションと同じ方法でシステムレベルの通知をトリガーできるようになりました。

ついに待望のペイロードが実装されます。

最新バージョンの Chrome では、サイトで通知データのペイロードをプッシュ メッセージに含むことができるようになるため、サーバーの確認は不要になります。ユーザーのプライバシーを保護するため、プッシュ通知のペイロードは暗号化しなければなりませんプッシュ通知のペイロードPush API 仕様の一環であり、Firefox では既にサポートされています。

今までとは少し通知の仕方が変わることになります。そしてすでにFirefoxではサポートされているとのこと。
今までもこのブログではペイロードについて触れてきましたが、当初の予定である49ではなく、50での実装となりました。

今まではWebプッシュ通知といっても、実質固定のメッセージをユーザー全員に表示するという仕組みでしたが、これによりユーザー行動や属性に合わせたプッシュ通知が可能になります。やっとブラウザでもネイティブアプリと同じレベルで使えるようになるということです。(Facebookのように力技でそれを実現していたケースもあります)

JavaScriptコードを設置するだけでプッシュできるということもあり、これまでは個人ブログや小規模サイトで使ってみるというケースも多かったですが、これからはよりサイトと密接に結びついているような、Webサイトのユーザー体験全体に関わるような使い方も出てくると思います。

Chrome 50が正式版になり、それが行き渡るまでは少し時間かかりますが、今年の年末にはペイロードを使ったプッシュが普通になるのかもしれませんね。

Chrome Dev Summit 2015 から考える、Webプッシュ通知の今後

前回の記事でも書きましたが、11月17〜18日にChrome Dev Summit 2015が開催されました。ブラウザをフィーチャーしたイベントは日本ではなかなかないので新鮮ですよね。

Webプッシュについては「Increase Engagement with Web Push Notifications」というセッションがありました。Webプッシュのみの内容で25分ほどとなかなか見応えがあるセッションです。今回はその中で触れられていたトピックを紹介しつつ、今後Webプッシュはどんな役割を果たすのかについて考えてみたいと思います。

続きを読む

Chromeの通知センター廃止のニュースから、Webプッシュへの影響を考えてみた

Chrome lapel pin

TechCrunchにこんな記事がありました。

GoogleがChromeのあまり使われない通知センターを廃止、ChromeOSには残存、通知はネイティブ依存へ移行か?

GoogleがChromeブラウザの通知の方式を変えようとしている。ChromeによるWebアプリケーションからデスクトップへのプッシュ通知のサポートは5年前に始まり、そして数年前には、Webアプリケーションやエクステンションからのメッセージをまとめて扱う総合通知センターを導入した。しかしその通知センターは、利用者がきわめて少ないため、Chromeの次のリリースからは存在しなくなる。

なんだか翻訳ソフトみたいなタイトルでわかりにくいなと思ったのですが、どうやら以前からあるChromeのプッシュ管理機能(通知センター)をChromeから外しちゃうという話のようです(Chrome OSには残る)

続きを読む