Posted at

iOSのFirebase Analyticsでユーザーデータを無効、または削除する


背景

2018年10月3日よりApp Storeに公開するアプリはプライバシーポリシーが必須になりました。

予定されているプライバシーポリシー要件の変更について

また、App Store Reviewガイドラインには取得したユーザーデータをユーザーが削除を求めた場合は削除できるようにしないといけないと記載されています。

App Store Reviewガイドライン

そこでFirebaseを利用している場合のユーザーデータの無効と削除の方法をまとめます。


アナリティクスの収集を無効にする

参考: iOSでアナリティクスの収集を無効にする

こちらに一時的に無効にする方法や完全に無効にする方法が記載されています。

ユーザーの同意無しにはユーザーデータを収集してはいけませんので、記載されている通り一時的に無効にして、ユーザーが同意を終えてからsetAnalyticsCollectionEnabledメソッドを呼び出して設定する必要がありそうです。


関連付けられているアナリティクスデータを削除する

ユーザーに関連付けされているアナリティクスデータを削除する方法はアプリ側とWeb側の2種類あります。


アプリ側

import FirebaseAnalytics

Analytics.resetAnalyticsData()

このメソッドを呼び出すことでアナリティクスデータを削除することができます。

参考: 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の規約に従い対応していく必要があります。

もし他にもユーザーデータを取得しているサービスを利用している場合はそれぞれ対応していかなければなりません。

できるだけ利用するサービスは少なめに考えていきたいところですね。