【问题标题】:How to use ATTrackingManager in Expo如何在 Expo 中使用 ATTrackingManager
【发布时间】:2021-07-19 18:30:47
【问题描述】:

根据recent apple update,自 2021 年 4 月 26 日起发布到 AppStore 的所有应用,如果需要用户名、电子邮件、电话或任何用户生成的内容,都必须使用 App Tracking Transparency 框架。

我们的应用程序需要用户名、电子邮件和电话号码才能将用户注册到应用程序中才能使用它。我们没有在我们的应用程序中使用 Segment、AdMob 或 FacebookAds,但由于这些库可以在 expo 管理中使用,因此在将应用程序部署到 AppStore 时,我们有义务选中我们使用的自定义用户内容框。 (https://docs.expo.io/distribution/app-stores/#ios-specific-guidelines)

根据Apple Tracking Transparency,我在app.json中设置了infoPlist键(NSUserTrackingUsageDescription),但无法弄清楚如何显示警报对话框,因为ATTrackingManager类提示用户权限不存在于expo和在 expo-permissions 中也没有找到这种类型的权限。关于如何解决这个问题的任何线索?非常感谢。

【问题讨论】:

    标签: ios react-native expo


    【解决方案1】:

    我不想对 OP 给出的答案投反对票。但是,他只指出了我不清楚的文档。幸运的是,我联系了 Expo 团队,他们帮助了我。最终,我的应用获得了批准。

    因此,为了获得 expo 应用程序的许可,您需要:

    1. 安装expo-ads-admob库。
    2. 像这样导入requestPermissionsAsync()

    导入 { requestPermissionsAsync, getPermissionsAsync, } 从 'expo-ads-admob'

    1. 在异步函数中这样调用它await requestPermissionsAsync()

    2. 在docs中写的infoPList中添加所需的行

    来源:https://github.com/expo/expo/blob/master/apps/native-component-list/src/screens/AdMobScreen.tsx#L141-L144

    【讨论】:

    • 这应该是选择的答案。
    【解决方案2】:

    刚刚发现 expo-ads-admob 可以在 41 世博会中使用 requestPermissionsAsync() 和 getPermissionsAsync()

    【讨论】:

    • 你能举个例子吗。我不知道我可以从哪里导入?
    • 是的,我知道,但是如何使用 requestPermissionsAsync()。我收到一个错误。
    猜你喜欢
    • 2021-11-17
    • 2022-10-15
    • 1970-01-01
    • 2021-10-02
    • 2021-09-12
    • 2020-10-20
    • 2018-05-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多