📱

[Apple]Do more with less data ざっくりまとめ

2023/07/29に公開

Do more with less dataという動画のざっくりまとめです。こちらは収集するデータを減らしながら優れたアプリを作成するためのベストプラクティスを紹介する動画になってます。

Appleのプライバシーに対する捉え方

プライバシーは基本的人権。Apple製品はユーザが自分の情報をコントロールできるように設計されている。また、プライバシーはApp Storeレビューガイドラインの中心となっており、5.1.1ではユーザの情報を保護するために不可欠な要件について詳しく説明している。

プライバシーの点において優れたアプリを作る3つのヒント

可能な限りサインインを遅らせる/削除する

ユーザはすぐにアプリを使いたいと思っているので、何もできないうちにサインインを求められるとやる気が失せてしまう。アカウントが必要ない場合はサインインを求めない、アカウントベースの機能を使うときまではサインインを遅らせるなどの措置を取る。

例)スポーツ用品アプリ
商品を購入するフローに入るまで自由に閲覧できるようにしておく。

アプリが要求するデータを必要最低限にする

ユーザに提供する機能と、それを実現するために必要最低限になるデータは何かを考える。開発プロセスの早い段階でこれを行うことによって、必要のないデータをユーザに要求することはなくなる。

ショッピングアプリの登録フローで次の情報を求められた時のことを考える。

住所 :商品を届けるために必須だと理解できる
誕生日 :誕生日クーポンのために必要な情報らしいが、主要機能のショッピングを楽しむのに必要はない。よって、任意入力項目にするのが良い。また、誕生日情報がどのように使用されるかの説明を表示すると、ユーザは適切な選択をすることができる。
結婚しているか否か :結びつく機能が存在しないため、完全に削除する必要がある。

それほど多くの情報を必要としていないなら、Sign in with Appleを使うことを検討する。Sign in with Appleならフォームへの入力やメールの登録にかかる時間を短縮することができる。

多くのアプリはApple OSで保護されているデバイスリソースを使用する。この場合においても必要なものだけ尋ねるようにする。

例えばプロフィールページの写真を選択する画面があるとする。もし写真データを使う機会がそれ以外にない場合は、ユーザが撮影したすべての写真へのアクセスをリクエストする必要はない。代わりに写真ピッカー(PHPickerViewController, PHPhotoPicker)を使う。

次はチャットアプリを開発していたとする。友達と繋がるために連絡先へのアクセスをリクエストをしたいかもしれない。この場合もCNContactPickerViewControllerを使うことを検討する。

位置情報を必要とするアプリでも、位置情報に依存する機能がわずかなら、起動時に位置情報の許諾を求めるのではなく、LocationButtonを使って1度だけ位置情報を共有するようにした方が良い場合もある。

ヘルスアプリ内のデータにアクセスするには、HealthKitでユーザの許可をとる。ヘルスケアアプリには機密性の高い個人情報が含まれているため、アプリがこのデータにアクセスするためには相応の理由が必要になる。

多くの場合、許諾ダイアログには、その権限を要求する理由を述べる文字列が設定できる。この文字列作成のヒントはWrite clear purpose stringsを参照のこと。

ユーザがデータの共有を拒否した場合の代替手段を用意しておく

ユーザはデータを共有しないと決めた場合でもアプリが引き続き使えることを期待する。ペアレンタルコントロールが有効になっているデバイスや、プライバシー設定によって制限がかかっていて特定のリソースへのアクセスが制限されている場合もある。このような場合も含めてユーザエクスペリエンスが著しく悪いアプリは審査に通らない可能性もある。

位置情報が取得できなかった場合は住所や郵便番号を手動で入力してもらう、ユーザが自分の写真を使いたくない場合はアバターを作成できるようにするなどの手法を検討する。

ユーザが許諾を拒否した場合はその意思を尊重することが大事であり、変更を促す文言をアプリに含めないようにする。ただし、権限が必要な機能を使用しようとしている場合には、設定アプリで権限の変更ができることを知らせるメッセージを表示しても良い。

Discussion