Code source supprimé de l'accès public, si vous êtes intéressé par Q-MuniCate, veuillez nous contacter
Q-MuniCate est un code open source de l'application de chat avec une gamme complète de fonctionnalités de communication à bord (telles que la messagerie, le transfert de fichiers, les notifications push, les appels audio / vidéo, etc.). Nous sommes inspirés de vous donner une application de chat hors de la boîte. Vous pouvez personnaliser cette application en fonction de vos besoins. Comme toujours, le backend QuickBlox est à votre service: https://quickblox.com/plans/ Trouvez le code source et plus d'informations sur Q-MunicaT, ainsi que le guide d'installation, dans notre section Développeurs: https://quickblox.com/developers/q-municaate Ce guide vous est apporté à partir de Quickblox Team afin d'expliquer comment vous pouvez créer une communication sur une communication sur IOS API. Il s'agit d'un guide étape par étape conçu pour tous les niveaux de développeurs, y compris les débutants, alors que nous passons d'une implémentation simple à plus complexe. Selon vos compétences et vos exigences de projet, vous pouvez choisir les parties de ce guide à suivre. Profitez-en et si vous avez besoin de l'aide de l'équipe de Quickblox iOS, n'hésitez pas à nous le faire savoir en créant un problème. Q-MuniCate est une application de chat à part entière à l'aide de l'API QuickBlox.
- Q-MuniCate 3.0.0
- 1. EXIGNEMENTS ET LOGICIEL
- 2. Modules QuickBlox
- 3. Caractéristiques
- 4. Écrans
- 5. appels audio et vidéo
- 6. Extensions
- 7. Explication du code
- 8. Comment créer votre propre application de chat
- 9. Contribuer
- Caractéristiques
- Problèmes
- 10. Licence
1. EXIGNEMENTS ET LOGICIEL
- Xcode 10 et plus tard.
- iOS 10.3 et plus tard.
- SDK QuickBlox IOS 2.17.4 et plus tard.
- QuickBlox WeBrTC SDK 2.7.4 et plus tard.
- Version Bolts 1.9.0.
- Version Facebook iOS SDK 5.6.0.
- Version Firebase 6.9.0.
1.1 SDK QuickBlox iOS
QuickBlox - Plateforme de communication et backend cloud qui amène les superpuissances à vos applications mobiles.
1.2 Webbrtc
Q-MuniCate utilise WebBrTC pour les appels vidéo et audio, ce qui signifie que c'est une excellente solution multiplateforme. Webrtc lui-même il est ouvert, vous pouvez donc modifier le code autant que vous le souhaitez, ou vous pouvez faire confiance aux milliers de développeurs qualifiés qui ont contribué à son développement.
L'exemple de code vidéochat vous permet d'ajouter facilement des fonctionnalités d'appel vidéo et d'appels audio dans votre application iOS. Activez une fonction d'appel vidéo similaire à FaceTime ou Skype à l'aide de l'échantillon de code comme base.
2. Modules QuickBlox
L'application Q-Municate utilise suivant:
- Authentification
- Utilisateurs
- Chat
- Appel vidéo
- Contenu
- Notifications push
3. Caractéristiques
Il comprend des fonctionnalités telles que:
- L'application prend en charge à la fois le paysage et le mode portrait.
- L'application iOS a une interface en anglais et une localisation facile à ajouter.
- Trois méthodes d'inscription ainsi que la connexion - Facebook, Firebase (numéro de téléphone) et avec e-mail / mot de passe
- Kit d'appel
- Extension de partage
- Extension Siri pour la messagerie
- Afficher la liste de toutes les boîtes de dialogue de chat actives avec l'historique des messages (boîte de dialogue de chat privée et de groupe)
- Afficher, modifier et laisser les dialogues de chat de groupe
- Afficher et supprimer les dialogues de chat privés
- Recherche: recherche de boîtes de dialogue locale, recherche de contacts et recherche d'utilisateurs globaux
- Créer et participer à des dialogues privés et de groupe
- Gérer, mettre à jour et supprimer des dialogues
- Appels audio et vidéo (en utilisant le framework de QuickBlox WeBrTC)
- Modifier son propre profil utilisateur
- Réinitialiser le mot de passe et déconnecter
- Voir le profil des autres utilisateurs
- Tirez pour actualiser la liste des boîtes de dialogue, la liste des contacts et la page d'informations utilisateur
Veuillez noter que toutes ces fonctionnalités sont disponibles dans le code open source, afin que vous puissiez personnaliser votre application en fonction de vos besoins.
4. Écrans
4.1 Bienvenue
Caractéristiques disponibles:
- Connectez-vous avec le téléphone - Ce bouton permet à l'utilisateur de saisir l'application avec son numéro de téléphone à l'aide de Firebase. Si TAPPET sera affiché par un accord d'utilisateur pop-up.
- Connectez-vous par e-mail ou bouton social - en appuyant sur cette feuille d'action de bouton avec des méthodes de connexion supplémentaires apparaîtra. Il existe des méthodes telles que Facebook Connexion et Connexion par e-mail / mot de passe.
- Connexion avec Facebook permet à l'utilisateur de saisir l'application avec ses informations d'identification Facebook. Si TAPPET sera affiché par un accord d'utilisateur pop-up.
- Si l'application a réussi l'autorisation Facebook avec succès, l'application redirige l'utilisateur vers l'écran de la liste des dialogues de chat.
- Connexion par e-mail / mot de passe permet à l'utilisateur de saisir l'application s'il fournit un e-mail et un mot de passe corrects et valides. En appuyant sur ce bouton, l'utilisateur sera redirigé vers l'écran de connexion.
Veuillez noter qu'il n'y a plus de possibilité de signer l'utilisateur à l'aide de la méthode des e-mails et du mot de passe. Vous ne pouvez vous inscrire qu'à l'aide de numéro de téléphone et / ou d'identification Facebook.
4.2 Connectez-vous avec e-mail / mot de passe
Caractéristiques disponibles:
- Fields Set:
- Courriel - champs texte / numérique / symbolique 3 Chars Min - Aucune bordure, obligatoire (validation des symboles par e-mail inclus)
- Mot de passe - champ de texte / numérique / symbolique 8-40 Chars (doit contenir des caractères alphanumériques et de ponctuation uniquement), obligatoire
- Boutons:
- Retour - Renvoie l'utilisateur en arrière pour accueillir l'écran
- Fait - effectuer la connexion après la validation des champs en utilisant un e-mail fourni et un mot de passe
- Mot de passe oublié - ouvre l'écran du mot de passe oublié
4.3 Mot de passe oublié
- Fields Set:
- Courriel - champs texte / numérique / symbolique 3 Chars Min - Aucune bordure, obligatoire (validation des symboles par e-mail inclus)
- Boutons:
- Retour - Renvoie l'utilisateur en arrière pour accueillir l'écran
- Réinitialiser - effectuer la réinitialisation du mot de passe
4.4 Bar d'onglet
Tab Bar est un contrôleur principal de l'application. Il se compose de telles pages:
- Liste des boîtes de dialogue de chat (page principale)
- Liste des contacts
- Paramètres
4.5 Liste des boîtes de dialogue de chat
- Recherche:
- La recherche permet à l'utilisateur de filtrer les boîtes de dialogue existantes dans le cache local par ses noms.
- Boutons:
- Bouton de barre de droite - Redirectionne l'utilisateur vers un nouvel écran de dialogue
4.6 Nouveau message
Si vous sélectionnez un seul contact - le chat privé sera ouvert (s'il est existant) ou créé si nécessaire. Sinon, le chat de groupe sera créé.
- Recherche:
- Le champ de balise vous permet de rechercher via des noms de noms complets.
- Boutons:
- Bouton de la barre droite - Crée la boîte de dialogue de chat
- Retour - Retournez l'utilisateur à la page de dialogue du chat
4.7 chat
Il y a une possibilité à envoyer:
- SMS
- Images de la galerie et de l'appareil photo
- Vidéos de la galerie et de la caméra
- Enregistrements audio à l'aide du bouton droit de la barre d'outils d'entrée
Caractéristiques disponibles:
- Partage et transfert
- Copie d'image jointe et messages texte
4.8 Chat privé
Boutons:
- Boutons de barre droite - Boutons audio et aux appels vidéo, vous ne pouvez appeler l'utilisateur que s'il est dans votre liste de contacts
- Retour - Renvoie l'utilisateur à l'écran de la liste des boîtes de dialogue de chat
- Titre de la barre de navigation - Redirection de l'utilisateur vers la page du profil de l'adversaire
4.9 Chat de groupe
Boutons:
- Bouton de la barre de droite et titre de barre de navigation - Redirige l'utilisateur vers l'écran d'informations de chat de groupe
- Retour - Renvoie l'écran de la liste des boîtes de dialogue de chat dans le chat
- Avatars de l'utilisateur adversaire - En appuyant les avatars de l'utilisateur adversaire dans les messages, vous serez redirigé vers la page d'informations de cet utilisateur
4.10 Informations sur le chat de groupe
Champs / boutons:
- En appuyant sur Group Avatar, vous pouvez le changer en prenant une nouvelle photo ou en la sélectionnant à partir de la bibliothèque
- En appuyant sur le nom du groupe, vous serez redirigé vers l'écran de changement de nom de groupe
- En appuyant sur le champ Add Member, vous serez redirigé vers l'écran des contacts afin de sélectionner les utilisateurs à ajouter
- En appuyant sur n'importe quel utilisateur dans la liste des membres, vous serez redirigé vers sa page d'information (sauf votre propre utilisateur dans la liste)
- En appuyant sur congé et supprimez le champ de chat - vous quitterez le chat de groupe existant et le supprimerez localement
4.11 Contacts Liste
Recherche:
- La recherche a deux boutons de portée:
- Recherche locale - permet à l'utilisateur de filtrer les contacts existants par leurs noms.
- Recherche globale - permet à l'utilisateur de trouver des utilisateurs et de voir leurs profils par des noms complets.
4.12 Informations utilisateur
Champs / boutons
- Contacts Actions:
- Envoyer un message - ouvre le chat avec l'utilisateur, s'il n'y a pas encore de chat - le crée
- Appel audio - Appel audio à l'utilisateur
- Appel vidéo - appel vidéo à l'utilisateur
- Supprimer le contact et le chat - Suppression de l'utilisateur de la liste des contacts et discutez avec lui
Autres actions de l'utilisateur:
- Ajouter un contact - Envoi d'une demande de contact à l'utilisateur ou en acceptant un existant
4.13 Paramètres
Champs / boutons:
- Le nom complet, l'état et les champs de messagerie vous redirigeront pour mettre à jour l'écran de champ, où vous pouvez modifier vos informations.
- En tapant sur Avatar, une feuille d'action sera ouverte. Vous pouvez soit prendre une nouvelle image, soit la choisir dans la bibliothèque pour mettre à jour votre avatar d'utilisateur.
- Commutateur de notification push - Vous pouvez vous abonner ou vous désinscrire des notifications push.
- Dites à un ami - ouvre un contrôleur de partage où vous pouvez partager cette application géniale avec vos amis :)
- Donnez des commentaires - Écran de rétroaction, où vous pouvez nous envoyer un e-mail avec des bogues, des améliorations ou des informations de suggestion afin de nous aider à améliorer le Q-Municiate!
5. appels audio et vidéo
Q-MUNICATION UTILISATION SDK QUICHBLOX WEBRTC comme service d'appel. Vous pouvez trouver plus d'informations à ce sujet ici.
5.1 CALLAGE CONTRÔLEUR
Le contrôleur d'appel a 6 états:
- Appel audio entrant
- Appel vidéo entrant
- Appel audio sortant
- Appel vidéo sortant
- Appel audio actif
- Appel vidéo actif
Le contrôleur d'appel a été géré par QMCallManager, essentiellement, l'appel de gestionnaire l'allocation avec un état spécifique, qu'il s'agisse d'un appel entrant ou sortant, puis le contrôleur d'appel modifiant son état actif si l'utilisateur requis l'accepte.
5.2 Appel audio
Vous pouvez voir ci-dessous les écrans d'appel audio entrants, sortants et actifs.
Boutons de barre d'outils
- Appel entrant:
- Déclin - décliner l'appel et clôture la session et le contrôleur reçus
- Accepter - Accepte l'appel et les modifications de l'état du contrôleur d'appel à l'appel audio actif
- Appel sortant et actif:
- Microphone - désactive le microphone pour l'appel actuel
- Conférencier - Le fait que le son doit être joué dans le haut-parleur ou le récepteur. La valeur par défaut des appels audio est le récepteur.
- Déclin - raccrocher le contrôle tout et fermer le contrôleur
5.3 Appel vidéo
Vous pouvez voir ci-dessous les écrans d'appels vidéo entrants, sortants et actifs.
Par défaut, le son pour les appels vidéo est dans les haut-parleurs.
- Appel entrant:
- Déclin - décliner l'appel et clôture la session et le contrôleur reçus
- Accepter - Accepte l'appel et les modifications de l'état du contrôleur d'appel vers l'appel vidéo actif
- Appel sortant et actif:
- Camera - Active / désactive la caméra pour l'appel actuel
- Rotation de la caméra - Modifie la caméra pour l'appel actuel (avant / dos)
- Microphone - désactive le microphone pour l'appel actuel
- Déclin - raccrocher le contrôle tout et fermer le contrôleur
5.4 Kit d'appel
Callkit permet d'intégrer des services d'appel avec d'autres applications liées aux appels sur le système. Callkit fournit l'interface d'appel et nous gérons la communication back-end avec notre service VOIP. Pour les appels entrants et sortants, Callkit affiche les mêmes interfaces que l'application téléphonique, donnant à l'application Q-Municate un look et une sensation plus natifs.
6. Extensions
6.1 Extension de partage
Share Extension donne aux utilisateurs un moyen pratique de partager du contenu avec d'autres entités. Types disponibles pour le partage:
- Lieux
- URL
- Images
- Vidéos
- Audios
6.2 Extension de l'application Intetend (Sirikit pour la messagerie)
Une extension de l'application Intente reçoit une demande utilisateur pour envoyer un message de Sirikit et la transforme en actions spécifiques à l'application.
7. Explication du code
Vous pouvez voir l'explication du code de base ci-dessous. Pour un détail, veuillez consulter notre documentation en ligne pour les fichiers d'en-tête dans la plupart des classes. Nous avons essayé de décrire aussi détaillé que possible le but de chaque classe et de ses méthodes. Si vous avez des questions, n'hésitez pas à nous le faire savoir en créant un problème.
7.1 Storyboards
Nous avons séparé Q-MuniCate pour les modules, tels que:
- Authentification
- Principal
- Chat
- Paramètres
Chaque module a son propre storyboard, tous les storyboards sont liés à des liens de storyboard (fonctionnalité disponible depuis Xcode 7 et iOS 8+).
8. Comment créer votre propre application de chat
Si vous souhaitez créer votre propre application en utilisant Q-MuniCate comme base, veuillez suivre notre guide détaillé ici.
9. Contribuer
Caractéristiques
- Fork It (https://github.com/[my-github- username
- Créez votre succursale de fonctionnalité (
git checkout -b my-new-feature ) - Commissez vos modifications (
git commit -am 'My new feature' ) - Push à la branche (
git push origin my-new-feature ) - Créer une nouvelle demande de traction
Problèmes
Si vous trouvez un problème, veuillez créer un problème.
10. Licence
Licence Apache, version 2.0. Voir le fichier de licence.