Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

145
Vistas
el código de alerta de actualización de la aplicación nativa de reacción no puede actualizar la aplicación

Desarrollé una aplicación nativa de reacción que funciona actualmente (y en las tiendas de Apple y Google Play). Anoche implementé una función muy esperada, una alerta de actualización y un actualizador usando react-native-version-check, Alert, backHandler y Linking. Desde este enlace de blog de Medium, adapté la función a mi aplicación y la probé en Android. Probé para avanzar mi código de versión local/nombre de versión antes del lanzamiento de mi tienda y funciona al no activarse, funciona. Pero, cuando hago retroceder mi versión más baja que la de la tienda y la reconstruyo, se activa correctamente con un cuadro de alerta y el botón 'actualizar', al hacer clic en el botón, la aplicación se cierra y no sucede nada más. Así que veo que ocurrió el desencadenante adecuado, pero no la función de actualización. Repitiendo esto varias veces (haciendo clic en la aplicación, presionando el botón de actualización, cerrando la aplicación, aparece un mensaje de error que dice "Tu Americana Radio sigue deteniéndose". "Tu Americana Radio" es el nombre de mi aplicación.

El artículo/blog mediano: https://medium.com/@kinley.tshering/force-update-react-native-apps-a9c1f22c0701

Mi código de mi app.android.js específicamente en esta función de la siguiente manera:

 import {Alert, BackHandler, Linking} from 'react-native'; import VersionCheck from 'react-native-version-check'; const checkVersion = async () => { try { let updateNeeded = await VersionCheck.needUpdate(); if(updateNeeded && updateNeeded.isNeeded) { Alert.alert ( 'Please update', 'You will have to update this app to the latest version to continue using it.', [ { text: 'Update', onPress: () => { BackHandler.exitApp(); console.log("-I-: Doing the Update App functions"); Linking.openURL(updateNeeded.storeURL); }, }, ], {cancelable: false}, ); } } catch (error) {}; }; export default function App() { // React Native Splash Screen // Ref: https://dev.to/cmcodes/how-to-add-splash-screen-in-a-react-native-android-app-287l // // useEffect(() => { // SplashScreen.hide(); // }, []); // Splash const [hideSplash, setHideSplash] = useState(false); useEffect(() => { setTimeout(() => { setHideSplash(true); }, 2500); // amount of time the splash is shown from the time component is rendered }, []); useEffect(() => { hideSplash && SplashScreen.hide(); }, [hideSplash]); // Splash with timer useEffect(() => { checkVersion(); }, []); return( <SocketContext.Provider value={socket}> <AppContainer /> </SocketContext.Provider > ) }
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Este es un caso de 'error de cabina'.
Lo arreglé una vez que me di cuenta

  • Tenía updateNeeded.storeURL
  • en lugar de updateNeeded.storeUrl .

Con el cambio, el código funcionó como se esperaba.

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda