In diesem Artikel informieren wir Sie über den Entwicklungsprozess mobiler Messaging-Apps. Sie erfahren gleich, aus welchen Phasen dieser Prozess besteht, welche Funktionen Sie in der Messaging-App implementieren müssen, wie viel Zeit (und Geld) dafür erforderlich ist und welche Faktoren die Entwicklungskosten beeinflussen.
Sobald Sie einen technischen Partner für die Messenger-Erstellung ausgewählt haben, verläuft Ihr Zusammenarbeitsprozess nach dem folgenden Algorithmus:
Autorisierung. Der Autorisierungsprozess in Messaging-Apps erfolgt mithilfe einer Telefonnummer, einer E-Mail-Adresse oder eines Kontos bei Facebook, Apple und Google. Die App erfordert häufig eine Bestätigung per Link oder SMS. Wenn ein Nutzer beispielsweise bei WhatsApp seine Daten (Telefonnummer) eingibt, sendet ihm die App eine SMS, die automatisch in der App verarbeitet wird. Das ist sehr praktisch.
Benutzerprofile. Benutzer können dort Kontakte ihrer Familienmitglieder, Freunde, Kollegen und Bekannten hinzufügen. Sie können auch ein Benutzerbild und eine kurze Beschreibung über sich selbst und/oder ihren Job hinzufügen und den Nachrichtenverlauf anzeigen. Darüber hinaus werden in der Regel auch die Verknüpfung mit dem Kundensupport und Funktionen oder Käufe/Folgen in Apps zum Austausch von Nachrichten in Benutzerprofilen implementiert.
Messaging-App-Einstellungen. In diesem Abschnitt können Benutzer Benachrichtigungen über das Lesen von Nachrichten aktivieren oder deaktivieren, ein Benutzerbild oder einen Profilnamen ändern, die Telefonnummer ändern, neue Geräte hinzufügen, blockierte Kontakte verwalten, den Status ändern, ihre Konten löschen und die Profilparameter festlegen, z. B. Chat-Benachrichtigungen usw. Außerdem müssen Sie den Messenger-Benutzern die Möglichkeit geben, eine Vertraulichkeitsstufe ihrer Nachrichten und Daten festzulegen.
Kontakte importieren. Mit dieser Funktion können Sie Ihre Kontaktliste mit wenigen Klicks von der Messaging-App WeChat, WhatsApp, Facebook Messenger, Telegram, Skype, SIM-Karten oder einer anderen Quelle in Ihre App übertragen. Darüber hinaus erfreut sich die Funktion des schnellen Austauschs ausgewählter Kontakte mit Personen in der Nähe per Chat, SMS oder drahtloser Kommunikation (WLAN, Bluetooth) zunehmender Beliebtheit. Sie können dies mithilfe eines QR-Codes oder einer speziellen Aktion tun: gleichzeitiges Schütteln von Telefonen in der Nähe.
Sie sollten auch einen Mechanismus zum Vergleich von Kontakten aus externen Quellen mit den Datenbankeinträgen der App erstellen. Wenn eine Übereinstimmung gefunden wird, überträgt die App diesen Kontakt nicht in ihre Datenbank, wodurch eine Verdoppelung der Kontakte in der Liste der Kontakte der Messaging-App vermieden werden kann (ein häufiges und irritierendes Problem).
Sofortige Textnachrichten. Dies ist die Kernfunktion der meisten Messaging-Apps, auch wenn sie sich als Apps für Audio- oder Videonachrichten bezeichnen – Menschen senden häufiger Textnachrichten.
Sie können diese Funktion auf zwei Arten implementieren. Die erste impliziert, dass die Nachrichten der Benutzer über den Server weitergeleitet und dort gespeichert werden. Dementsprechend erfolgt die Interaktion zwischen Benutzern und Server über das HTTPS-Protokoll mit SSL-Kryptographie. Die zweite Option impliziert, dass die Nachrichten von Benutzer zu Benutzer gesendet werden. Die einzige Authentifizierung erfolgt durch den zentralen Server.
Audio- und Videoanrufe. Obwohl die Hauptidee von Messaging-Apps Instant-Textnachrichten sind, möchten die meisten Benutzer von Zeit zu Zeit die Möglichkeit haben, auf andere Weise zu kommunizieren. Diese Funktion kann in den folgenden Varianten implementiert werden: nur Audioanrufe und Nachrichten, nur Videoanrufe und Nachrichten oder Gruppen-Audio- und Videoanrufe und Nachrichten.
Technisch kann diese Funktionalität auf verschiedene Arten umgesetzt werden. WhatsApp nutzt beispielsweise eine Multimedia-Kommunikationsbibliothek mit einem Open-Source-PJSIP, um die Übertragung von Sprache und Audio über IP (VoIP) zu realisieren. PJSIP ist in C geschrieben und verwendet eine High-Level-API, die das SIP-Signalisierungsprotokoll mit einer Multimedia-Struktur und einer Bypass-NAT-Funktion kombiniert. Diese API ist für alle Arten von Systemen geeignet, auch für mobile.
Aufkleber, Masken, Emojis. Sie verleihen Botschaften Emotionen und können die Kommunikation lebendiger machen oder ganze Phrasen ersetzen, vorausgesetzt, sie sehen gut aus. Wenn das Design von Masken oder Lächeln keine guten Emotionen hervorruft, werden die Leute sie bestenfalls nicht verwenden und im schlimmsten Fall werden sie Ihre Messaging-App löschen (ein weitaus wahrscheinlicheres Szenario).
Geolokalisierung. Geolokalisierung kann über die Google Maps API oder Geräte mit Android oder Map Kit für Geräte mit iOS von Apple in die Messaging-App integriert werden. Dies gibt die Möglichkeit, die Region des Benutzers zu bestimmen, um automatisch eine notwendige Schnittstellensprache festzulegen. Sie können Benutzern auch erlauben, ihren Standort zu teilen und einen Geofilter für Masken und Emojis bereitzustellen, genau wie bei Snapchat.
Ende-zu-Ende-Verschlüsselung (E2EE). Wenn Sie eine Messenger-App erstellen möchten, müssen Sie für die Sicherheit der persönlichen Daten der Benutzer sorgen. In den meisten Apps wird dies durch eine Methode namens Ende-zu-Ende-Verschlüsselung (E2EE) erreicht. Dies bedeutet, dass ein Server keine geheimen Schlüssel kennt (das System verschlüsselt und entschlüsselt Daten mit deren Hilfe) und nicht an der Verschlüsselung beteiligt ist – sie geht gewissermaßen „durch“ den Server.
In WhatsApp basiert eine solche Verschlüsselung auf dem Signalprotokoll, bei dessen Implementierung die ECDH-Algorithmen Curve25519, AES-256, AES-GCM, HMAC-SHA256 und HDKF verwendet werden. Die Ende-zu-Ende-Verschlüsselung in WhatsApp erstreckt sich auf alle Arten von Nachrichten: Text-, Audio-, Video- und Multimediadateien.
Benachrichtigung. In modernen Messaging-Apps erhält der Benutzer über Benachrichtigungen einer mobilen App eine Benachrichtigung über eine persönliche Nachricht oder eine Gruppennachricht. Je nach Entwicklungstiefe dieser Funktion kann es sich um eine einfache Push-Benachrichtigung und das Aufleuchten einer Anzeige handeln; eine Benachrichtigung mit dem vollständigen Text einer neuen Nachricht auf dem Smartphone-Bildschirm; eine Benachrichtigung mit dem Text einer neuen Nachricht auf dem Bildschirm und der Möglichkeit, diese zu beantworten, ohne die Messaging-App zu öffnen. Diese Funktion kann über Google Cloud Messaging oder Apple Push Notifications implementiert werden.
Monetarisierung. Wenn Sie beabsichtigen, eine mobile App zu entwickeln, um damit Geld zu verdienen, müssen Sie zuvor ein Monetarisierungsmodell festlegen. Am beliebtesten ist die Kombination eines Freemium-Modells mit Werbung.
Freemium bedeutet, dass der Großteil der App-Funktionalität kostenlos ist; Daher können Benutzer Nachrichten senden und empfangen, ohne etwas zu bezahlen. Sie haben jedoch die Möglichkeit, die App-Funktionen zu erweitern, indem sie exklusive Aufkleber kaufen, die Anzahl der Videoanrufe erhöhen, die Anzahl der Mitglieder in Gruppenanrufen erhöhen und dergleichen.
Tech-Stack und API. Hierbei handelt es sich um eine Reihe verschiedener Entwicklungstools, die bei der Erstellung von mobilen Messaging-Apps, Websites und anderer Software verwendet werden. Der Tech-Stack ist normalerweise in Frontend, Backend und API unterteilt. Ein Frontend ist eine Benutzeroberfläche und andere Elemente, mit denen ein Endbenutzer interagiert. Man könnte sagen, es ist alles, was im Gerät des Benutzers passiert. Hier ist ein Beispiel für einen Tech-Stack für die Entwicklung mobiler Messaging-Apps:
Backend ist ein Hardware-/Softwareteil des Dienstes, der für die Implementierung der Messaging-App-Logik und -Funktionalität außerhalb des Geräts des Benutzers verantwortlich ist. Hier ist ein Beispiel eines Tech-Stacks für einen Backend-Messenger:
Standort des Entwicklers. Dies ist wichtig, da die Durchschnittsgehälter von UX/UI-Designern, Programmierern, Geschäftsanalysten, Projektmanagern, QA-Ingenieuren und anderen Spezialisten in verschiedenen Ländern stark variieren können. So beträgt der Durchschnittslohn eines Spezialisten in den USA 95 $ pro Stunde, in Großbritannien und Westeuropa 67 $ pro Stunde, in Osteuropa 37 $ pro Stunde und in Asien 25 $ pro Stunde.
Interessanterweise ist die Arbeitsqualität eines Spezialisten aus den USA und der Ukraine trotz eines solchen Lohnunterschieds gleich. Aus diesem Grund geben Apple, Microsoft, Dell, IBM und andere amerikanische IT-Unternehmen ständig einen Teil der Entwicklung ihrer Projekte für die Auslagerung in „billigere“ Länder aus. Hier sind die geschätzten Kosten für die Entwicklung einer mobilen Messaging-App, abhängig von ihrer voraussichtlichen Komplexität und dem Standort des Entwicklers:
Die Entwicklung einer eigenen Messaging-App erfordert einen hohen Aufwand, der sich erheblich auf die Kosten auswirkt. Die größte Herausforderung ist die Geschwindigkeit und Skalierbarkeit der Anwendung. Jeder Benutzer schreibt täglich 10 bis 200 Nachrichten und hängt Fotos, Videos und Audiodateien an. Da Ihre Anwendung von Tausenden und möglicherweise Millionen von Benutzern verwendet wird, benötigen Sie eine Architektur, die täglich Millionen von Nachrichten verarbeiten kann. Server sollten automatisch skaliert werden, wenn die Datenmenge zunimmt.
Besonderes Augenmerk sollte auf die Audio- und Videoanruffunktionen gelegt werden. Es ist keine leichte Aufgabe, unter hoher Last eine stabile Kommunikation zu implementieren. Angesichts der zu bewältigenden Herausforderungen werden die Kosten für die Entwicklung einer Messaging-App zwischen $100 000 und $300 000 liegen und etwa sechs Monate Entwicklungszeit in Anspruch nehmen. Wenn Sie eine einfachere Option erstellen möchten, bei der es eine kleine Anzahl von Benutzern und begrenzte Funktionen gibt, können die Kosten für eine solche Lösung zwischen $40 000 und $80 000 liegen und die Entwicklung dauert drei bis vier Monate.