Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Phonegap – manejo de la notificación push una vez que he dejado el ámbito del índice con window.location.replace

Estoy usando Phonegap 4.2 (basado en Cordova 5.0) para crear una aplicación multiplataforma.

La aplicación es para Android e iOS.

  • Google Android controlador USB y ADB
  • Android: no se puede reemplazar un fragmento con otro
  • Uso de dos diseños diferentes para elementos secundarios en ExpandableListView
  • Desactivar la conversión de palabras en un TextView multi-línea de Android
  • Cómo compilar un programa C para Genymotion (Android x86)
  • ListView dentro de ScrollView no se desplaza en Android
  • Cuando un usuario carga la aplicación, se encuentra en index.html . A partir de ahí tengo acceso a varios métodos de JavaScript, raw, Cordova basado en y por casualidad estoy usando jQuery v1.11.1.

    Cuando la aplicación recibe una notificación push, la aplicación debe poder acceder a una propiedad de location en la carga útil y desde allí acceder al destino específicamente mencionado (por ejemplo, " https://stackoverflow.com/questions/ask "). Estoy haciendo eso. A continuación, el usuario debe ser redirigido a esa ubicación específica, que es un sitio web (sin abrir un explorador, es decir , dejar la aplicación) o incluir el sitio web en el archivo de índice y reemplazarlo.

    El uso de iFrames no parecía ser una opción, simplemente incluir el sitio web dentro del archivo de índice, debido a la página web simplemente aparecer como en blanco o algunos otros temas – aunque podría estar equivocado, pero eso es algo fuera de tema Todo el tema tho que estoy a punto de presentar).

    Después de leer algunos artículos ( antonylees , Stackoverflow , etc) me vino a la solución de simplemente usar window.location.replace(externalUrl); Para acceder al sitio. Funciona perfectamente. (Tenga en cuenta que construir el sitio y envolverlo en mi aplicación no es una opción, ya que es demasiado pesado).

    Hasta aquí todo bien

    Estoy usando el complemento PushPlugin Cordova para manejar notificaciones push. Todo está configurado y funciona; Recibo notificaciones push.

    Para poder manejar ( es decir, procesar) las notificaciones push que he registrado en los oyentes de los eventos onNotification , tanto para Android como para iOS.

    Hay tres escenarios que debo tener en cuenta al procesar una notificación push de llegada:

    1. → La aplicación se inicia desde un inicio en frío (la aplicación no se estaba ejecutando) → La carga útil se procesa con el método `onNotification` disponible en el archivo de índice y el usuario se redirige a la ubicación especificada en la notificación push carga útil
    2. Push llega → El usuario presiona la notificación → La aplicación se inicia mientras está en el fondo (es decir, se ejecuta), pero el usuario aún no ha dejado el archivo de índice → La carga útil se procesa con el método `onNotification` disponible en el archivo de índice y el usuario es redirigido A la ubicación especificada en la carga útil de la notificación push
    3. Push llega → El usuario presiona la notificación → La aplicación se inicia mientras está en segundo plano (es decir, en ejecución), pero el usuario ya ha dejado el archivo de índice ya que ya ha sido redirigido al sitio web y ya no tiene acceso al método `onNotification` Porque no existe en el nuevo sitio web → El usuario permanece exactamente donde estaba y no ha sido redirigido a una nueva ubicación

    Mi problema

    Los escenarios 1 y 2. funcionan bien porque tengo acceso a los oyentes de notificación adjuntos y pueden procesar la carga útil y lograr una propiedad de ubicación que envío con la carga útil para determinar a dónde se va a redirigir el usuario.

    Sin embargo, en el escenario 3, el usuario ha sido redirigido fuera del archivo de índice (y hacia un sitio web externo) y técnicamente el ámbito del índice, por lo que de ahora en adelante ya no tengo acceso a los métodos que estaban disponibles en el archivo de índice, Incluyendo los métodos onNotification .

    Debido a esto, no puedo redirigir al usuario a una nueva ubicación cuando ha recibido una notificación push.

    Así que mi pregunta es:

    ¿Cómo puedo procesar la recién llegada carga de notificación push, después de dejar el archivo de índice? ¿Hay quizás mejores alternativas para incluir simplemente el Web site dentro del índice, y así hacer los métodos previamente definidos disponibles utilizar siempre que los necesito?

    Gracias.

    Editar

    Se ha señalado a mí que el complemento InAppBrowser podría ofrecer lo que estoy buscando al proporcionar una función de devolución de llamada o inyección de código en el navegador. Lo intentaré esta noche y volveré con un informe, mientras tanto agradecería las respuestas de SO si por casualidad usted tiene una pista mejor sobre la situación 🙂

  • ¿Visual Studio Emulator para Android sigue soportando la instalación de paquetes de arrastrar y soltar?
  • Aplicación para Android, estado de actividad (en ejecución, no en ejecución, en primer plano / fondo)
  • Cómo obtener UTC de desplazamiento en segundos en android
  • Códigos de error de GCM
  • Cómo manejar las cookies en httpUrlConnection usando cookieManager
  • ¿Cómo evitar que el usuario cambie la fecha / hora del sistema (en Android)?
  • One Solution collect form web for “Phonegap – manejo de la notificación push una vez que he dejado el ámbito del índice con window.location.replace”

    El uso del método .open(url, '_blank', args) del InAppBrowser resolvió mi problema.

    La página recién cargada es capaz de acceder a los métodos previamente definidos y también puedo inyectar algún código y agregar algunos oyentes basados ​​en eventos a la página recién asignada, si estoy interesado en eso, pero eso no es necesario en absoluto .

    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.