CodePush 更新代码

如果项目中已经下载和链接了codepush(没有见https://www.jianshu.com/p/da7e8890acec),下面就是插入代码,告诉codepush从何处获取最新的jsBundle代码

1、最简洁的写法

import codePush from "react-native-code-push";

class MyApp extends Component {
}

MyApp = codePush(MyApp);

默认情况下,codepush将检查每个应用程序启动时的更新。如果有可用的更新,它将自动下载,并在下次重新启动应用程序时安装(由最终用户或操作系统明确),从而确保为最终用户提供最少的入侵体验。如果一个可用的更新是强制性的,那么它将被立即安装,确保最终用户尽快得到它。

2、后台恢复时,也进行同步更新

如果您希望应用程序更快地发现更新,还可以选择在应用程序每次从后台恢复时与codepush服务器同步。

let codePushOptions = { checkFrequency: codePush.CheckFrequency.ON_APP_RESUME };

class MyApp extends Component {
}

MyApp = codePush(codePushOptions)(MyApp);

3、自定义按钮,更新

let codePushOptions = { checkFrequency: codePush.CheckFrequency.MANUAL };

class MyApp extends Component {
    onButtonPress() {
        codePush.sync({
            updateDialog: true,
            installMode: codePush.InstallMode.IMMEDIATE
        });
    }

    render() {
        
            
                Check for updates
            
        
    }
}

MyApp = codePush(codePushOptions)(MyApp);
SyncOptions内置参数:

(1)deploymentKey:代码绑定的key值(iOS的info绑定的参数)
(2)installMode:可选更新的更新方式

① IMMEDIATE 安装更新,立即启动应用程序
② ON_NEXT_RESTART 安装更新,不强制重启程序
③ ON_NEXT_RESUME 安装更新,不等待重启应用,当应用从后台返回前台就是下次更新时间
④ ON_NEXT_SUSPEND 安装更新,在后台,但是必须是在"minimumBackgroundDuration"时间之后

(4) mandatoryInstallMode 强制更新的更新方式(同上installMode)
(5)minimumBackgroundDuration 重启应用在后台必须达到的秒数,此属性适用于''ON_NEXT_RESUME''的安装更新,他的作用就是,不管在后台多长时间,在一恢复之后就能更新
(6)updateDialog
回滚重试机制允许应用程序尝试重新安装以前回滚的更新(使用选项中指定的限制)。它是一个“选项”对象,用于确定是否应进行回滚重试,如果发生,则确定用于回滚重试的设置。这将默认为空,这将导致禁用重试机制。将此值设置为任何Truthy值将使用默认设置启用重试机制,并将对象传递到此参数允许启用回滚重试以及覆盖一个或多个默认值。

① appendReleaseDescription?: boolean; 是否要添加可用版本的内容,到最终用户的更新通知中,默认是false
② descriptionPrefix?: string; 自定义描述,默认是 " Description: "
③ mandatoryContinueButtonLabel?: string; 强制更新按钮,默认"Continue".
④ mandatoryUpdateMessage?: string; 强制更新描述信息,默认"An update is available that must be installed.".
⑤ optionalIgnoreButtonLabel?: string;可选类型忽略按钮,默认"Ignore".
⑥ optionalInstallButtonLabel?: string; 可选类型创建按钮,默认"Install".
⑦ optionalUpdateMessage?: string;可选类型更新描述信息,默认"An update is available. Would you like to install it?".
title?: string;更新通知头部文本,默认"Update available".

(7)rollbackRetryOptions 回退选项

delayInHours 指定应用程序在最近一次回滚之后尝试重新安装相同的回滚包之前等待的最短时间(小时)。默认为'24`
maxRetryAttempts 指定应用程序停止尝试前可以进行的最大重试次数。不能小于“1”。默认为“1”。

注意:1、当一个版本,使用了一次强制更新后,如果强更这版没更新,下一次就算指令是可选类型,也会执行强制更新最新版本
2、ON_NEXT_SUSPEND 在后台执行安装更新,但是实在下载新包完成后,只是后台安装包

问题:
1、测试中,多次更新,后面出现不更新的情况,下载安装包总是失败

你可能感兴趣的:(CodePush 更新代码)