В настоящий момент я опрашиваю изменения с помощью API разработчика Google Play следующим образом:
- Я создаю новую правку для рабочей версии или использую существующую правку, если она еще действительна (я сохраняю android_edit_id и android_edit_expires_at)
- получить подробную информацию о треке
- прочитать статус сборки и определить, последняя ли это отправленная нами сборка
Код: Выделить всё
const internalResponse = await androidPublisher.edits.tracks.get({
auth,
packageName,
track: "production",
editId: editId,
});
log("Internal response", { internalResponse: internalResponse.data });
const lastBuildCodes = internalResponse.data.releases?.[0]?.versionCodes;
log("Last edit", { lastBuildCodes, data: internalResponse.data });
// parse list of strings to numbers and find biggest number
let currentBuildNumber = 0;
if (lastBuildCodes) {
for (const buildCode of lastBuildCodes) {
const buildNumber = Number(buildCode);
if (buildNumber > currentBuildNumber) {
currentBuildNumber = buildNumber;
}
}
}
log("Build number:", currentBuildNumber);
- количество правок ограничено. создано в определенный день, поэтому мне приходится ограничивать API обновлениями каждые 2 часа;
- если приложение публикуется до истечения срока действия редактирования, мое изменение остается действительным и указывает номер предыдущей сборки
Я также рассматривал возможность анализа уведомлений по электронной почте и запуска API редактирования только после этого, чтобы избежать проблем с опросом. .
Подробнее здесь: https://stackoverflow.com/questions/791 ... s-released
Мобильная версия