In-App-Chat-Einrichtung: Support in deiner App, ganz ohne SDK
Eine URL in einer WebView. Kein Paket zu installieren, kein Build, der fehlschlagen kann, und jede Unterhaltung landet in derselben Inbox wie der Rest deines Supports.
In-App-Chat in inrelay ist eine gehostete Chat-Seite unter deiner eigenen Help-Center-Adresse. Richte eine WebView auf /chat aus, und deine App für iOS, Android oder React Native bietet direkt Live-Chat, KI-Antworten und deine Hilfeartikel - ganz ohne SDK, ohne Abhängigkeiten und ohne App-Store-Release bei Änderungen.
Die Seite ist genau derselbe Chat, den deine Website-Besucher nutzen, nur als Vollbild statt in einem Chat-Fenster. Sie übernimmt alles, was du bereits eingerichtet hast: deine Marke und Akzentfarbe, deine Geschäftszeiten, den KI-Chatbot und sein Wissen, das Lead-Formular sowie die Inbox, in der dein Team arbeitet. Das Aktivieren ist kein Riesenprojekt - die Adresse ist verfügbar, sobald der Live-Chat aktiv ist.
In jedem Tarif enthalten. Es gibt kein Mobil-Add-on, keine Gebühr pro Unterhaltung und du musst nichts kaufen, um es auszuprobieren.
Eine URL, drei optionale Angaben
Deine Chat-Seite liegt unter /chat auf deiner Help-Center-Adresse - der eigenen Domain, falls verknüpft, oder der .inrelay.support-Adresse, die du registriert hast. Die exakte URL zum Kopieren findest du unter Einstellungen → Help-Widget → In deiner mobilen App.
https://support.yourbrand.com/chatDiese URL allein reicht für eine vollständige Integration: Besucher können anonym chatten und die Unterhaltung bleibt über App-Starts hinweg auf dem Gerät erhalten. Wenn deine App den Nutzer kennt, kannst du das über drei Abfrageparameter übergeben - alle optional, alle können bedenkenlos weggelassen werden:
token_id- deine eigene zufällige ID für diesen Nutzer. Sie stellt die Unterhaltung auf einem neuen Gerät oder nach einer Neuinstallation wieder her.email- damit Antworten ankommen, wenn die App geschlossen ist.name- damit dein Team weiß, wem es hilft.
https://support.yourbrand.com/chat?token_id=8f2c…&email=ada%40example.com&name=Ada%20LovelaceCodiere die Werte URL-konform. Sofern du die verifizierte Identität (siehe unten) nicht aktivierst, behandle token_id als Geheimnis: Wer ein Token besitzt, kann diese Unterhaltung fortsetzen. Generiere daher lange Zufallswerte - niemals eine E-Mail-Adresse, einen Benutzernamen oder eine fortlaufende ID.
Drei Wege zum Öffnen
Jedes davon ist bereits die vollständige Integration. Die zwei wichtigsten Einstellungen auf jeder Plattform sind JavaScript und DOM-Storage - DOM-Storage sorgt dafür, dass die Unterhaltung eines Besuchers auch nach Neustarts der App erhalten bleibt.
iOS - WKWebView
import UIKit
import WebKit
final class SupportViewController: UIViewController {
private let webView = WKWebView(frame: .zero, configuration: WKWebViewConfiguration())
override func viewDidLoad() {
super.viewDidLoad()
webView.frame = view.bounds
webView.autoresizingMask = [.flexibleWidth, .flexibleHeight]
webView.scrollView.bounces = false
view.addSubview(webView)
var url = URLComponents(string: "https://support.yourbrand.com/chat")!
url.queryItems = [
URLQueryItem(name: "token_id", value: user.supportToken),
URLQueryItem(name: "email", value: user.email),
URLQueryItem(name: "name", value: user.fullName)
]
webView.load(URLRequest(url: url.url!))
}
}Android - WebView
class SupportActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
val webView = WebView(this)
setContentView(webView)
webView.settings.javaScriptEnabled = true
webView.settings.domStorageEnabled = true // keeps the conversation across launches
webView.webViewClient = WebViewClient() // keep navigation inside the WebView
val url = Uri.parse("https://support.yourbrand.com/chat")
.buildUpon()
.appendQueryParameter("token_id", user.supportToken)
.appendQueryParameter("email", user.email)
.appendQueryParameter("name", user.fullName)
.build()
webView.loadUrl(url.toString())
}
}React Native - react-native-webview
import { SafeAreaView } from 'react-native'
import { WebView } from 'react-native-webview'
const params = new URLSearchParams({
token_id: user.supportToken,
email: user.email,
name: user.fullName
})
export function SupportScreen() {
return (
<SafeAreaView style={{ flex: 1 }}>
<WebView
source={{ uri: `https://support.yourbrand.com/chat?${params}` }}
javaScriptEnabled
domStorageEnabled
originWhitelist={['https://support.yourbrand.com/*']}
/>
</SafeAreaView>
)
}Gib der WebView den gesamten Bildschirm und lass sie das Scrollen selbst übernehmen - die Seite ist bereits für Smartphones optimiert, einschließlich des Safe-Area-Bereichs am unteren Rand.
Beschränke die Erlaubnisliste auf deine eigene Adresse samt abschließendem Schrägstrich. Ein Muster wie https://* erlaubt jeder Website die Darstellung in deinem Support-Fenster, und eines ohne Schrägstrich - https://support.deinebrand.de* - passt auch auf support.deinebrand.de.example.net. Wenn du die URL selbst prüfst, vergleiche den geparsten Origin statt eines Präfix-Tests.
Beweise, dass sie es wirklich sind
Optional, standardmäßig deaktiviert und einfach per Schalter aktivierbar: Jeder Workspace verfügt bereits über ein Signatur-Geheimnis unter Einstellungen → Help-Widget.

