애플리케이션이 PhoneGap에 있습니다. 푸시 알림 기능을 사용 중입니다. https://github.com/marknutter/GCM-CordovaGCM Cordova 푸시 알림이 앱이 실행되지 않을 때 작동하지 않습니다.
나는 전체 기능을 구현했으며 어제까지 제대로 작동했습니다. 앱을 마지막 날 확인했을 때 앱이 실행되고 있지 않을 때 푸시 알림이 작동하지 않습니다. 모든 알림이 내 기기에서 수신 중이며 메시지를 클릭하면 앱이 열립니다.
그러나 컨트롤은 메시지 알림이 처리되는 자바 스크립트 부분에서 수신되지 않습니다. 파일 GCMIntentService.java에서
번호 : 메시지가 수신 될 때
JSONObject json;
json = new JSONObject().put("event", "message");
json.put("message", extras.getString("message"));
json.put("link", extras.getString("link"));
Log.v(ME + ":onMessage ", json.toString());
GCMPlugin.sendJavascript(json);
// Send the MESSAGE to the Javascript application
이 코드는 작동합니다. 그러나 그 당시에는 앱이 실행되고 있지 않습니다.
알림 메시지를 클릭하면 응용 프로그램이 정상적으로 열리고 메시지 이벤트는 등록되지 않습니다. 푸시 알림을 처리하기 위해 JavaScript에서 컨트롤을 얻지 못합니다.
https://github.com/marknutter/GCM-Cordova/blob/master/assets/www/CORDOVA_GCM_script.js
주 : CORDOVA_GCM_script.js에 대한
코드에서 사용할 수있는 응용 프로그램이 실행되는 경우는 잘 작동합니다.
는 편집 :는 통지는 가끔 실행됩니다. 자바 스크립트가 임의로 메시지 이벤트를 받고 있습니다.
는 편집 2 :
확실히 문제를 알고있다.
자바 파일에서 푸시 알림 메시지를 클릭하여 앱을 열면 자바 스크립트 코드가 실행됩니다. 그러나 WebView는로드되지 않으므로 스크립트 (이벤트 트리거)를 실행할 수 없습니다. 이것이 조건인가, 플러그인을 사용하는 모든 사용자는 동일한 경험을 할 것입니다. 거기에 대한 해결 방법이나 수정 프로그램이 있습니까?
뭐가 잘못 되었나요?
푸시 알림 지점은 앱이 실행되고 있지 않을 때 백그라운드에서 실행된다는 것입니다. 따라서 귀하의 애플 리케이션이 실행되지 않는 경우이 WebView되고, 난 JVM이 WebView를 실행하지 않기 때문에 그것이 네이티브 측면에서 아무것도받을 것이라고 생각하지 않는 이유는 당신의 JS 부분은 ' 앱이 실행되고 있지 않을 때 실행됩니다. 푸시 알림을받을 때 공유 환경 설정 또는 알림 데이터를 저장하는 것이 좋습니다. 앱이 출시 될 때마다 조사하여 반응 할 수 있는지 확인하십시오. – praneetloke
이것은 일반적인 구현이며 나에게 혼란 스럽지만 다른 사람이보고 한 문제는 찾지 못했습니다. – IvenMS