React Native 如何使用Expo构建AppClip?

xjreopfe  于 2023-08-07  发布在  React
关注(0)|答案(1)|浏览(170)

我正在尝试为我的RN Expo应用程序构建应用程序剪辑。
有没有什么办法可以做到不弹出?(我想不是,但我认为值得一问)。

  • 谢谢-谢谢
    我找到了this的帖子,但不知道如何在不弹出的情况下完成。
ygya80vv

ygya80vv1#

现在有一个项目可以让你做到这一点:
https://github.com/bndkt/react-native-app-clip
react-native-app-clip是一个Expo Config插件。配置插件允许您将本机代码添加到Managed Expo应用程序。配置插件将在构建过程中对本机项目进行必要的更改。
来自README:

react-native-app-clip

警告从0.0.35版本开始,react-native-app-clip需要Expo SDK 48React Native 0.71

Expo配置插件,为Expo构建的iOS应用程序生成应用程序剪辑。

安装

将其安装到您的项目中:

npx expo install react-native-app-clip

字符串
在应用的Expo配置(app.json或app.config.js)中,确保react-native-app-clip已添加到插件列表中。您可以选择提供名称选项,该选项将确定您的App Clip在iOS中的显示名称。如果您没有在此处提供值,则该值将是您的应用名称,并附加“Clip”。

"expo": {
  "name": "my-app",
  "plugins": [
      ["react-native-app-clip", { "name": "My App Clip" }]
  ]
}

附加参数:

*groupIdentifier(字符串):配置应用程序组以在应用程序剪辑和完整应用程序之间共享数据(请参阅Apple Developer Docs
*deploymentTarget(string):设置应用程序剪辑的部署目标。如果您将其设置为“16.0”,则应用程序剪辑可以为15 MB而不是10 MB。
*requestEphemeralUserNotification(boolean):启用应用程序剪辑的通知(请参阅Apple Developer Docs
*requestLocationConfirmation(boolean):允许应用程序剪辑访问位置数据(请参阅Apple Developer Docs
*appleSignin(boolean):为应用程序剪辑启用“使用Apple登录”
*excludedPackages(string[]):要从应用程序剪辑的自动链接中排除的包,以减少捆绑包大小(请参阅下文)。

原生能力

import {
  isClip,
  displayOverlay,
  setSharedCredential,
  getSharedCredential,
} from "react-native-app-clip";

**isClip()**允许确定代码当前是否在应用剪辑内运行,并可用于为完整应用和应用剪辑应用不同的内容和行为。
**displayOverlay()**显示原生iOS横幅,用于在App Clip中推广完整应用(参见Apple Developer Docs)。
**setSharedCredential()getSharedCredential()**允许将App Clip中的登录数据共享到完整版App,这样用户在下载完整版App后就无需再次登录(参见Apple Developer Docs)。

App Store搭建前

请注意,您必须在Apple Developer配置文件中为App Clip注册新的App ID。在“证书、标识符和配置文件”下,转到“标识符”,单击加号图标并选择“应用程序ID”以创建新的应用程序ID。选择“应用程序剪辑”作为类型,并在下一个屏幕上,选择您的主应用程序作为“父应用程序ID”,并输入剪辑作为产品名称(至关重要的是,产品名称是“剪辑”,没有其他。在页面底部,Apple显示了App Clip Bundle ID的预览。如果主应用的捆绑包ID为com.example.my-app,则应用剪辑捆绑包ID现在应为com.example. my-app. Clip。

如何测试App Clip

App Clips无法使用Expo Go或expo-dev-client进行测试。测试App Clip的最佳两种方法似乎如下:

在模拟器中运行

首先通过运行expo run:ios并在Simulator中打开应用程序来构建开发客户端。完成此操作后,您可以运行expo run:ios --scheme并选择App Clip方案(“... Clip”)以打开App Clip。你也可以在你的项目包中添加一个额外的脚本。json:

"scripts": {
  "clip": "expo run:ios --scheme my-appClip"
}


现在,您只需在终端中输入“npm run clip”即可打开App Clip。

使用Xcode构建App Clip并在连接的设备上打开

在Expo项目文件夹中运行expo prebuild -p ios(请参阅https://docs.expo.dev/workflow/expo-cli/#expo-prebuild),以生成包含所有本机源代码的ios文件夹。然后在Xcode中打开文件ios/my-app.xcworkspace(my-app是您的应用程序的名称)。在你的项目中,你应该找到两个目标,一个像你的应用一样命名(例如“my-app”)和具有“Clip”后缀的一个(例如,“my-app”)。“my-appClip”)。对于这两个目标,在“Signing & Capabilities”选项卡中选择一个团队,并确保Xcode选择了一个签名证书。然后,使用菜单栏,选择“产品”,然后选择“方案”,您应该会看到菜单底部列出了两个主题,以两个目标命名。选择以“剪辑”结尾的方案。现在您可以构建并运行应用程序剪辑(使用菜单栏通过“产品”,然后是“运行”或使用快捷方式R)。

使用EAS Build进行生产构建,并通过TestFlight进行测试

您可以构建应用并将其提交到App Store(请参阅https://docs.expo.dev/build/introduction/),以使用TestFlight测试App Clip。请参阅Apple的开发者文档,了解如何测试App Clips:https://developer.apple.com/documentation/app_clips/testing_the_launch_experience_of_your_app_clip

相关问题