适用于本机的CodePush教程

CodePush是一项云服务,可让Cordova和React Native开发人员将移动应用程序更新直接部署到其用户的设备上。 最终用户可以更新应用程序,而无需通过应用程序商店或手动等进行更新。

这篇文章试图解释您的react native项目中codepush的简单实现,这对于大多数常见用法都以为官方文档解释了各种自定义。

首先,您需要通过以下命令在终端中安装基于NodeJs的CLI:

npm install -g代码-push-cli

其次,您需要创建一个CodePush帐户。 为此,请首先在终端中键入以下命令:

代码推送寄存器

然后,将要求您提供令牌,同时,您将被引导到自动注册的网页。 如果一切顺利,您将在注册后获得令牌。 复制令牌并将其粘贴到终端中,然后按Enter。

做得好! 您已注册! 现在是时候通过以下命令制作应用了。 请记住,您应该为正在使用的每个平台制作一个单独的应用程序,如下所示:

代码推送应用程序添加MyApp_IOS ios react-native

代码推送应用程序添加MyApp_Android android react-native

每次您运行这些命令时,您都会得到两种代码。 每个平台的分期和生产。 这些代码将在以下步骤中使用。 您可以稍后通过以下命令再次获取这些代码:

代码推送部署ls MyApp_IOS -k

现在,当您位于项目根目录中时,可以通过以下命令轻松将CodePush添加到项目中。

react-native链接react-native-code-push

系统将提示您输入要用于每个平台的部署密钥。 只需提供最后一步的密钥即可。

现在,您需要包装主应用程序组件,以让CodePush管理您的更改。 最简单的形式是以下形式。 它将尝试立即自动更新该应用程序(如果有新应用程序)。

从“ react-native-code-push”导入codePush;

MyApp类扩展了Component {

componentDidMount(){

codePush.sync();

}

//逻辑,渲染…

}

MyApp = codePush(MyApp);

如果您可以通过这种方式更新应用程序,则可以跳过此部分并跳到下一步。 但是由于可能不是您要寻找的用户体验,因此另一种方法是使用户知道该更新。 您还可以执行许多其他策略(例如:使更新成为可选的),但是我们要寻找的是在通知最终用户之后,使用自定义消息和按钮标题进行的强制更新。 我们通过下面的一段代码来做到这一点:

从“ react-native-code-push”导入codePush;

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

MyApp类扩展了Component {

componentDidMount(){

codePush.sync({
updateDialog:{
essentialUpdateMessage:“有一个新的更新”,
标题:“请按下按钮开始更新”,
必须的ContinueButtonLabel:“更新”
},
installMode:codePush.InstallMode.IMMEDIATE
});

}

}

MyApp = codePush(codePushOptions)(MyApp);

现在,您应该运行应用程序的发布版本(ios和android教程),然后进行一些更改(例如:更改文本标签)。 然后通过以下命令将您的应用释放到CodePush :( -m表示该更新是强制性的,无法取消)

代码推送发布-反应MyApp_Android android -m

如果您在应用程序中使用过“登台模式密钥”,则下次打开应用程序时,应应用更新。 但是,如果您提供了“生产密钥”,则应通过以下命令将发布状态从暂存状态更改为生产状态:

代码推送促进MyApp_Android临时生产

本教程基于我们在Sanjagh项目中的要求(本地服务市场包括房屋清洁等各种服务)。 您可以根据需要应用各种自定义。 例如,指定下载更新后应用更新的行为。 可以立即使用新更新重新加载它,或者在用户下次打开应用程序时请求应用更新。 为了更好地进行部署管理,您可以为项目设置暂存密钥和生产密钥,并创建两种用于测试目的的应用程序并发布给最终用户,而无需重复更改。 这些概念可以在另一篇文章中进行解释。