Как справиться с потенциальными условиями гонки между codepush и Google PlayStore / Apple AppStore - PullRequest
0 голосов
/ 26 сентября 2018

Я только что создал свое первое приложение React Native и очень рад возможности отправлять OTA-обновления с помощью codepush.Тем не менее, как выглядит процесс выпуска, когда я внес изменения.Представьте, что происходит следующее:

v1 -> released to playstore
v2 -> bugfix: released via codepush
v3 -> native changes: released to playstore

Пользователь, который при открытии приложения загружает v3 из магазина Google Play, получит ли он v2 из codepush?Я не могу подтолкнуть v3 к codepush, потому что в нем есть собственные изменения, которые могут сломаться.

Странно, что ни одна из статей / документации по codepush не охватывает это потенциальное состояние гонки?

1 Ответ

0 голосов
/ 26 сентября 2018

Вы можете увидеть текст ниже из документации codepush здесь

Параметр целевой двоичной версии

Это указывает на хранилище /бинарная версия приложения, для которого вы выпускаете обновление, так что только пользователи, работающие с этой версией, получат обновление, в то время как пользователи, использующие более старую и / или более новую версию двоичного файла приложения, не получат.Это полезно по следующим причинам:

1) Если пользователь запускает более старую двоичную версию, возможно, в обновлении CodePush произошли критические изменения, которые не будут совместимы с тем, что они выполняют.

2) Если пользователь запускает более новую двоичную версию, то предполагается, что он работает более новым (и потенциально несовместимым) с обновлением CodePush.Если вы не укажете targetBinaryVersion в команде release, она будет взята из build.gradle (или). Если вы укажете целевую версию, текущая версия будет сопоставлена ​​с ней.

Предполагается, что выЕсли у вас есть новая версия, которая будет отправлена ​​пользователям через Play Store, предполагается, что код версии и номер сборки будут обновлены, и более ранняя версия с принудительной версией кода больше не будет указывать на эту сборку.

ответьте на ваши вопросы.

Пользователь, который при открытии приложения загружает v3 из Google PlayStore, получит ли он v2 из codepush?

Нет, они не получат его какpush-релиз кода будет сопоставлен с более ранней бинарной версией

Я не могу нажать v3 в codepush, потому что он имеет собственные изменения, которые могут сломаться.

Вы можете с изменениямисделал более v3, который уже есть на рынке

...