Skip to content

Instantly share code, notes, and snippets.

@cristea2017
Last active March 21, 2023 09:06
Show Gist options
  • Save cristea2017/510c040439f36a3511591cd0e7003233 to your computer and use it in GitHub Desktop.
Save cristea2017/510c040439f36a3511591cd0e7003233 to your computer and use it in GitHub Desktop.
appcenter

IOS

Our app is configured with staging keys !!!!!!!

appcenter codepush release-react -a straus.md/straus.mobile -d Staging

Android

appcenter codepush release-react -a straus.md/straus.mobile-1 -d Staging

Others

appcenter apps list

Info

codepush target version should be the same as build graddle ex 4.5 for build gradle 4.5 for all targets v1, v2, etc

same for ios

Straus Provider

IOS

appcenter codepush release-react -a straus.md/straus.provider.react.ios -d Production

Android

appcenter codepush release-react -a straus.md/straus.provider.react.android -d Production

StrausCourier

ios

appcenter codepush release-react -a straus.md/Straus-Courier -d Production

Android

appcenter codepush release-react -a straus.md/Straus-Courier-1 -d Production

// http://t.cn/AipSVR08
import CodePush from 'react-native-code-push'
const codePushStatusDidChange = (syncStatus: number) => {
switch (syncStatus) {
case CodePush.SyncStatus.UP_TO_DATE: // 已更新 0
console.info(`[CodePush]${syncStatus}: 已更新`)
break
case CodePush.SyncStatus.INSTALLING_UPDATE: // 下载更新 1
console.info(`[CodePush]${syncStatus}: 下载更新`)
break
case CodePush.SyncStatus.UPDATE_IGNORED: // 忽略更新 2
console.info(`[CodePush]${syncStatus}: 忽略更新`)
break
case CodePush.SyncStatus.UNKNOWN_ERROR: // 未知错误 3
console.info(`[CodePush]${syncStatus}: 未知错误`)
break
case CodePush.SyncStatus.SYNC_IN_PROGRESS: // 正在同步 4
console.info(`[CodePush]${syncStatus}: 正在同步`)
break
case CodePush.SyncStatus.CHECKING_FOR_UPDATE: // 检查更新 5
console.info(`[CodePush]${syncStatus}: 检查更新`)
break
case CodePush.SyncStatus.AWAITING_USER_ACTION: // 等待用户操作 6
console.info(`[CodePush]${syncStatus}: 等待用户操作`)
break
case CodePush.SyncStatus.DOWNLOADING_PACKAGE: // 正在下载 7
console.info(`[CodePush]${syncStatus}: 正在下载`)
break
case CodePush.SyncStatus.UPDATE_INSTALLED: // 更新下载 8
console.info(`[CodePush]${syncStatus}: 更新下载`)
break
default:
break
}
}
/**
* 安装更新并立刻重启应用
*/
const syncImmediate = () => {
console.info('[CodePush]syncImmediate: 安装更新并立刻重启应用')
CodePush.disallowRestart() // 禁止重启
CodePush.sync({ installMode: CodePush.InstallMode.IMMEDIATE }, codePushStatusDidChange, progress => {
console.info('[CodePush]codePushDownloadDidProgress: ', progress)
if (progress.receivedBytes >= progress.totalBytes) {
console.info('[CodePush]syncImmediate-强制更新')
CodePush.allowRestart() // 强制更新
}
})
}
/**
* 安装更新,但不立马重启,直到下一次重新进入
*/
const syncOnNextRestart = () => {
console.info('[CodePush]syncOnNextSuspend: 安装更新,但不立马重启,直到下一次重新进入')
CodePush.sync({ installMode: CodePush.InstallMode.ON_NEXT_RESTART }, codePushStatusDidChange)
}
/**
* 安装更新,但是不立马重新启动,直到下一次从后台恢复到前台
*/
const syncOnNextResume = () => {
console.info('[CodePush]syncOnNextSuspend: 安装更新,但是不立马重新启动,直到下一次从后台恢复到前台')
CodePush.sync({ installMode: CodePush.InstallMode.ON_NEXT_SUSPEND }, codePushStatusDidChange)
}
/**
* 下一次处于后台时更新,不会有白屏
* https://github.com/microsoft/react-native-code-push/issues/827
*/
const syncOnNextSuspend = () => {
console.info('[CodePush]syncOnNextSuspend: 下一次处于后台时更新,不会有白屏')
CodePush.sync({ installMode: CodePush.InstallMode.ON_NEXT_SUSPEND }, codePushStatusDidChange)
}
export default { syncImmediate, syncOnNextRestart, syncOnNextResume, syncOnNextSuspend }
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment