Here are some troubleshooting tips:
- If you create a conversation the recipient won't see it until the first message is sent. If you want to be able to create a conversation without any messages, use the Platform API.
- Take a look at Logs in the Dashboard. Logs can also tell you if a message was sent. If you've got multiple dashboard logins within the same company make sure the app ID being used in the app and the app id in the dashboard are the same.
- Make sure you're connected to Layer. It's possible to be authenticated but not connected (for example: if the device is in airplane mode). Make sure you always connectWithCompletion (on iOS) or connect (on Android) as soon as possible, preferably on app launch. Both iOS and Android SDK's have a isConnected flag you can check. NOTE: You are able to create conversations and send messages without actually being connected. Those conversations and messages will get queued up but won't be sent until you're connected. If you're sending messages but nothing is showing up in the Dashboard Logs it could mean you're not connected.
- Make sure all the participant names in the conversation are correct and match up. For example: If your internal user id's have a prefix of "USER_" (such as USER_123) make sure the participant name/authenticated user id contain the same prefix. If one of the participant names is 123, but you're logged in as USER_123 that user won't see any messages.
- Make sure that the participant is actually in the conversation, and hasn't been removed or blocked. Users only have access to conversations they are participants of.
When debugging, it's very helpful to listen to Layer Change Notifications (iOS docs/Android docs). They will let you know on both the sender and receiver side if a conversation and message was created/updated/deleted,participants were added/removed, and more. If you are receiving change notifications but nothing is changing in the UI you probably have a UI bug.