アプリ内に設置する「利用規約」や「プライバシーポリシー」を前々から Google Docs のドキュメントを直でホストすればいいんじゃないと思っていたので実現方法を調べた。
Google Docs のドキュメントは
- URL末尾
/edit
で共同利用する状態 /preview
で書類フォーマットの閲覧だけするURL/pub
でWebページとして公開する時のURL
という3つのものがあり、 /pub
をアプリ内に WKWebView で直接埋め込む。
Google ドキュメント、スプレッドシート、スライド、フォームの公開と埋め込み - パソコン - ドキュメント エディタ ヘルプ
見た目が気にいらない部分はJSで書き換えてしまう(Googleの標準フッタの表示を消してしまうと怒られそうではある)
webView.evaluateJavaScript( ["document.getElementById('contents').style.margin='0 50px';", "document.getElementById('header').hidden=true;", "document.getElementById('footer').hidden=true;"].joined()) { result, err in assert(err == nil, err?.localizedDescription ?? "") }
様子
Drawingや他ツールと連携できるので比較的表現力の高い利用規約が作れるような気がする
まとめ
- 作っては見たものの、アプリとウェブサイトで共有するために結局自社でホストするURL振った方がいいのかもしれない
- 閲覧者がリビジョン履歴を見たり「現在利用規約の見ているユーザー数」などを共有して盛り上がれるといいと思ったけどパブリッシュ済みのドキュメントはその機能はなかった