Search code examples
google-apigoogle-plusgoogle-hangouts

What's the correct way to listen for a Google+ Hangout state change?


The Hangout API at https://developers.google.com/+/hangouts/writing includes an example to set a callback function when the hangout state has changed, like this:

gapi.hangout.onStateChanged.add(onStateChange);

When run, this results in an error similar to "gapi.hangout.onStateChanged is undefined". A quick check in Firebug shows that the onStateChanged method belongs to gapi.hangout.data not gapi.hangout.

What is the correct way to add a callback function when the state has changed?


Solution

  • The method that you're looking for is indeed a member of gapi.hangout.data. The writing article you mention seems to be out of date. I fix it :)

    To do something when state changes just attach a callback:

    gapi.hangout.data.onStateChanged.add(function() {
      console.log(gapi.hangout.data.getState());
    });
    

    You can find working examples of the code in action on the sample apps page.