実は2017年ごろにコンセプトが公開されたTrusted Web Activityという「フルスクリーンなChromeを一つのActivityとして立ち上げてPWAを表示する」ためのAndroidのフィーチャーを、残念ながら私は一切触って来なかった背景があり、概念としてはわかるんだけど実際どんなものかよくわかってなかったので、この寝れない夜を利用してこのブログをアプリ化してみることにしました。
Trusted Web Activityを使ったアプリ作成は色々ツールが出揃ってきている印象で、GUIだとMicrosoftが公開しているPWABuilderがありますし、CLIだとBubblewrap(旧Llama Pack)が用意されています。PWABuilderなんかすごい簡単で、3ステップくらいでAPK吐き出します。PWAを立ち上げる軽量なAPKを生成するという単純な目的であればこういうツール類を素直にそのまま使うので十分ではないでしょうか。ただ今回はもろもろ検証するという目的で、Bubblewrapを利用してAndroidプロジェクトの雛形を吐き出してそれを使うことにします。
Trusted Web ActivityはフルフィーチャーなChromeの上で動いているだけなので、通常のウェブ向け計測は利用できます。リファラはandroid://スキーマが設定されているのでそれで通常ウェブと区別してもいいかも知れませんし、起動URLにパラメタ追加してもいいかもしれません。如何様にもできる気がします(以下はGAのリクエスト。dlはドキュメントURL、drはリファラです。)。
一方でWebviewと違い@JavascriptInterfaceアノテーションなどが使えるわけではないので、いわゆるモバイル計測プラットフォーム(Adjust、TUNE、AppsFlyerなど)を使うにはちょっと工夫が必要です。AppsFlyerがそこらへんのガイドを出していて大変参考になるのですが、基本Native SDKは利用できないので、一旦ウェブ側で必要なデータ全部かき集めて、Server to Serverで連携してくださいと読めます。ちょっと手順を大まかに整理すると...
アプリ起動時にNative側でしか収集できないデータ(たとえばAdvertising IDだったり、各SDKが発行するIDだったり)を取得し、それをTrusted Web Activityに引き渡す。
そのデータを利用して、Server to Serverで計測情報(コンバージョン等)を各プラットフォームに連携する。
Yusuke Utsunomiya (宇都宮 佑亮). Working on the Web Platform but mostly just a big fan of the web and its ecosystem. APAC Manager & Staff Partner Solutions Engineer @Google. Ex Systems Engineer @IBM. Opinions are my own.