Чтобы сделать обновление CodePush обязательным, вы можете использовать флаг Mandatory
при выпуске обновления. Вот несколько способов добиться этого:
Метод 1: использование интерфейса командной строки AppCenter (CLI)
appcenter codepush release-react -a <ownerName>/<appName> --description "Mandatory update" --mandatory
Метод 2. Использование REST API AppCenter
curl -X POST \
-H "Content-Type: application/json" \
-H "X-API-Token: YOUR_API_TOKEN" \
-d '{
"app_name": "<ownerName>/<appName>",
"mandatory": true,
"description": "Mandatory update"
}' \
https://api.appcenter.ms/v0.1/apps/<ownerName>/<appName>/releases
Метод 3. Использование AppCenter SDK в React Native (JavaScript)
import codePush from "react-native-code-push";
const updateIsMandatory = true;
const updateMetadata = {
description: "Mandatory update",
mandatoryInstallMode: codePush.InstallMode.IMMEDIATE
};
codePush.sync({
updateDialog: true,
installMode: updateIsMandatory ? codePush.InstallMode.IMMEDIATE : codePush.InstallMode.ON_NEXT_RESTART,
mandatoryInstallMode: updateIsMandatory ? codePush.InstallMode.IMMEDIATE : codePush.InstallMode.ON_NEXT_RESTART,
mandatoryContinueButtonLabel: "Update Now",
updateDialogOptions: {
title: "New Update Available",
mandatoryContinueButtonLabel: "Update Now",
mandatoryUpdateMessage: "This update is mandatory to continue using the app.",
optionalIgnoreButtonLabel: "Later",
optionalInstallButtonLabel: "Install"
},
deploymentKey: "YOUR_DEPLOYMENT_KEY",
metadata: updateMetadata
});
Эти методы демонстрируют, как сделать обновление CodePush обязательным с помощью интерфейса командной строки AppCenter, REST API и AppCenter SDK в React Native.