O chat base permanece sem permissões enquanto hosts selecionados ativam APNs, FCM ou microfone explicitamente.
Escolher uma capacidade explicitamente
Chat e widget nativo são o release base. Os produtos iOS são DobroDeskPush e DobroDeskVoice. Android usa com.dobrodesk:dobrodesk-push:0.2.0 e com.dobrodesk:dobrodesk-voice:0.2.0 no Maven local do bundle. São produtos nativos: os wrappers Flutter, React Native, NativeScript e Capacitor não exportam um cliente push. Asset público: https://github.com/comstud-io/dobrodesk-mobile-sdk/releases/download/v0.2.0/dobrodesk-mobile-sdk-0.2.0-bundle.tar.gz.
Não adicione capacidades por defeito. Push requer APNs/FCM, rotação de tokens, permissão e relay autenticado do host. Voice requer permissão de microfone e ciclo de áudio do host. O SDK base não pede estas permissões nem inicia trabalho em segundo plano.
// Register the extracted bundle's native/maven directory in host settings first.
dependencies {
implementation("com.dobrodesk:dobrodesk-voice:0.2.0") // optional
// implementation("com.dobrodesk:dobrodesk-push:0.2.0") // optional
}Manter registo push fora do SDK base
Registe o device token pelo fluxo autenticado e associe-o à conta ou sessão DobroDesk verificada. Rode tokens, remova-os no logout e descarte tokens inválidos no servidor. Use apenas identificadores documentados no payload. Não inclua respostas, mensagens ou credenciais.
O cliente base não importa Firebase nem cria registos APNs/FCM. Hosts sem push não devem pedir permissão nem incluir o artefacto.
Manter explícitos a permissão voice e a limpeza
Peça microfone apenas depois da escolha de voice e da autorização da integração. Se a permissão for recusada ou a capacidade indisponível, oculte a ação.
Elimine a facade voice no logout ou substituição do wrapper. Hosts nativos diretos devem eliminá-la antes de reset e de substituir o cliente. Pare áudio pendente, remova listeners e ignore inícios tardios depois de close, reset ou mudança de conta.
Associar voice apenas depois da configuração nativa
Depois de instalar o módulo nativo voice escolhido, o adaptador da plataforma cria o DobroDeskVoicePort exigido pelo wrapper do framework. O port é criado pelo host. O SDK base não fornece implementação pública de áudio nem pede permissão por si.
const voice = await client.attachVoice(nativeVoicePort);
await voice.start();
// On logout or host teardown:
await voice.dispose();