在不带--public-url的情况下请求有关 SDK 50 中的展会更新的帮助

问题描述 投票:0回答:1

我在 Expo SDK 50 中使用 expo-updates 时遇到困难。我最近迁移到 SDK 50 并注意到我之前使用的 --public-url 选项不再可用。我知道这个选项已被另一种方法取代,但我不确定正确的方法。

其他详细信息:

我在一个裸项目中使用 Expo SDK 50。 在迁移之前,我使用 expo-updates 和 --public-url 选项来指定我的资产的公共 URL。 现在 --public-url 选项不再可用,我正在寻找一种替代方法来指定我的资产的公共 URL,最好将它们托管在 S3 服务器上。

在 expo-updates 中指定资产的公共 URL 而不使用 --public-url 的推荐方法是什么? 如何在 S3 服务器上托管我的资产并将其与 Expo SDK 50 中的 expo 更新一起使用? 我可以不用eas吗?

非常感谢您的协助!

expo expo-updates
1个回答
0
投票

在 expo-updates 代码中搜索后,它对我有用:

  • AndroidManifest.xml
<meta-data android:name="expo.modules.updates.EXPO_UPDATE_URL" android:value="https://your-url-to-access-config/android-index.json" />

<meta-data android:name="expo.modules.updates.EXPO_RUNTIME_VERSION" android:value="1.0.0" />
  • 世博.plist
    <key>EXUpdatesRuntimeVersion</key>
    <string>1.0.0</string>
  • app.json

    "runtimeVersion":"7.26"

之后,您必须有一个脚本(在我的例子中是一个 shell 脚本)来生成 android-config.json 和 ios-config.json 来下载应用程序的捆绑包和资产。 您的 json 包含:

{
    "releaseId": "A1A179D4-1129-43DC-B6CF-BDC473206E04",
    "commitTime": "2024-05-23T08:40:46Z",
    "bundleUrl": "https://your-url-to-access-the-js-bundle/index-your-app.js",
    "runtimeVersion": "1.0.0",
    "scheme": "myapp",
    "bundledAssets": [
        "asset_02b45454354335ccbff40c9",
        "asset_02b4545675f40c9",
     ]
}

expo-update检查runtimeVersion和commitTime来下载JS并应用。

⚠️ 对于 iOS,commitTime 需要毫秒

© www.soinside.com 2019 - 2024. All rights reserved.