如何使用已在 Play 商店上线的 React-Native 应用程序实现 Play 商店应用内更新?
我已经通过 API 调用实现了代码推送和内部版本检查,以强制用户更新应用程序。
使用 Codepush:代码推送仅适用于 javascript 更改。但是,在很多情况下,当 native 代码发生更改时,我们需要更新整个应用程序。
通过API检查:我们需要监视更新何时生效,并更新保留在后端的版本号以强制用户更新应用程序。
虽然这两种解决方案都有些不完善,但我想实现 Play 商店应用内更新的优雅方法,但找不到如何完成它的线索。
最佳答案
我没有找到任何与之相关的react-native包,所以我必须自己实现它。
但简而言之,这就是您需要做的。
- 打开
android
在你的react-native项目中的文件夹Android Studio
并添加implementation 'com.google.android.play:core:1.7.3'
在build.gradle(app)
的依赖项部分的末尾文件。就像下面这样,
dependencies {
implementation fileTree(dir: "libs", include: ["*.jar"])
//noinspection GradleDynamicVersion
implementation "com.facebook.react:react-native:+" // From node_modules
.......
implementation 'com.google.android.play:core:1.7.3' // add it at the end
}
添加依赖后点击同步。
- 下载
InAppUpdateModule.java
和InAppUpdatePackage.java
文件并将它们放在MainActivity.java
的同一目录中(android/app/src/main/java/<package>/
) - 更改
InAppUpdateModule.java
中的包名称和InAppUpdatePackage.java
到您的项目包名称。 - 现已开放
MainApplication.java
并添加我们的InAppUpdatePackage
进入getPackages
方法如下,
@Override
protected List<ReactPackage> getPackages() {
@SuppressWarnings("UnnecessaryLocalVariable")
List<ReactPackage> packages = new PackageList(this).getPackages();
// Packages that cannot be autolinked yet can be added manually here, for example:
// packages.add(new MyReactNativePackage());
packages.add(new InAppUpdatePackage());
return packages;
}
- 下载
InAppUpdate.js
并将其放入您的react-native
项目。 - 导入
InAppUpdate.js
在任何js
文件,无论您想在哪里使用。并像下面这样使用它。
componentDidMount () {
InAppUpdate.checkUpdate() // this is how you check for update
}
- 就是这样。
您可以从here下载所有文件
关于android - 如何使用react-native实现Android playstore应用内更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59833787/