공개 액세스에서 제거 된 소스 코드는 Q-Municate에 관심이 있으시면 저희에게 연락하십시오.
Q-Municate는 전체 커뮤니케이션 기능 (예 : 메시징, 파일 전송, 푸시 알림, 오디오/화상 통화 등)을 갖춘 오픈 소스 채팅 응용 프로그램입니다. 우리는 당신에게 상자에서 채팅 신청서를 제공하도록 영감을 받았습니다. 귀하의 요구에 따라이 응용 프로그램을 사용자 정의 할 수 있습니다. As always QuickBlox backend is at your service: https://quickblox.com/plans/ Find the source code and more information about Q-municate, as well as installation guide, in our Developers section: https://quickblox.com/developers/q-municate This guide is brought to you from QuickBlox iOS team in order to explain how you can build a communication app on iOS using QuickBlox API. 단순에서보다 복잡한 구현으로 이동할 때 초보자를 포함하여 모든 개발자 수준을 위해 설계된 단계별 가이드입니다. 기술과 프로젝트 요구 사항에 따라이 안내서의 어떤 부분을 따라야하는지 선택할 수 있습니다. QuickBlox iOS 팀의 도움이 필요한 경우 문제를 만들어서 알려주십시오. Q-Municate는 QuickBlox API를 사용하여 완전히 신생 채팅 응용 프로그램입니다.
- Q-Municate 3.0.0
- 1. 요구 사항 및 소프트웨어 환경
- 2. QuickBlox 모듈
- 3. 기능
- 4. 스크린
- 5. 오디오 및 화상 통화
- 6. 확장
- 7. 코드 설명
- 8. 자신의 채팅 앱을 구축하는 방법
- 9. 기여
- 10. 라이센스
1. 요구 사항 및 소프트웨어 환경
- Xcode 10 이상.
- iOS 10.3 이상.
- QuickBlox iOS SDK 2.17.4 이상.
- Quickblox Webrtc SDK 2.7.4 이상.
- 볼트 1.9.0 버전.
- Facebook iOS SDK 5.6.0 버전.
- Firebase 6.9.0 버전.
1.1 QuickBlox iOS SDK
QuickBlox- 커뮤니케이션 및 클라우드 백엔드 플랫폼은 모바일 앱에 초강력을 제공합니다.
1.2 Webrtc
Q-Municate는 비디오 및 오디오 통화에 WebRTC를 사용합니다. 즉, 훌륭한 크로스 플랫폼 솔루션입니다. WebRTC 자체는 오픈 소스이므로 원하는만큼 코드를 수정하거나 개발에 기여한 수천 명의 숙련 된 개발자를 신뢰할 수 있습니다.
VideoChat 코드 샘플을 사용하면 iOS 앱에 화상 통화 및 오디오 통화 기능을 쉽게 추가 할 수 있습니다. 코드 샘플을 기본으로 사용하여 FaceTime 또는 Skype와 유사한 화상 통화 기능을 활성화합니다.
2. QuickBlox 모듈
Q-Municate 응용 프로그램은 다음과 같은 사용을 사용합니다.
- 입증
- 사용자
- 채팅
- 화상 통화
- 콘텐츠
- 푸시 알림
3. 기능
여기에는 다음과 같은 기능이 포함됩니다.
- 앱은 조경 및 초상화 모드를 모두 지원합니다.
- iOS 애플리케이션에는 영어 인터페이스가 있으며 현지화가 쉽습니다.
- 로그인뿐만 아니라 세 가지 가입 방법-Facebook, Firebase (전화 번호) 및 이메일/비밀번호
- 전화 키트
- 공유 확장
- 메시징을위한 시리 확장
- 메시지 이력이있는 모든 활성 채팅 대화 상자 목록 (개인 및 그룹 채팅 대화 상자)
- 그룹 채팅 대화 상자를보고, 편집하고 남겨 둡니다
- 개인 채팅 대화 상자를보고 제거하십시오
- 검색 : 로컬 대화 상자 검색, 연락처 검색 및 글로벌 사용자 검색
- 개인 및 그룹 대화 상자를 만들고 참여하십시오
- 대화 상자 관리, 업데이트 및 제거
- 오디오 및 화상 통화 (QuickBlox WebRTC 프레임 워크 사용)
- 자체 사용자 프로필을 편집합니다
- 비밀번호 및 로그 아웃을 재설정합니다
- 다른 사용자 프로필을 참조하십시오
- 대화 상자 목록, 연락처 목록 및 사용자 정보 페이지에 대한 새로 고침
이러한 모든 기능은 오픈 소스 코드로 제공되므로 요구 사항에 따라 앱을 사용자 정의 할 수 있습니다.
4. 스크린
4.1 환영합니다
사용 가능한 기능 :
- 전화로 연결 -이 버튼을 사용하면 사용자가 FireBase를 사용하여 전화 번호로 앱을 입력 할 수 있습니다. TAPPE가 표시되면 사용자 계약 팝업이 표시됩니다.
- 이메일 또는 소셜 버튼으로 로그인 - 추가 로그인 방법 으로이 버튼 작업 시트를 탭하면 팝업됩니다. 이메일/비밀번호로 Facebook 로그인 및 로그인과 같은 방법이 있습니다.
- Facebook에 로그인하면 사용자가 Facebook 자격 증명으로 앱을 입력 할 수 있습니다. TAPPE가 표시되면 사용자 계약 팝업이 표시됩니다.
- App이 Facebook 인증을 성공적으로 통과 한 경우 앱은 사용자를 채팅 대화 상자 목록 화면으로 리디렉션합니다.
- 이메일/비밀번호로 로그인하면 올바른 이메일 및 비밀번호를 제공하는 경우 사용자가 앱을 입력 할 수 있습니다. 이 버튼을 탭하면 사용자가 로그인 화면으로 리디렉션됩니다.
더 이상 이메일 및 비밀번호 방법을 사용하여 사용자를 가입 할 가능성이 없습니다. 전화 번호 및/또는 Facebook 자격 증명을 사용 하여만 가입 할 수 있습니다.
4.2 이메일/비밀번호로 로그인합니다
사용 가능한 기능 :
- 필드 세트 :
- 이메일 - 텍스트/숫자/상징적 필드 3 숯 최소 - 국경 없음, 필수 (이메일 기호 검증 포함)
- 비밀번호-텍스트/숫자/기호 필드 8-40 숯 (영숫자 및 구두점 문자 만 포함해야 함), 필수
- 버튼 :
- 뒤로 - 사용자를 환영 화면으로 되돌립니다
- 완료 - 제공된 이메일 및 비밀번호를 사용하여 필드 유효성 검사 후 로그인 수행
- 비밀번호 잊어 버린다 - 비밀번호를 잊어 버린다
4.3 비밀번호를 잊어 버렸습니다
- 필드 세트 :
- 이메일 - 텍스트/숫자/상징적 필드 3 숯 최소 - 국경 없음, 필수 (이메일 기호 검증 포함)
- 버튼 :
- 뒤로 - 사용자를 환영 화면으로 되돌립니다
- 재설정 - 비밀번호 재설정 수행
4.4 탭 막대
탭 바는 응용 프로그램의 기본 컨트롤러입니다. 그러한 페이지로 구성됩니다.
- 채팅 대화 상자 목록 (메인 페이지)
- 연락처 목록
- 설정
4.5 채팅 대화 상자 목록
- 찾다:
- 검색을 통해 사용자는 로컬 캐시의 기존 대화 상자를 이름으로 필터링 할 수 있습니다.
- 버튼 :
- 오른쪽 막대 버튼 - 사용자를 새 대화 화면으로 리디렉션합니다.
4.6 새로운 메시지
연락처 1 개만 선택하는 경우 - 개인 채팅이 열리거나 (존재하는 경우) 필요한 경우 생성됩니다. 그렇지 않으면 그룹 채팅이 생성됩니다.
- 찾다:
- 태그 필드를 사용하면 연락처 전체 이름을 검색 할 수 있습니다.
- 버튼 :
- 오른쪽 막대 버튼 - 채팅 대화 상자를 만듭니다
- 뒤로 - 채팅 대화 상자 페이지로 돌아가는 사용자를 반환합니다
4.7 채팅
보낼 가능성이 있습니다.
- 문자 메시지
- 갤러리와 카메라의 이미지
- 갤러리와 카메라의 비디오
- 입력 도구 모음 오른쪽 버튼을 사용한 오디오 레코드
사용 가능한 기능 :
- 공유 및 전달
- 이미지 복사 aitchMnets 및 문자 메시지
4.8 개인 채팅
버튼 :
- 오른쪽 막대 버튼 - 오디오 및 화상 통화 버튼, 사용자가 연락처 목록에있는 경우에만 전화 할 수 있습니다.
- 뒤로 - 다시 채팅으로 다시 채팅 대화 상자 목록 화면을 반환합니다.
- Navigation Bar 제목 - 사용자를 상대 프로필 페이지로 리디렉션
4.9 그룹 채팅
버튼 :
- 오른쪽 막대 버튼 및 내비게이션 바 제목 - 사용자 그룹 채팅 정보 화면으로 리디렉션
- 뒤로 - 채팅으로 사용자를 채팅 대화 상자 목록 화면으로 반환합니다
- 상대 사용자 아바타 - 메시지에 상대방 사용자 아바타를 탭하여 해당 사용자의 정보 페이지로 리디렉션됩니다.
4.10 그룹 채팅 정보
필드/버튼 :
- 그룹 아바타를 탭하면 새 사진을 찍거나 라이브러리에서 선택하여 변경할 수 있습니다.
- 그룹 이름을 탭하면 그룹 이름 변경 화면으로 리디렉션됩니다.
- Add Member Field를 탭하면 추가 할 사용자를 선택하기 위해 연락처 화면으로 리디렉션됩니다.
- 회원 목록의 사용자를 탭하면 정보 페이지로 리디렉션됩니다 (목록의 사용자 제외)
- 휴가 및 제거 채팅 필드를 탭하면 존재하는 그룹 채팅을 떠나 로컬로 삭제합니다.
4.11 연락처 목록
찾다:
- 검색에는 두 개의 스코프 버튼이 있습니다.
- 로컬 검색 - 사용자가 이름으로 기존 연락처를 필터링 할 수 있습니다.
- Global Search - 사용자를 사용하면 사용자를 찾고 전체 이름으로 프로필을 볼 수 있습니다.
4.12 사용자 정보
필드/버튼
- 연락처 행동 :
- 메시지 보내기 - 아직 채팅이 없으면 사용자와 채팅을 엽니 다 - 생성
- 오디오 통화 - 사용자에게 오디오 호출
- 화상 통화 - 사용자에게 화상 통화
- 연락처 및 채팅 제거 - 연락처 목록에서 사용자 삭제 및 그와 채팅
기타 사용자 작업 :
- 연락처 추가 - 사용자에게 연락처 요청을 보내거나 기존 요청 수락
4.13 설정
필드/버튼 :
- 성명, 상태 및 이메일 필드는 정보를 변경할 수있는 필드 화면을 업데이트하도록 리디렉션됩니다.
- 아바타 액션 시트를 두드려서 열립니다. 새 사진을 찍거나 라이브러리에서 선택하여 사용자 아바타를 업데이트 할 수 있습니다.
- 푸시 알림 스위치 - 푸시 알림을 구독하거나 구독 해제 할 수 있습니다.
- 친구에게 말하십시오 -이 멋진 앱을 친구들과 공유 할 수있는 공유 컨트롤러를 엽니 다. :)
- 피드백 - 피드백 화면, Q -Municate를 개선 할 수 있도록 버그, 개선 또는 제안 정보로 이메일을 보내 주실 수 있습니다!
5. 오디오 및 화상 통화
QuickBlox WebRTC SDK를 통화 서비스로 사용하는 Q-Municate. 여기에서 자세한 정보를 찾을 수 있습니다.
5.1 통화 컨트롤러
콜 컨트롤러에는 6 개의 상태가 있습니다.
- 들어오는 오디오 통화
- 들어오는 화상 통화
- 나가는 오디오 통화
- 나가는 화상 통화
- 활성 오디오 호출
- 활발한 화상 통화
콜 컨트롤러는 QMCALLMANAGER에 의해 관리되며 기본적으로 통화가 나가는 통화 여부에 관계없이 특정 상태로 할당 한 다음 필요한 사용자가 수락하는 경우 콜 컨트롤러를 활성으로 변경합니다.
5.2 오디오 통화
나가는 발신 및 활성 오디오 통화 화면 아래에서 아래를 볼 수 있습니다.
도구 모음 버튼
- 들어오는 전화 :
- 거부 - 통화 거부 및 수신 된 세션 및 컨트롤러를 종료합니다.
- 수락 - 통화 수락 및 통화 컨트롤러 상태를 활성 오디오 통화로 변경
- 발신 및 활성 전화 :
- 마이크 - 현재 통화의 경우 마이크를 비활성화합니다
- 스피커 - 스피커 또는 수신기에서 사운드를 재생 해야하는지 여부. 오디오 호출의 기본값은 수신기입니다.
- 쇠퇴 - 전류 및 닫는 컨트롤러를 끊습니다
5.3 화상 통화
나가는 발신 및 활성 화상 통화 화면 아래에서 아래에서 볼 수 있습니다.
기본적으로 화상 통화의 사운드는 스피커에 있습니다.
- 들어오는 전화 :
- 거부 - 통화 거부 및 수신 된 세션 및 컨트롤러를 종료합니다.
- 수락 - 통화 수락 및 통화 컨트롤러 상태를 활성 화상 통화로 변경
- 발신 및 활성 전화 :
- 카메라 - 현재 통화의 경우 카메라를 활성화/비활성화합니다
- 카메라 회전 - 현재 통화 용 카메라 변경 (전면/뒤)
- 마이크 - 현재 통화의 경우 마이크를 비활성화합니다
- 쇠퇴 - 전류 및 닫는 컨트롤러를 끊습니다
5.4 전화 키트
CallKit을 사용하면 통화 서비스를 시스템의 다른 통화 관련 앱과 통합 할 수 있습니다. Callkit은 통화 인터페이스를 제공하며 VoIP 서비스와 백엔드 커뮤니케이션을 처리합니다. 수신 및 나가는 통화의 경우 Callkit은 전화 앱과 동일한 인터페이스를 표시하여 Q-Municate 응용 프로그램에보다 기본적인 모양과 느낌을줍니다.
6. 확장
6.1 공유 확장
Share Extension은 사용자가 다른 엔티티와 콘텐츠를 공유하는 편리한 방법을 제공합니다. 공유에 사용 가능한 유형 :
6.2 의도 앱 확장 (메시징의 시리 킷)
의도 앱 확장은 사용자 요청을 수신하여 Sirikit의 메시지를 보내고이를 앱 특정 작업으로 전환합니다.
7. 코드 설명
아래의 기본 코드 설명을 볼 수 있습니다. 자세한 내용은 대부분의 클래스의 헤더 파일에 대한 인라인 문서를 참조하십시오. 우리는 가능한 한 모든 수업의 목적과 그 방법을 자세히 설명하려고 노력했습니다. 궁금한 점이 있으시면 문제를 만들어서 알려주십시오.
7.1 스토리 보드
우리는 모듈에 대해 q-municate를 분리했습니다.
각 모듈에는 자체 스토리 보드가 있으며 모든 스토리 보드는 스토리 보드 링크 (Xcode 7 및 iOS 8+ 이후 제공되는 기능)와 연결되어 있습니다.
8. 자신의 채팅 앱을 구축하는 방법
q-municate를 기준으로 사용하여 자신의 앱을 구축하려면 여기에서 자세한 안내서를 따르십시오.
9. 기여
특징
- Fork It (https://github.com/= My-github-username ch ]/q-municate-ios/fork)
- 기능 분기 생성 (
git checkout -b my-new-feature ) - 당신의 변화를 커밋하십시오 (
git commit -am 'My new feature' ) - 지점으로 밀기 (
git push origin my-new-feature ) - 새 풀 요청을 만듭니다
문제
문제가있는 경우 문제를 만듭니다.
10. 라이센스
Apache 라이센스, 버전 2.0. 라이센스 파일을 참조하십시오.