首页 > 解决方案 > iOS 14.5 App Tracking Transparency for firebase log in react-native app

问题描述

Firebase 日志在更新到我正在开发iOS 14.5的应用程序之一后立即停止工作。react-native

我们需要做哪些必要的更改才能使其再次运行?

标签: firebasereact-nativereact-native-iosios14

解决方案


您需要先请求 Tracking 权限(我使用了 react-native-permissions):

import { request, RESULTS, PERMISSIONS } from 'react-native-permissions'
import { Settings } from 'react-native-fbsdk-next'

export const requestPermissionTransparency = async () => {
  return await request(PERMISSIONS.IOS.APP_TRACKING_TRANSPARENCY)
}

useEffect(() => {
    ;(async () => {
      const result = await requestPermissionTransparency()
      if (result === RESULTS.GRANTED) {
        await firebase.analytics().setAnalyticsCollectionEnabled(true)
        await Settings.setAdvertiserTrackingEnabled(true)
      } else {
        await firebase.analytics().setAnalyticsCollectionEnabled(false)
        await Settings.setAdvertiserTrackingEnabled(false)
      }
    })()
  }, [])

记得在根项目中添加这个文件:

// <project-root>/firebase.json
{
  "react-native": {
    "analytics_auto_collection_enabled": false
  }
}

参考资料:https ://rnfirebase.io/analytics/usage


推荐阅读