问题标签 [react-native-code-push]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - React-Native Android CodePush 设置不下载更新
我在将 CodePush 设置到我的 React-Native Android 应用程序中时遇到问题。在我的仪表板上,它没有显示任何应用程序已下载或安装更新。
注意:iOS 代码推送适用于此移动应用程序,但不适用于 Android。
我目前的 codePush 选项设置如下:
我做过的事情:
在您的
android/settings.gradle
文件中,添加以下内容:包括 ':app', ':react-native-code-push' project(':react-native-code-push').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-code -推/安卓/应用程序')
在您的
android/app/build.gradle
文件中,将:react-native-code-push
项目添加为编译时依赖项:... 依赖项 { ... 编译项目(':react-native-code-push') }
在您的
android/app/build.gradle
文件中,将该codepush.gradle
文件添加为下面的附加构建任务定义react.gradle
:...申请自:“../../node_modules/react-native/react.gradle”申请自:“../../node_modules/react-native-code-push/android/codepush.gradle”。 ..
如果您要将 Code Push 集成到 React Native 应用程序中,请执行以下步骤:
MainApplication.java
通过以下更改更新文件以使用 CodePush:
这是我的 MainApplication.java 文件的图片
我知道还有这部分设置说明我不知道我是否需要这样做。我尝试实现它,但出现错误,因为此代码与我的文件中的示例文档完全不同。
我也不太确定这是什么:
编辑 2 - index.js 文件
react-native - 反应本机代码推送未将应用程序更新到最新推送的版本
我已经通过代码推送更新了我的react 本机应用程序,并希望将所有版本更新到最新版本。
我使用以下代码推送我的更新
应该将所有版本更新为 version 1.0.20
;但不幸的是,该应用程序崩溃了。
我已尝试禁用AppCenter Distribute->Code push
除最新版本之外的所有版本,但它无法正常工作;
我需要知道如何解决它。
android - 应用中心的责任
我正在尝试找出 AppCenter 提供的 CI 部分。我已经为我的应用程序实现了 CodePush,如果我的理解有误,请纠正我。
- 我们构建原生 android 应用程序并生成签名的 apk。
- 将生成的签名 apk 发布到 playstore
- 执行命令上传包
appcenter codepush release-react -a <owner>/<android-app> -d Production
以上是我理解 CodePush 的大致方式,并且我已经测试过并且工作正常。
现在我注意到我们可以将我们的 github 项目分支集成到 appcenter 中,只要有git push
,AppCenter 就会自动构建它,我们可以配置为自动发布到 playstore。
现在我不明白的部分是,这CI auto build by AppCenter
实际上与它无关CodePush
吗?
如果现在我的情况只是在 JS 代码方面有更新,实际上当我git-push
回购时,就不需要auto-release
playstore 对吗?
react-native - 无法读取未定义的属性“CheckFrequency”
我的团队最近将 CodePush 添加到我们的 React Native 应用程序中,虽然它在原始本地存储库上运行良好,但当我拉取更改时出现错误
无法读取未定义的属性“CheckFrequency”
这发生在安装 react-native-code-push 并正确链接后。在使用 Jest 时,我为类似问题找到的所有答案似乎都有这个错误,但我们没有使用 Jest,并且在我运行的任何时候都会发生这个错误react-native run-ios
代码如下所示:
CodePush 已导入
后来在同一个文件中,错误发生在
android - ANDROID 4 KITKAT 代码推送成功但应用没有更新
重现步骤:
代码推送成功。
打开时,应用程序不会更新。尝试记录它会从 codepush 同步中产生错误UNKNOWN_ERROR 。
预期行为:
代码推送应在用户关闭应用并手动重启后更新应用。只有这样更新才会显示在应用程序中。
实际行为
什么也没有发生,应用程序也没有更新。当我在启动画面上使用它时,尝试加载它不起作用,因为它卡住了。
可重现的演示
这是我的回购,以防你需要它
只需 codepush 并重新启动 Android 4 (Kitkat) 环境中的应用程序
我尝试了两种环境。
react-native-code-push 版本:5.3.2 和最新版本
react-native 版本:0.57.2 和最新版本
iOS/Android/Windows 版本:Android Kitkat
这会在调试版本或发布版本上重现吗?发布构建
这是在模拟器上重现,还是仅在物理设备上重现?两个都?
react-native - 如果必须构建,如何仅显示更新对话框
如果构建是强制性的,有一种方法只显示更新对话框确认?
react-native - RN code-push:挂钩到 codePushStatusDidChange 的测试组件
我正在使用react-native-code-push
codePush
HOC,并运行一些逻辑来响应codePushStatusDidChange
事件挂钩,特别是当状态为SyncStatus.UPDATE_INSTALLED
.
我没有找到在开发模式下运行时是否可以模拟代码推送事件的方法,以验证我们的代码是否正确响应事件挂钩。这可能吗,还是有必要向代码推送服务器发布新版本?
附带问题:如果installMode
设置为codePush.InstallMode.ON_NEXT_SUSPEND
,事件挂钩是否应该SyncStatus.UPDATE_INSTALLED
在下次重新启动时接收 a ?(我想一旦我弄清楚了第一个问题,我就可以自己回答第二个问题了!)。
react-native - 在 iOS 上使用 wix 导航进行 codepush
我已经坚持了两天了,即使有人问过这个问题。没有一个答案对我有帮助。
我正在使用 Wix Navigation V2 并尝试使用 CodePush 进行即时更新。在 staging 中,我可以看到 CodePush 日志和更新发生(只是检查以查看日志)。然而,在生产中,我的应用程序总是在启动后恢复为黑屏。这是我到目前为止所尝试的。
这种方法:https ://medium.com/react-coach/using-codepush-with-wix-react-native-navigation-a6a7938cee24
我还确保我的部署密钥在我的 plist 文件中是正确的
appcenter codepush deployment list -a {myUserName}/{appName} -k
我也尝试过这些方法 使用 Wix 的 React Native Navigation 注册 React Native Code Push
这是我的 App.js 代码
这是我注册屏幕并使用 codepush 包装 HOC 的地方
最后,这是我的 AppDelegate.m
react-native - react-native 代码推送中允许的更改
我在我的 react native 应用程序中添加了 react-native-code-push,如果我在我的页面中添加一个新页面,然后将其部署到 code-push 云上,它会起作用吗?
更改 react-native-code-push 中的内容的限制是什么?
请告诉我,如果我同时部署在代码推送云和应用商店中,那么用户是否会在 Play 商店中获得更新按钮?
我们可以只将更改推送给某些用户吗?
react-native - React Native codePush 重启后回滚
我正在尝试实施 AppCenter CodePush 来更新 Javascript 代码,而无需通过 App Store 审核流程。
我已经按照此处提到的 iOS 和 Android 步骤来设置多部署环境: https://github.com/microsoft/react-native-code-push/blob/master/docs/multi-deployment-testing-ios。 md https://github.com/microsoft/react-native-code-push/blob/master/docs/multi-deployment-testing-android.md
版本
"react-native": "0.59.10"
"react-native-code-push": "^5.6.1"
我在 Android 上尝试过react-native run-android --variant release
,在 iOS 上我将 RUN 和 Archive 方案更改为 STAGING。但在这两种情况下,他们似乎都是这样获取我的包,[CodePush] Loading JS bundle from "assets://index.android.bundle"
而不是从 CodePush 存储库中获取。这是我看到的唯一输出(与 CodePush 相关)。
我制作了一个 codePush 版本,如下所示:appcenter codepush release-react -a name/appName-1 -d Staging
。此命令成功,我在 iOS 和 Android 暂存环境中看到它具有正确的版本。
组件DidMount
导出应用
信息列表
CodePushDeploymentKey: $(CODEPUSH_KEY)
android/app/build.gradle
我的构建设置包含 codePush Release 和暂存代码。
我还尝试将 CodePush 暂存版本升级到生产,但这并没有解决我的问题。
appcenter codepush deployment list -a Name/MyApp
总是返回 0(1 挂起)。
UPDATE 它要求更新应用程序,在批准它成功更新应用程序后。但是当我重新启动应用程序时,它会回滚到以前的版本。
更新 2 AppDelgate.m 更改:
MainApplication.java 更改:
build.gradle 更改: