Cordova原生插件

(代码推送)Code Push

2017-07-04  本文已影响1024人  待花谢花开

Code Push

由Microsoft支持iOS和Android的Cordova的CodePush插件。
欲了解更多信息,请参阅 https://github.com/ksachdeva/ionic2-code-push-example
Repo(备用): https://github.com/Microsoft/cordova-plugin-code-push

Installation(安装)

1.安装Cordova和Ionic原生插件:

$ ionic cordova plugin add cordova-plugin-code-push
$ npm install --save @ionic-native/code-push

2.添加插件到app's module

Supported platforms(支持平台)

Android
iOS

Usage(用法)

import { CodePush } from '@ionic-native/code-push';

constructor(private codePush: CodePush) { }

...

// note - mostly error & completed methods of observable will not fire
// as syncStatus will contain the current state of the update
this.codePush.sync().subscribe((syncStatus) => console.log(syncStatus));

const downloadProgress = (progress) => { console.log(`Downloaded ${progress.receivedBytes} of ${progress.totalBytes}`); }
this.codePush.sync({}, downloadProgress).subscribe((syncStatus) => console.log(syncStatus));

Instance Members(实例成员)

getCurrentPackage(packageSuccess, packageError)

获取当前的包信息。

参数 类型 详情
packageSuccess 使用当前部署的包信息时被调用的回调。
packageError 出现错误的时候被调用的可选回调.

****Returns:** Promise<ILocalPackage>

getPendingPackage()

获取待处理的包信息(如果有)。 待处理的包是已经安装的包,但应用程序仍然运行旧的代码。 只有在使用ON_NEXT_RESTART或ON_NEXT_RESUME模式安装软件包之后,才会发生这种情况,但应用程序尚未重新启动/恢复。
****Returns:** Promise<ILocalPackage>

checkForUpdate(querySuccess, queryError, deploymentKey)

与CodePush服务器进行检查是否有更新包可供下载。

参数 类型 详情
querySuccess 在服务器响应成功的情况下调用回调函数。 回调需要一个RemotePackage参数。 非空包是有效的更新。 空包意味着应用程序是当前本机应用程序版本的最新版本。
queryError 出现错误的时候被调用的可选回调.
deploymentKey 覆盖config.xml设置的可选部署密钥。

****Returns:** Promise<IRemotePackage>

notifyApplicationReady(notifySucceeded, notifyFailed)

通知插件更新操作成功并且应用程序准备就绪。 更新后,首次运行时需要调用此功能。 在每个后续的应用程序运行,调用这个函数是一个noop。 如果使用sync API,则不需要调用此函数,因为同步在内部调用它。

参数 类型 详情
notifySucceeded 如果插件已成功通知,则调用可选的回调。
notifyFailed 在通知插件时发生错误的情况下调用可选回调。

****Returns:** Promise<void>

restartApplication()

重新加载应用程序。 如果使用ON_NEXT_RESTART或ON_NEXT_RESUME模式安装了未完成的更新程序包,则该更新将立即显示给用户。 否则,调用此函数将简单地重新加载当前版本的应用程序。
****Returns:** Promise<void>

sync(syncCallback, syncOptions, downloadProgress)

在一种方法调用中安装更新的便利方法。 为方便起见,提供了此方法可以通过使用window.codePush.checkForUpdate(),RemotePackage的download()和LocalPackage的install()方法来代替。
该方法的算法如下:

参数 类型 详情
syncCallback 使用同步操作的状态调用可选的回调。
syncOptions 可选的SyncOptions参数配置同步操作的行为。
downloadProgress 可选回调在下载过程中调用。 它被称为多次与一个下载进度参数。

****Returns:** Observable<SyncStatus>

上一篇下一篇

猜你喜欢

热点阅读