2016-11-17 87 views
0

我已经通过Jboss 6.4部署了UnifiedPush,我可以访问admin ui并创建新的应用程序。 我试图建立一个新的应用程序,以测试从管理控制台的推送通知。我正在使用PhoneGap并为Android平台构建。 我在Genymotion Android模拟器上执行它。AeroGear UnifiedPush Cordova注册设备

这是我的index.html页面:

<link rel="stylesheet" type="text/css" href="css/index.css" /> 
     <title>Hello World</title> 

    <script> 
    var app = { 
    // Application Constructor 
    initialize: function() { 
     this.bindEvents(); 
    }, 
    // Bind Event Listeners 
    // 
    // Bind any events that are required on startup. Common events are: 
    // 'load', 'deviceready', 'offline', and 'online'. 
    bindEvents: function() { 
     document.addEventListener('deviceready', this.onDeviceReady, false); 
    }, 
    // deviceready Event Handler 
    // 
    // The scope of 'this' is the event. In order to call the 'receivedEvent' 
    // function, we must explicitly call 'app.receivedEvent(...);' 
    onDeviceReady: function() { 
     app.receivedEvent('deviceready'); 
     var pushConfig = { 
     pushServerURL: "http://localhost:8080/ag-push/", 
     android: { 
      senderID: "admin", 
      variantID: "...", 
      variantSecret: "..." 
     } 
     }; 
    push.register(app.onNotification, successHandler, errorHandler, pushConfig); 

    function successHandler() { 
    console.log('success') 
    } 

    function errorHandler(message) { 
    console.log('error ' + message); 
    } 
    }, 
    onNotification: function(event) { 
    alert(event.alert); 
    }, 
    // Update DOM on a Received Event 
    receivedEvent: function(id) { 
    var parentElement = document.getElementById(id); 
    var listeningElement = parentElement.querySelector('.listening'); 
    var receivedElement = parentElement.querySelector('.received'); 

    listeningElement.setAttribute('style', 'display:none;'); 
    receivedElement.setAttribute('style', 'display:block;'); 

    console.log('Received Event: ' + id); 
    } 
    }; 

    </script> 

</head> 

<body> 
    <div class="app"> 
     <h1>PhoneGap prova</h1> 
     <div id="deviceready" class="blink"> 
      <p class="event listening">Connecting to Device</p> 
      <p class="event received">Device is Ready</p> 
     </div> 
    </div> 
    <script type="text/javascript" src="cordova.js"></script> 
    <script>app.initialize();</script> 
</body> 

</html> 

的问题是,UnifiedPush管理控制台上没有任何设备已注册。 我收到此错误:ConnectException: failed to connect to localhost/127.0.0.1 (port 8080) after 30000ms: isConnected failed:ECONNREFUSED (Connection refused). 有什么问题?

+0

让我看看你的config.xml请 –

+0

http://pastebin.com/RsuC0cmJ这里是我的config.xml @HassanALi – slash89mf

+0

或从您的应用程序导航到cdvtes​​ts/index.html。请再次访问它https://github.com/aerogear/aerogear-cordova-push –

回答

0

解决方案:pushServerUrl不能是"http://localhost:8080/ag-push/",您需要设置本地ip机在哪里运行服务器。 (例如,"http://192.168.1.2:8080/ag-push/")。