2016-06-17 4 views
0

Joomla 백 엔드가 있으며 REST 데이터로 내 앱을 제공하는 jBackEnd 플러그인을 구현했습니다. 그러나 그것은 요점 옆에 있습니다. jBackEnd는 또한 GCM 및 APN 알림을 지원합니다. 새 기사가 추가 될 때마다 코드바 앱 사용자 (Android에만 해당)에게 알림을 보내는 데 사용됩니다.Cordova - 알림이 수신되었을 때 백그라운드에서 Android 장치의 배지 번호를 변경합니다.

문제는 - 모든 것을 시도해 보았습니다. 알림이 작동합니다. 코드 바에 푸시 풀인을 사용하고, 전화가 진동하고, 소리가 들리고, 기본적으로 알림이 작동하고 있습니다. 그러나 알림 이벤트가 발생하지 않아 응용 프로그램이 백그라운드에있을 때 배지 번호를 업데이트 할 수 없습니다.

내가 알기로, 홈 버튼을 눌렀을 때 응용 프로그램의 잠자기를 사용할 수없는 플러그인을 사용하지 않는 한 배경에서 자바 스크립트 코드를 실행할 수 없습니다. 시도한 것이지만 여전히 작동하지 않습니다. 그것은 결국 webview입니다. 그러나 알림 이벤트를 수신 할 수 없으면 어떻게해야합니까?

답변 없음 웹에서 도움을 얻은 것으로 나타났습니다. 모든 조언을 크게 주시면 감사하겠습니다. 고맙습니다.

아래의 코드는 실행 기능 (각형) 내부의 $ionicPlatform.ready(function() { 블록에서 찾을 수 있습니다. 당신은 푸시 플러그인 (https://github.com/phonegap/phonegap-plugin-push)의 최신 버전을 설치 한 당신이 GCM에 데이터 배열의 PARAM (서버 측) "배지"를 보낼 경우

var push = PushNotification.init({ 
     "android": { 
      "senderID": "36070516254", 
     }, 
     "ios": { 
      "alert": "true", 
      "badge": "true", 
      "sound": "true" 
     } 
    }); 

    push.on('registration', function(data) { 
     var device_token = data.registrationId; 
     GcmService.registerClient(device_token, function(data) { 
      console.info('Registered !', data); 
      // # Start the scheduler 
     }, function(status) { 
      console.error('After registering with the joomla thing !'); 
     }); 
    }); 

    push.on('notification', function(data) { 
     console.info('!!! Information received : ', data); 
     try { 
       push.setApplicationIconBadgeNumber(function(s) { 
        console.info('Badge success', s); 
       }, function(error) { 
        console.error(error); 
       }, badgeCounter++); 
     } catch(e) { 
      console.error(e); 
     } 
    }); 

답변

0

, 배지 알림에 업데이트됩니다.

은 또한 앱에서 진정한 배지 PARAM을 설정해야합니다 적어도 나를 위해 속임수를 썼는지

push = PushNotification.init 
({android: { 
senderID: "xxxxxxxx", 
badge: "true" 
}); 

.