Question

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>
Was it helpful?

Solution

The logs show that you are connected and subscribed to the dispatcher_channel channel.

What does the Pusher Debug Console show when you run json.php? See: http://pusher.com/docs/debugging#pusher_debug_console

Does it show the message from json.php reaching Pusher?

If not, then you should look at debugging the PHP code. See: https://github.com/pusher/pusher-php-server#debugging

As above, the client-side functionality appears to be working as expected.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top