首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用react-native实现Android playstore应用内更新

如何使用react-native实现Android playstore应用内更新
EN

Stack Overflow用户
提问于 2020-01-21 11:25:39
回答 3查看 9K关注 0票数 13

我如何使用我的react原生应用程序实现play商店应用内更新,该应用程序已经在play商店上线?

我已经通过API调用实现了代码推送和内部版本检查,以强制用户更新应用程序。

使用Codepush:代码推送仅适用于javascript更改。然而,在许多情况下,当存在本机代码更改时,我们需要更新整个应用程序。

使用API检查:我们需要观察更新何时上线,并更新后台保存的版本号,以强制用户更新应用程序。

虽然这两种解决方案都有些杂乱无章,但我想实现play-store应用内更新的优雅方法,但找不到如何做到这一点的线索。

EN

回答 3

Stack Overflow用户

发布于 2020-08-30 20:17:11

我没有找到任何用于此的原生反应包,所以我必须自己实现它。

您可以查看完整的教程here和下面的可下载文件here

但简而言之,以下是您需要做的。

  1. 使用Android Studio打开react-native项目中的android文件夹,并在build.gradle(app)文件的依赖项部分的末尾添加implementation 'com.google.android.play:core:1.7.3'。如下所示,

代码语言:javascript
复制
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
}

添加依赖项后单击同步。

  1. 下载InAppUpdateModule.javaInAppUpdatePackage.java文件,并将InAppUpdateModule.javaInAppUpdatePackage.java中的包名称放在MainActivity.java(android/app/src/main/java/<package>/)
  2. Change的同一目录中,作为您的项目包名称。
  3. 现在打开MainApplication.java,并将我们的<代码>D24添加到<代码>D25方法中,如下所示:<代码>H226<代码>G227

代码语言:javascript
复制
        @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 project.

  • Import InAppUpdate.js中的任何js文件中,无论您想在何处使用。并按如下方式使用。

代码语言:javascript
复制
  componentDidMount () {
    InAppUpdate.checkUpdate() // this is how you check for update 
  }

  1. 就是这样。

您可以从here下载所有文件

票数 14
EN

Stack Overflow用户

发布于 2021-08-23 15:10:48

有一个相当新的包可以做到这一点:sp-react-native-in-app-updates

它还通过向用户提示重定向至App Store的本机警报来处理iOS案例。

票数 1
EN

Stack Overflow用户

发布于 2020-01-24 02:08:22

还有一个选择(比APi检查更好):用https://github.com/kimxogus/react-native-version-check检查play商店的最新版本并采取相应的措施

代码语言:javascript
复制
VersionCheck.needUpdate()
  .then(async res => {
    console.log(res.isNeeded);    // true
    if (res.isNeeded) {
      Linking.openURL(await VersionCheck.getStoreUrl());  // open store if update is needed.
    }
  });
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59833787

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档