You declared application/json and seemed to have send a boolean instead. (which may get expressed as a numeric instead further causing confusion)
You may also want to bind a onError callback to capture/log errors
Checking the example it’s 2 years old and things may have changed. But I think the issue lies in the pubsub call declaring JSON but sending a boolean. And the changes for various things recently might prevent a boolean going over the wire as a boolean.
You didn’t state if you log listen recieving an error, so I don’t know if the listen tripped or the send tripped from what you have presented
The rest of your code seems sound however.