Das Basis-Chat-SDK bleibt frei von Berechtigungen, während ausgewählte Hosts APNs, FCM oder Mikrofonfunktionen ausdrücklich aktivieren.
Eine Funktion ausdrücklich auswählen
Chat und natives Widget bilden den Basis-Release. Optionale iOS-Produkte sind DobroDeskPush und DobroDeskVoice. Android-Koordinaten sind com.dobrodesk:dobrodesk-push:0.2.0 und com.dobrodesk:dobrodesk-voice:0.2.0 im lokalen Maven-Repository des Bundles. Dies sind native Produkte: Die Wrapper für Flutter, React Native, NativeScript und Capacitor exportieren keinen Push-Client. Das öffentliche Release-Artefakt ist https://github.com/comstud-io/dobrodesk-mobile-sdk/releases/download/v0.2.0/dobrodesk-mobile-sdk-0.2.0-bundle.tar.gz.
Fügen Sie keine der beiden Funktionen standardmäßig jedem Host hinzu. Push braucht hosteigene APNs- oder FCM-Registrierung, Tokenrotation, Benachrichtigungsberechtigung und ein authentifiziertes Relay. Voice braucht hosteigene Mikrofonberechtigung und Audiolifecycle. Das Basis-SDK fragt keine dieser Berechtigungen an und startet keine Hintergrundarbeit.
// 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
}Push-Registrierung außerhalb des Basis-SDK halten
Registrieren Sie das Gerätetoken über den authentifizierten Providerablauf und binden Sie es an das verifizierte DobroDesk-Konto oder die Sitzung. Rotieren Sie Tokens, entfernen Sie sie bei logout und lassen Sie den Server ungültige Providertokens verwerfen. Begrenzen Sie Benachrichtigungs-Payloads auf die dokumentierten Identifikatoren. Legen Sie keinen Antworttext, keine Kundennachrichten und keine Zugangsdaten in einen Push-Payload.
Der Basisklient importiert Firebase nicht und erstellt keine APNs- oder FCM-Registrierung. Ein Host ohne Push-Bedarf sollte keine Benachrichtigungsberechtigung anfordern oder das optionale Artefakt einbinden.
Voice-Berechtigung und Aufräumen ausdrücklich behandeln
Fordern Sie Mikrofonberechtigung erst an, wenn der Kunde Voice auswählt und die Integration sie verwenden darf. Wenn die Berechtigung verweigert oder die Serverfunktion nicht verfügbar ist, verbergen Sie die Voice-Aktion statt ein dauerhaft deaktiviertes Steuerelement anzuzeigen.
Geben Sie die verbundene Voice-Fassade bei logout oder beim Austausch des Wrappers frei. Direkte native Hosts müssen sie vor reset und Client-Austausch freigeben. Stoppen Sie ausstehende Audioarbeit, entfernen Sie Listener und ignorieren Sie späte Starts nach close, reset oder Kontowechsel.
Voice erst nach nativer Einrichtung verbinden
Nach der Installation des ausgewählten nativen Voice-Moduls erstellt der Plattformadapter des Hosts den DobroDeskVoicePort, den der Framework-Wrapper benötigt. Der Host erstellt diesen Port. Das Basis-SDK liefert keine öffentliche Audioimplementierung und fordert selbst keine Berechtigung an.
const voice = await client.attachVoice(nativeVoicePort);
await voice.start();
// On logout or host teardown:
await voice.dispose();