Whilst we will do everything we can to help you when you get in touch, we've found that customers often find the solutions to their problems far more quickly when they:
- Use the developer console
Within your app dashboard you will find a development console that helps you diagnose issues more easily. You can for example attach to channels, subscribe to messages, publish messages and even monitor which channels and connections are being opened or closed. See the development console FAQ for more info on how to use this useful tool to help you diagnose common problems. - Search the FAQs
Try searching our FAQs / solutions. Enter keywords in the Search box at the top of this page now, or on our support site home page. - Search Github issues
If you believe the issue is likely to be a client library problem, then we recommend you first search for known or resolved issues for the client library you are using. See the Github links next to each client library on our client library download page, or visit our Github organisation home page.
If none of the above has helped, we will be able to help you more quickly if you can contact us with the following information (where applicable):
- App ID and affected channel names
We are sometimes able to inspect recent server logs to try and correlate any issues you may be having. However, finding the relevant log is like finding a needle in a haystack. As such, we need two pieces of information from you to find the relevant logs. We need your app ID (see how to find your app ID) and ideally the channels on which you are experiencing these problems. - Client library and platform details
Please confirm:- Which client library SDK(s) are you using? (such as ably-ios, ably-dotnet, ably-ruby etc.)
- Which version of the SDK(s) are you using? (such as 1.0.10)
- Which platform(s) is this happening on? (such as Windows 10, Chrome 63 etc.)
- Do you have any crash logs you can share from the affected client library?
- Datacenter
- For all clients that are affected, please visit https://rest.ably.io/metadata and confirm which datacenter the clients are connected to. Knowing which datacenter the issue is arising in will help us identify and resolve issues more quickly in most cases. View our network map.
- Verbose logs
- If you are having issues with a Realtime or REST client, then we would benefit immensely by having access to the verbose logs from that client so that we can identify where the problem lies. In order to enable verbose logging in your clients, please refer to the ClientOptions documentation at https://ably.com/documentation/realtime/usage#client-options and refer to the "logLevel" or "log" options.
- You can see examples of how to add this to ClientOptions on the verbose logs page
- Browser HAR
If you are having issues from a browser, then it will be very useful for us to additionally have access to the log of all connections. Follow these instructions to generate an HAR file. - Reproducibilty
Can you provide steps to reproduce this issue? If you can, this will almost certainly speed up the process and help us to identify the problem very quickly. - Keys being used
Please confirm which API key is being used for the publisher and the subscriber if applicable and potentially different. If using token authentication, please confirm the capabilities assigned to the token and the API key being used to issue the token or token request.
An API key is made of three parts, an App ID, an API Key ID and a secret. For example, the following API key xVLyHw.xGq-Ng:W4SBF3pwKjhslCwI has:- An App ID of xVLyHw
- An API Key ID of xGq-Ng
- The secret W4SBF3pwKjhslCwI.
Warning: Never send us the secret part of your API key.
- Connectivity issue report
If you are having issues connecting to Ably at present, then please visit www.ably.io/debug and run a test. You will be provided with a test result code that we can use to lookup and inspect the results. Please provide this code to us.
Tip:
If your account has a dedicated cluster environment you can use the query parameter environment to direct the tests to your custom environment e.g
https://ably.com/debug?environment=<your_custom_environment_name>
If your account has a custom cname which points to the main production cluster you can use the query parameter cname to direct tests to use your custom cname
https://ably.com/debug?cname=<your_custom_cname>