Bei aktivierter Verifizierung müssen die von deiner App übergebenen Daten mit einer Signatur deines Servers versehen sein. Unsignierte Daten oder solche für einen anderen Nutzer werden ignoriert: Der Chat öffnet sich trotzdem, ist aber anonym. Es kommt nie zu einem harten Fehler, denn eine Support-Ansicht, die gar nicht lädt, ist schlimmer als eine, die deinen Namen nicht kennt.
Signiere genau diese Zeichenkette, indem du die drei Werte durch Zeilenumbrüche verbindest und für weggelassene Werte eine leere Zeichenkette verwendest:
token_id + "\n" + email + "\n" + name// on your server, never in the app binary
import { createHmac } from 'node:crypto'
const payload = [tokenId, email ?? '', name ?? ''].join('\n')
const signature = createHmac('sha256', INRELAY_EMBED_SECRET)
.update(payload)
.digest('hex')Häng es als &signature=… an. Signiere die Werte exakt so, wie du sie in die URL einfügst - ohne Entfernen von Leerzeichen oder Umwandlung in Kleinbuchstaben - und signiere alle drei: Eine Signatur, die nur das Token abdeckt, validiert keine Anfrage mit abweichender E-Mail-Adresse. Werte mit Zeilenumbrüchen werden abgelehnt.
- Das Geheimnis liegt auf deinem Server und wird von unserem gelesen. Es gehört niemals in dein App-Binary, wo es jeder auslesen könnte.
- Rufe die Signatur von deinem eigenen authentifizierten Endpunkt ab, wenn der Nutzer den Support öffnet, und erstelle dann die URL.
- Aktiviere die Verifizierung vor dem Veröffentlichen, falls du diese nutzen möchtest. Eine spätere Nachrüstung erfordert das erneute Ausstellen aller Tokens.
Antworten erreichen sie per E-Mail
Jemand stellt eine Frage, schließt die App und dein Team antwortet zehn Minuten später. Die Antwort geht per E-Mail an die Adresse der Unterhaltung - aus den Identitätsparametern der App oder aus der im Chat angegebenen E-Mail-Adresse. Wird der Support erneut geöffnet, ist der gesamte Verlauf noch da.
Ganz offen gesagt: In dieser Version gibt es keine In-App-Push-Benachrichtigungen. Es gibt kein SDK, um ein Geräte-Token zu registrieren, sodass eine Antwort das Badge deiner App nicht aufleuchten lassen kann. Der Zustellweg ist E-Mail - und Kunden, die eine Adresse hinterlassen haben, erhalten garantiert eine Antwort.
- Die Unterhaltung bleibt auf dem Gerät gespeichert und folgt einer
token_idauf ein neues Gerät. - Alles, was der Besucher sieht, ist der fertige Chat: KI-Antworten, deine Hilfeartikel, deine Geschäftszeiten.
- In-App-Push-Benachrichtigungen sind in Entwicklung - Antworten kommen per E-Mail an, solange die App geschlossen ist.
- Das ist bewusst eine gehostete Seite in einem WebView - es gibt kein SDK.
In vier Schritten live
Live-Chat aktivieren
Einstellungen → Help-Widget. Wenn dein Website-Widget bereits Chat unterstützt, ist dieser Schritt erledigt.
Chat-URL kopieren
Der Block „Angemeldete Nutzer (App und Website)“ enthält ihn mit einem Kopier-Button. Sichere dir zuerst eine Hilfe-Center-Adresse, wenn du eine gebrandete möchtest.
In einer WebView öffnen
Füge eine der obigen Anleitungen in deinen Support-Bildschirm ein. Aktiviere JavaScript und DOM-Speicher.
Identität hinzufügen, wenn du möchtest
Übergebe Token, E-Mail und Name - und aktiviere die Verifizierung mit der Signatur, sobald du bereit bist.
Das restliche Postfach.
In-App-Chat ist ein Zugang zu den Funktionen von inrelay - das sind diejenigen, auf die er aufbaut.
Derselbe Chat
Dein Website-Widget und deine App öffnen dieselben Unterhaltungen im selben Postfach.
Zum Live-Chat → WISSENSDATENBANKIntegrierte Antworten
Deine Hilfe-Artikel sind in der App durchsuchbar und dienen als Grundlage für die Antworten der KI.
Zur Wissensdatenbank → MOBILE APPDeine Perspektive
Die inrelay-Begleit-App für iOS und Android, um auch unterwegs zu antworten.
Mobile App ansehen →Deine App, mit integriertem Support.
Kostenlos starten mit dem eigenen Posteingang - alle Funktionen, keine Kreditkarte, niemals pro Nutzer.
Fragen, beantwortet.
Muss ich meiner App eine Abhängigkeit hinzufügen?
Was passiert, wenn ich überhaupt keine Parameter übergebe?
Kann jemand anderes eine Unterhaltung lesen, wenn er ein Token errät?
token_id diese Unterhaltung fortsetzen - weshalb Tokens lang und zufällig sein müssen und warum es die Option zur Verifizierung gibt. Wenn sie aktiviert ist, wird ein nicht signiertes Token vollständig ignoriert.