iOS 14.5 App Tracking Transparency for firebase log in react-native app

Posted

技术标签:

【中文标题】iOS 14.5 App Tracking Transparency for firebase log in react-native app【英文标题】:iOS 14.5 App Tracking Transparency for firebase logs in react-native app 【发布时间】:2021-04-27 13:37:50 【问题描述】:

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

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

【问题讨论】:

在将 Xcode 和 iOS 升级到 14.5 后,我什至无法运行我的 RN 应用程序。我会继续检查这个帖子,因为我可能会遇到和你一样的问题。 @GuilhermeCrozariol - 你面临什么问题? 【参考方案1】:

你需要先申请 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

【讨论】:

是否需要在“GRANTED”之后手动调用 Settings.initializeSDK() 还是只在 AppDelegate 中初始化? ([FBSDKApplicationDelegate initializeSDK:launchOptions]) 我认为您只需将 setAdvertiserTrackingEnabled 设置为 true 并自动初始化(参见文档):(developers.facebook.com/docs/audience-network/setting-up/…)

以上是关于iOS 14.5 App Tracking Transparency for firebase log in react-native app的主要内容,如果未能解决你的问题,请参考以下文章

iOS 14.5将强制App加入请求追踪用户权限!

iOS 14.5将强制App加入请求追踪用户权限!

iOS15系统App Tracking Transparency提审被拒

iOS 14.5揭示Airtags新功能丨OLED屏iPad最快明年发布!

iOS 14.5揭示Airtags新功能丨OLED屏iPad最快明年发布!

如何开始使用 App-Tracking?