i am using Pusher API for notification but its for working for me. i have combobox on my website which is deployed on azure in this combo box three status showing pending complete requesttimeout when user will change status in combo box so ajax request will sent to json file in which i added channel and event bind.
I am also receiving msg on emulator
10-12 12:13:15.544: D/CordovaLog(1257): file:///android_asset/www/index.html: Line 28 : Pusher : State changed : unavailable -> connected
10-12 12:13:15.544: I/Web Console(1257): Pusher : State changed : unavailable -> connected at file:///android_asset/www/index.html:28
10-12 12:13:15.553: D/CordovaLog(1257): file:///android_asset/www/index.html: Line 28 : Pusher : Event sent : {"event":"pusher:subscribe","data":{"channel":"dispatcher_channel"}}
10-12 12:13:15.553: I/Web Console(1257): Pusher : Event sent : {"event":"pusher:subscribe","data":{"channel":"dispatcher_channel"}} at file:///android_asset/www/index.html:28
10-12 12:13:17.613: D/CordovaLog(1257): file:///android_asset/www/index.html: Line 28 : Pusher : Event recd : {"event":"pusher_internal:subscription_succeeded","data":{},"channel":"dispatcher_channel"}
10-12 12:13:17.613: I/Web Console(1257): Pusher : Event recd : {"event":"pusher_internal:subscription_succeeded","data":{},"channel":"dispatcher_channel"} at file:///android_asset/www/index.html:28
10-12 12:13:17.623: D/CordovaLog(1257): file:///android_asset/www/index.html: Line 28 : Pusher : No callbacks on dispatcher_channel for pusher:subscription_succeeded
10-12 12:13:17.623: I/Web Console(1257): Pusher : No callbacks on dispatcher_channel for pusher:subscription_succeeded at file:///android_asset/www/index.html:28
json.php this is on azure
function updateRequestStatus($params)
{
global $api;
$params = json_decode($params, true);
$requestStatus = PageHelper::sanitizeInput($params['requestStatus'], FILTER_SANITIZE_STRING);
$requestID = PageHelper::sanitizeInput($params['requestID'], FILTER_SANITIZE_NUMBER_INT);
if(strtolower($requestStatus) == "completed")
{
$message = "User Response Has been Sent ";
$pusher = new Pusher( APP_KEY, APP_SECRET, APP_ID );
$data = array('message' => $message);
$pusher->trigger( 'dispatcher_channel', 'dispatcher_Response', $data );
}
return $api->updateRequestStatus($requestStatus, $requestID);
}
and on index.html which i am using on android.
<!DOCTYPE HTML>
<html>
<head>
<title></title>
<meta name="viewport" content="width=device-width,initial-scale=1"/>
<!-- JavaScript -->
<script src="http://js.pusher.com/2.1/pusher.min.js" type="text/javascript"></script>
<script src="js/cordova.js" type="text/javascript"></script>
<script type="text/javascript">
// Enable pusher logging - don't include this in production
Pusher.log = function(message) {
if (window.console && window.console.log) {
window.console.log(message);
}
};
var pusher = new Pusher('APP_KEY');
var channel = pusher.subscribe('dispatcher_channel');
channel.bind('notification', function(data) {
setTimeout('getNotification()', 1000);
channel.bind('dispatcher_Response', function(data) {});
});
function getNotification()
{
navigator.notification.alert("status changed", function() {});
}
</script>
</head>
</body>
</html>