とりあえずやってみればいいじゃん

とりあえずやってみればいいじゃん

エンジニア関連のことについてつらつら書くブログ

3/2 アプリを新次元に導く3D Touch #tryswiftconf

try!Swiftのセッションまとめシリーズです。Meghan Kaneさんの「3D Touch: Bring your apps to a new dimension」についての記事になります。

資料

公開されていないようです。

内容

  • 3Dタッチの概要となぜ素晴らしいのかという話

  • 3Dタッチの歴史

    • 6s以降に搭載
    • 圧力を加えると検知できる
    • Appleは開発に5年を費やしている
  • なぜ3Dタッチをサポートすべきなのか
    • ユーザが使いたい機能に早くたどり着ける
    • 簡単にアクセスできる手法になってきている
    • 注目も高まっている
    • AppStoreでフィーチャーされる可能性も
    • より多くのユーザに使ってもらえる
    • APIが使いやすい
  • 3Dタッチをサポートしているアプリの例
  • アクションのプレビュー、エクステンションについても話す
  • Caribou Appはこのために作った
    • 日常の場面で使う表現が表示される
    • 3つのアクションを用意
  • ホームアイコンのアクションは最大4つまで追加できる
    • 優先順位を付けて表示すると良い
    • 動的、静的なアクションがある
  • 静的なクイックアクション
    • コンパイルの時に作成される
    • info.plistに入れておく
    • 2つ必須のプロパティ、3つのオプションプロパティがある
    • itemtype:識別子
    • itemtitle:3Dタッチを行う時に表示される文字列
  • 動的なクイックアクション
    • 実行時に登録される
    • 使ったことがない場合は表示されない
  • ウィジェット
    • iOS10から
  • peek & popの説明
    • よく使われている
    • 3Dタッチでプレビューしてコンテンツが見える
    • その後遷移するかどうかを決める必要がある
      • ナビゲーションせずに英文和訳を確認したいかも
    • ユーザが実際に3D Touchを利用できるか確認するべき
      • 使えない場合、オフにしている場合がある
      • チェックはViewControllerのviewDidLoadなどで
  • その後アップデートを検知する必要がある
    • プロパティが変わっている可能性があるため
    • アプリを使っている最中に変わる場合がある
  • 3D Touchオフの人に似たような機能を提供できるか
    • UILongPressGestureRecognizerがそれに近い
  • peek & popの具体的な仕組み
    • 2つの必須メソッド
    • 短時間で対応できる
  • 押している圧力に応じて処理を変更したい場合
    • UIPreviewInteractionが使える
    • iOS10から提供されている
    • 0-1の間の値で取れる
    • 圧力によって読み上げ速度を変えたりできる
  • 実装をすることで…

    • かなり簡単にはやくユーザに対しての付加価値を与えることができる
    • より多くのコンテンツを表示させることができる
    • 通知をよりインタラクティブにできるようになる。
    • 文脈に合った情報を知らせることができる
    • 喫茶店の横を歩いた時に「日本語でコーヒーを注文しようとしていますか」とプッシュが届き、タッチで発音を確認
  • まとめ

    • 時間節約の非常に良い手段となる
    • エンゲージメントを高められる

Q&A

  • 自動テストを行うことはできるのか

    • 検討してみたい
  • 3D Touchは後方互換制を確保しているが何かラッパーはあるのか

    • 使ったことはないけどある

その他このトークに関する情報源

togetter

3D Touch: Bring your apps to a new dimension #tryswiftconf - Togetterまとめ