Timers Tech Blog

グローバルな家族アプリFammを運営するTimers inc (タイマーズ) の公式Tech Blogです。弊社のエンジニアリングを支える記事を随時公開。エンジニア絶賛採用中!→ https://timers-inc.com/engineering

iOS 14における写真許諾のアップデートについて #iOS14

2020年7月にTimersにJoinした桐山です。

iOS 14から写真許諾のステータスに.limitedが追加されたので、Fammでどのように対応したかを紹介します。

写真許諾のアップデート内容については、公式ドキュメントもありますが、 @akatsuki174さんがわかりやすくまとめられているQiitaの記事を参考にしてみてください。

完成形

アップロード画面 アラート表示
f:id:timers-tech:20201008145641p:plain:w200 f:id:timers-tech:20201008145648p:plain:w200
  • アップロード画面
    • 「選択した写真」を選択していても問題なく写真を選べるよう、右上に「追加」ボタンを表示
    • 「選択した写真」を選択している場合に、設定へ飛べるViewを表示
  • 各種編集画面
    • 「選択した写真」を選択していても問題なく写真を選べるよう、アラートに「追加」アクションを表示
    • 「選択した写真」を選択している場合に、設定へ飛べるよう「設定変更」アクションを表示

対応しないとどうなるか

これはひどい

f:id:timers-tech:20201008145812j:plain:w200

  • 多くのユーザーが「選択した写真」を選び、ユーザーが写真を選択できない場合に事業者として困りそうなこと
    • 問い合わせが増える
    • 他アプリに乗り換えてしまう→チュートリアル完了率/お試し完了率、有料会員転換率の減少
    • 写真共有アプリそのものを使うモチベーションが減ってしまう→継続MAUの減少

対応案

  • A案:チュートリアルなどに、写真許諾について「すべての写真」を選んでもらえるような導線を仕組む
  • B案:「選択した写真」を選んでしまっても「すべての写真」に変えてもらえるような導線を仕組む
  • C案:「選択した写真」を選んでしまっても写真アップロードのフローがある程度シームレスになるようにする

「すべての写真」を選択してもらうように誘導することはできるが、Appleの思想と反する。

あくまでユーザーのプライバシーへの考え方に応じて選択してもら前提を踏まえ、C案に落ち着きました。

リリースに対しての優先度

初期リリース(iOS 14が世に出るタイミングと合わせたい内容)

  • アルバムのアップロード画面はFammの肝となる機能なので手厚く説明をしたい
  • それ以外のカメラロールを表示する画面についてはROIを考慮し、簡易的にアラートで対応
  • 写真の許諾はFammにとっては重要であるため、許諾率のログを集計し今後の施策を考えれるようにする

今後の対応

  • 許諾率やフィードバックを参考に、他画面についての対応を検討

Tips

presentLimitedLibraryPickerで表示した画面で写真の選択が変更されたことを検知したい

f:id:timers-tech:20200910151546p:plain:w200

対応方法(例)

  • PHPhotoLibraryChangeObserverを継承させる
  • PHPhotoLibrary.shared().register(self)を適当な箇所に記述
  • func photoLibraryDidChange(_: PHChange)delegateメソッドに変更されたときの処理を記述

Beta時の問題

.limitedをユーザーが選択している状態でカメラロールの読み込みをすると、許可されていない写真がグレーで表示されてしまう

f:id:timers-tech:20200910143342p:plain:w200

iOS 14正式リリースで本事象は確認されませんでした。Beta時のバグだったようです。

感想

この対応はiOS 14以降でしか必要ないので、設定画面に遷移させるViewはSwiftUIで書くことができました🎉

Appleとしてはプライバシー強化として.limitedを増やしたと思うのですが、多少なりとも、急に表示されたアラートに対して混乱してしまうユーザーは居ると思います。 今回の対応は、チームとしていかにしてユーザーが迷わないように導いてあげるかを、コストとのバランスをとりながら対応できたと思います。

どれくらいのユーザーが.limitedを選択するかは全く想像できないですが、.authorizedを選択してもらえるような安心で信頼性のあるアプリの運用をしていきたいです!

PR

子育て家族アプリFammを運営するTimers inc.では、現在エンジニアを積極採用中!
急成長中のサービスの技術の話を少しでも聞いてみたい方、スタートアップで働きたい方など、是非お気軽にご連絡ください!
採用HP: http://timers-inc.com/engineerings

Timersでは各職種を積極採用中!

急成長スタートアップで、最高のものづくりをしよう。

募集の詳細をみる