背景
2018年10月3日よりApp Storeに公開するアプリはプライバシーポリシーが必須になりました。
また、App Store Reviewガイドラインには取得したユーザーデータをユーザーが削除を求めた場合は削除できるようにしないといけないと記載されています。
そこでFirebaseを利用している場合のユーザーデータの無効と削除の方法をまとめます。
アナリティクスの収集を無効にする
こちらに一時的に無効にする方法や完全に無効にする方法が記載されています。
ユーザーの同意無しにはユーザーデータを収集してはいけませんので、記載されている通り一時的に無効にして、ユーザーが同意を終えてからsetAnalyticsCollectionEnabled
メソッドを呼び出して設定する必要がありそうです。
関連付けられているアナリティクスデータを削除する
ユーザーに関連付けされているアナリティクスデータを削除する方法はアプリ側とWeb側の2種類あります。
アプリ側
import FirebaseAnalytics
Analytics.resetAnalyticsData()
このメソッドを呼び出すことでアナリティクスデータを削除することができます。
Web側
User Deletion APIを利用することで削除できます。
User Deletion API - 概要
設定するAPP_INSTANCE_ID
はクライアント側で取得する必要があり
import FirebaseInstanceID
InstanceID.instanceID().getID(handler: { identity, error in
})
こちらのidentity
からAPP_INSTANCE_ID
が取得できます。
Googleアナリティクスを使っている場合、CLIENT_ID
は
GAI.sharedInstance()?.defaultTracker.get(kGAIClientId)
で取得できます。
会員の削除を申請された場合などはこのWeb側の対応を行う感じでしょうか。
まとめ
今回はFirebase Analyticsのユーザーデータの無効化と削除を紹介しましたが、Appleの規約に従い対応していく必要があります。
もし他にもユーザーデータを取得しているサービスを利用している場合はそれぞれ対応していかなければなりません。
できるだけ利用するサービスは少なめに考えていきたいところですね。