- Make sure the channel you're publishing on is the same channel you're subscribing to
Ably channel names are case-sensitive -- sports is a different channel to Sports and my_channel is different to "my_channel".If this is the first publish on a channel the dev console will show a channel opened event with the name of the channel. If using pusher protocol adapter or laravel-broadcaster then channels may be prefixed
- Make sure you're using the same app everywhere
Make sure you're not, say, publishing with an api key from your Sandbox app, but subscribing with an api key from your Production app)
- You need to find out whether the problem is on the publishing or the subscribing side
Open the dev console, attach to the channel that you're publishing on, and try a publish. Do you see the message appear there (but still not on your subscribing device)? If yes, the problem's on the subscribing side. If no, the problem's on the publishing side.
- Enable client verbose logs on the publisher and subscriber.
Check the logs on the publisher client for the protocol send message and the logs on the subscriber client for the protocol receive message
Debugging publish problems
When you call channel#publish, you can pass a callback (or equivalent - select the language you're using from the language bar), which if the publish failed will tell you why.
Debugging subscribe problems
- Make sure you've added a subscribe listener. If you added a listener for a specific event name, make sure you're publishing with the exact same event name