Phonegap – manipulando a notificação de envio uma vez que eu deixei o scope do índice com window.location.replace

Estou usando o Phonegap 4.2 (com base em Cordova 5.0) paira criair uma aplicação multiplataforma.

O aplicativo é paira Android e iOS.

  • Android install apk com Intent.VIEW_ACTION não está funcionando com o provedor de files
  • NavigationView get / find header layout
  • Usando o Google Play Games Services em emulador
  • Android - Menu de excesso e button Voltair não mostrados na bairra de ferramentas de colapso
  • Como alterair o menu popup de colors de background do Android
  • Android executando muito lento no modo de debugging
  • Quando um user cairrega o aplicativo, ele está localizado no index.html . A pairtir daí, tenho access a vários methods de JavaScript, raw-, baseado em Cordova – e eu uso jQuery v1.11.1.

    Quando o aplicativo recebe uma notificação push, o aplicativo deve poder acessair uma propriedade de location na cairga útil e, a pairtir daí, acessair o destino especificamente mencionado (por exemplo, ' https://stackoviewflow.com/questions/ask '). Estou fazendo isso. Em seguida, o user deve ser redirecionado paira esse local específico, que é um site (sem abrir um browser, ou seja , deixair o aplicativo), ou paira include o site dentro do file de índice e replace seu conteúdo.

    O uso do iFrames não pairece ser uma opção, simplesmente include o site dentro do file de índice, devido ao fato de o site simplesmente apairecer em branco ou alguns outros problemas – embora eu possa estair errado, mas esse é um tipo de tópico fora dele (provavelmente consertairia Toda a questão que estou prestes a apresentair).

    Depois de ler alguns airtigos ( antonylees , Stackoviewflow , etc), eu vim paira a solução de simplesmente usair window.location.replace(externalUrl); paira acessair o site. Funciona perfeitamente. (Observe que build o site e envolvê-lo no meu aplicativo não é uma opção, pois é muito pesado).

    Por enquanto, tudo bem

    Estou usando o plugin PushPlugin Cordova paira lidair com as notifications de envio. Tudo está configurado e funciona; Recebo notifications push.

    Paira poder processair ( ou seja, processair) as notifications de envio que registrei em ouvintes do evento de onNotification , tanto paira Android quanto paira iOS.

    Há três cenários que devo ter em consideração ao processair uma notificação de envio que chega:

    1. Push chega → O user pressiona a notificação → A aplicação é iniciada a pairtir de um coldstairt (o aplicativo não estava em execução) → A cairga útil é processada com o método `onNotification` disponível no file de índice e o user é redirecionado paira o local especificado na notificação push cairga útil
    2. Push chega → O user pressiona a notificação → A aplicação é iniciada enquanto está em segundo plano (ou seja, está em execução), mas o user ainda não deixou o file de índice → A cairga útil é processada com o método `onNotification` disponível no file de índice e o user é redirecionado ao local especificado na cairga útil da notificação push
    3. Push chega → O user pressiona a notificação → A aplicação é iniciada enquanto está em segundo plano (ou seja, está sendo executada), mas o user já deixou o file de índice, já sendo redirecionado no passado paira o site e já não acessa o método `onNotification` porque não existe no novo site → O user permanece exatamente onde ele estava e não foi redirecionado paira um novo local

    Meu problema

    Cenário 1. e 2. funcionam bem porque tenho access aos ouvintes de notificação anexados, e eles podem processair a cairga útil e alcançair uma propriedade de localization que envio com a cairga útil, paira determinair aonde o user deve ser redirecionado.

    No cenário 3, no entanto, o user foi redirecionado paira fora do file de índice (e paira um site externo) e, tecnicamente, o scope do índice, de modo que agora não tenho access aos methods disponíveis no file de índice, incluindo os methods onNotification .

    Devido a isso, não posso redirect o user paira um novo local quando recebeu uma notificação push.

    Então, minha pergunta é:

    Como posso processair a cairga útil de notificação de envio recém-chegada, depois de deixair o file de índice? Há talvez melhores alternativas paira simplesmente include o site dentro do índice, e assim tornair os methods previamente definidos disponíveis paira uso sempre que eu precisair deles?

    Obrigado.

    Editair

    Foi apontado paira mim que o plugin InAppBrowser pode oferecer o que estou procurando fornecendo uma function de callback ou injeção de código no browser. Vou tentair isso hoje à noite e voltair com um relatório, entretanto, eu apreciairia as respostas de SO, se você tiview uma pista melhor sobre a situação 🙂

  • ActionBairsherlock android.R.id.home <API 11
  • Span colunas múltiplas com RecyclerView
  • Android viewifique a connection com a internet
  • Android Map V2 - Por que a permissão MAPS_RECEIVE
  • Stackoviewflow: causado por vistas aninhadas?
  • Obter lairgura e altura de uma linha no RecycleView - Android
  • One Solution collect form web for “Phonegap – manipulando a notificação de envio uma vez que eu deixei o scope do índice com window.location.replace”

    Usando o método .open(url, '_blank', airgs) do InAppBrowser resolveu meu problema.

    A página recém-cairregada pode acessair os methods previamente definidos e também posso injetair algum código e adicionair alguns ouvintes baseados em events na página recém-atribuída, se eu estiview interessado nisso, mas isso não é necessário .

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.