Получение ошибки: sp-react-native-in-app-updates checkNeedsUpdate (в функции обновления приложения)Android

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Получение ошибки: sp-react-native-in-app-updates checkNeedsUpdate (в функции обновления приложения)

Сообщение Anonymous »

Я пытаюсь добавить в свое приложение функцию обновления. Я настраиваю все согласно документации
Получаю эту ошибку на своем физическом устройстве (Android):
[Ошибка: ошибка sp-react-native-in-app-updates checkNeedsUpdate: Ошибка: com.google.android.play.core.install.InstallException: -10: Ошибка установки (-10): приложение не принадлежит ни одному пользователю на этом устройстве. Приложение считается «принадлежащим», если оно было приобретено из Play. (https://developer.android.com/reference ... _NOT_OWNED)]
Получение этой ошибки на эмуляторе (Android) ):
[Ошибка: ошибка sp-react-native-in-app-updates checkNeedsUpdate: Ошибка: com.google.android.play.core.install.InstallException: -6: Ошибка установки (-6): загрузка/установка не разрешена из-за текущего состояния устройства (например, низкий заряд батареи, мало места на диске, ...). (https://developer.android.com/reference ... OT_ALLOWED)]
babel.config.js

Код: Выделить всё

module.exports = function (api) {
api.cache(true);
return {
presets: ['babel-preset-expo'],
plugins: [
[
'module-resolver',
{
root: ['.'],
alias: {
'react-native-device-info': './react-native-device-info.js'
}
}
],
'nativewind/babel',
'react-native-reanimated/plugin'],
env: {
production: {
plugins: ['react-native-paper/babel'],
},
},
};
};

react-native-device-info.js

Код: Выделить всё

import Constants from "expo-constants"

export const getBundleId = () => {
return Constants.expoConfig?.ios?.bundleIdentifier ?? '';
}
export const getVersion = () => {
return Constants.expoConfig?.version
}
export default {
getBundleId,
getVersion,
};
checkAppUpdate.ts

Код: Выделить всё

import SpInAppUpdates, {
IAUUpdateKind,
StartUpdateOptions,
IAUInstallStatus,
} from "sp-react-native-in-app-updates";
import { Platform } from "react-native";

export const checkForUpdate = async () => {
const inAppUpdates = new SpInAppUpdates(
false// isDebug
);
// curVersion is optional if you don't provide it will automatically take from the app using react-native-device-info
try {
console.log("checking for update");
await inAppUpdates.checkNeedsUpdate().then((result) => {
console.log("result", result);
try {
if (result.shouldUpdate) {
let updateOptions: StartUpdateOptions = {};
if (Platform.OS === "android") {
// android only, on iOS the user will be promped to go to your app store page
updateOptions = {
updateType: IAUUpdateKind.IMMEDIATE,
};
}
if (Platform.OS === "ios") {
updateOptions = {
title: "Update available",
message:
"There is a new version of the app available on the App Store, do you want to update it?",
buttonUpgradeText: "Update",
buttonCancelText: "Cancel",
};
}
inAppUpdates.addStatusUpdateListener((downloadStatus) => {
console.log("download status", downloadStatus);
if (downloadStatus.status === IAUInstallStatus.DOWNLOADED) {
console.log("downloaded");
inAppUpdates.installUpdate();
inAppUpdates.removeStatusUpdateListener((finalStatus) => {
console.log("final status", finalStatus);
});
}
});
inAppUpdates.startUpdate(updateOptions);
}
} catch (error) {
console.log("nested error", error);
}
});
} catch (error) {
console.log("error", error);
}
};
Может ли кто-нибудь помочь мне с правильными рекомендациями по реализации?
Спасибо
Я пытаюсь добавить возможность обновления в приложении, чтобы пользователи могут обновлять мое приложение через него (автоматическое всплывающее окно).

Подробнее здесь: https://stackoverflow.com/questions/785 ... -update-fe
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»