Resolució de problemes
customEndpoints rebutjat
Causa: Es van passar customEndpoints usant production, sandbox o staging.
Solució: Només passa customEndpoints amb EixamEnvironment.custom.
Discrepància a initialSession.appId
Causa: L'appId del bootstrap i el de la sessió signada no coincideixen.
Solució: Fes que tots dos valors siguin idèntics.
Confusió en el flux de signatura
Causa: L'app mòbil intenta emmagatzemar el secret de l'app o calcular userHash localment.
Solució: Mantén el secret només al backend del partner. Genera userHash al backend per a appId + externalUserId.
URI de temps real sembla no ser WebSocket
Causa: El camp públic es diu websocketUrl, però el broker pot usar un esquema de transport diferent.
Solució: És el comportament esperat. La URI pot ser ssl://, tls://, tcp://, ws:// o wss://.
El bootstrap no va sol·licitar permisos
Comportament esperat. Les sol·licituds de permisos són decisions explícites de l'app amfitriona.
Auth MQTT falla després de copiar capçaleres HTTP
| Transport | Auth |
|---|---|
| HTTP | Authorization: Bearer <userHash> |
| MQTT username | sdk:<appId>:<externalUserId> |
| MQTT password | <userHash> (sense prefix Bearer) |