首页 > 解决方案 > Expo Notification askAsync() - 有没有办法自定义消息?

问题描述

我在反应原生项目上使用 EXPO 并想向用户请求推送通知权限。

当我使用const {status} = await Permissions.askAsync(Permissions.NOTIFICATIONS);出现的消息是

“世博”想向您发送通知。通知可能包括声音、标记、警报和图标标记。这些可以在设置中进行配置。

我的最终用户不知道“Expo”是什么,他们只知道应用名称。有没有办法让我将“Expo”部分自定义为应用程序名称?

当他们的应用被弹出并推送到应用商店时,人们是如何处理这个问题的?

标签: react-nativepush-notificationnotificationsexporeact-native-push-notification

解决方案


您可以在这里找到答案:https ://docs.expo.io/distribution/app-stores/?redirected

其中说:

iOS 上的系统权限对话框 如果您的应用程序向用户请求系统权限,例如使用设备的相机或访问照片,Apple 需要说明您的应用程序如何使用该数据。Expo 将自动为您提供样板理由,例如“允许酷应用访问相机”,但是这些必须根据您的特定用例进行定制和定制,以便您的应用被 App Store 接受。为此,请使用 app.json 中的 ios.infoPlist 键覆盖这些值,例如:

"infoPlist": { "NSCameraUsageDescription": "这个应用程序使用相机扫描活动门票上的条形码。" },

可以在此处查看 Expo 默认提供的完整键列表。与 Android 不同,在 iOS 上,无法过滤应用程序可能在本机级别请求的权限列表。这意味着默认情况下,您的应用程序将在二进制文件中嵌入所有这些默认样板字符串。您可以在 infoPlist 配置中提供您想要的任何覆盖。因为这些字符串是在本机级别配置的,所以它们只会在您使用 expo build 构建新的二进制文件时发布。


推荐阅读