Skip to content

Commit 2e7b7a0

Browse files
committed
Merge branch 'development'
2 parents d9e3e60 + 7c85f32 commit 2e7b7a0

File tree

229 files changed

+8853
-70
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

229 files changed

+8853
-70
lines changed

README.md

Lines changed: 5 additions & 70 deletions
Original file line numberDiff line numberDiff line change
@@ -1,72 +1,7 @@
1-
# Quickblox Flutter samples SDK
1+
# QuickBlox Flutter SDK
22

3-
## Quick Start
4-
This guide demonstrates how to run Quickblox Flutter SDK examples.
3+
# This project contains:
54

6-
Documentation: https://docs.quickblox.com/docs/flutter-quick-start
7-
8-
### Create a new app in the Admin Panel
9-
Quickblox application includes everything that brings messaging right into your application - chat, video calling, users, push notifications, etc. To create a QuickBlox application, follow the steps below:
10-
11-
1. Register a new account. Type in your email and password to sign in. You can also sign in with your Google or Github accounts.
12-
2. Create the app clicking **New app** button.
13-
3. Configure the app. Type in the information about your organization into corresponding fields and click **Add** button.
14-
4. Go to the screen with credentials. Locate **Credentials** groupbox and copy your **Application ID**, **Authorization Key**, and **Authorization Secret**. These data are needed to run your application on QuickBlox server.
15-
16-
### Run the samples
17-
18-
1. Change the dir to `lib`
19-
2. Open and modify the `credentials.dart` file with your account data
20-
21-
```dart
22-
const String APP_ID = ""; // application id from your account
23-
const String AUTH_KEY = ""; // authentication key from your account
24-
const String AUTH_SECRET = ""; // authentication secret key from your account
25-
const String ACCOUNT_KEY = ""; // account key from your account
26-
const String API_ENDPOINT = ""; // optional
27-
const String CHAT_ENDPOINT = ""; // optional
28-
29-
const String USER_LOGIN = ""; // user login
30-
const String USER_PASSWORD = ""; // user password
31-
const int LOGGED_USER_ID = 000000000; // user id
32-
const int OPPONENT_ID = 000000000; // uer id of opponent user
33-
34-
const List<int> OPPONENTS_IDS = [OPPONENT_ID];
35-
const String DIALOG_ID = ""; // dialog id
36-
const String CUSTOM_OBJECT_ClASS_NAME = ""; // name of custom object class
37-
```
38-
3. Run `flutter run` in lib directory
39-
4. You can see the simple UI with button where you can test base functional of Quickblox SDK.
40-
41-
### Start the video call
42-
43-
1. Check permissions application
44-
- open the application settings
45-
- swipe the all permissions to enabled `Camera, Microphone, Storage`
46-
2. Init SDK and start the call
47-
- open the sample application
48-
- Press `Settings` button
49-
- Press `init credentials` button and wait when will show `The credentials were set` message
50-
- Return to the main screen
51-
- Press `Auth` button
52-
- Press `Login` button and waiting when will show `Login success` message
53-
- Return to the main screen
54-
- Press `Chat` button
55-
- Press `Connect` button and wait when will show `The chat was connected` message
56-
- Return to the main screen
57-
- Press `WebRTC` button
58-
- Press `init` button and wait when will show `The WebRTC was initiated` message
59-
- Press `subscribe RTC events`
60-
- Press `subscribe RTC events` and wait when messages about subscribing will stop show
61-
- Press `call Video` button
62-
- The opponent (`user with opponent id` from credentials file) will show incoming call dialog
63-
- Press `accept` button in opponent application and you can see the video call between two users
64-
65-
3. Finish the video call
66-
- Press `hangUp` button
67-
- Press `release Video Views` button
68-
- Press `release` button
69-
- Return to the main screen
70-
71-
## LICENSE
72-
For license information, please visit: https://quickblox.com/terms-of-use/
5+
* New Quickblox Samples:
6+
* [Sample Chat Flutter](https://github.com/QuickBlox/quickblox-flutter-samples/tree/master/chat_sample)
7+
* [Simple-sample](https://github.com/QuickBlox/quickblox-flutter-samples/tree/master/simple_sample)

chat_sample/.gitignore

Lines changed: 124 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,124 @@
1+
# Miscellaneous
2+
*.class
3+
*.lock
4+
*.log
5+
*.pyc
6+
*.swp
7+
.DS_Store
8+
.atom/
9+
.buildlog/
10+
.history
11+
.svn/
12+
13+
# IntelliJ related
14+
*.iml
15+
*.ipr
16+
*.iws
17+
.idea/
18+
19+
# Visual Studio Code related
20+
.classpath
21+
.project
22+
.settings/
23+
.vscode/
24+
25+
# Flutter repo-specific
26+
/bin/cache/
27+
/bin/internal/bootstrap.bat
28+
/bin/internal/bootstrap.sh
29+
/bin/mingit/
30+
/dev/benchmarks/mega_gallery/
31+
/dev/bots/.recipe_deps
32+
/dev/bots/android_tools/
33+
/dev/devicelab/ABresults*.json
34+
/dev/docs/doc/
35+
/dev/docs/flutter.docs.zip
36+
/dev/docs/lib/
37+
/dev/docs/pubspec.yaml
38+
/dev/integration_tests/**/xcuserdata
39+
/dev/integration_tests/**/Pods
40+
/packages/flutter/coverage/
41+
version
42+
analysis_benchmark.json
43+
44+
# packages file containing multi-root paths
45+
.packages.generated
46+
47+
# Flutter/Dart/Pub related
48+
**/doc/api/
49+
**/ios/Flutter/.last_build_id
50+
.dart_tool/
51+
.flutter-plugins
52+
.flutter-plugins-dependencies
53+
**/generated_plugin_registrant.dart
54+
.packages
55+
.pub-cache/
56+
.pub/
57+
/build/
58+
build/
59+
flutter_*.png
60+
linked_*.ds
61+
unlinked.ds
62+
unlinked_spec.ds
63+
64+
# Android related
65+
**/android/**/gradle-wrapper.jar
66+
**/android/.gradle
67+
**/android/captures/
68+
**/android/gradlew
69+
**/android/gradlew.bat
70+
**/android/local.properties
71+
**/android/**/GeneratedPluginRegistrant.java
72+
**/android/key.properties
73+
*.jks
74+
75+
# iOS/XCode related
76+
**/ios/**/*.mode1v3
77+
**/ios/**/*.mode2v3
78+
**/ios/**/*.moved-aside
79+
**/ios/**/*.pbxuser
80+
**/ios/**/*.perspectivev3
81+
**/ios/**/*sync/
82+
**/ios/**/.sconsign.dblite
83+
**/ios/**/.tags*
84+
**/ios/**/.vagrant/
85+
**/ios/**/DerivedData/
86+
**/ios/**/Icon?
87+
**/ios/**/Pods/
88+
**/ios/**/.symlinks/
89+
**/ios/**/profile
90+
**/ios/**/xcuserdata
91+
**/ios/.generated/
92+
**/ios/Flutter/App.framework
93+
**/ios/Flutter/Flutter.framework
94+
**/ios/Flutter/Flutter.podspec
95+
**/ios/Flutter/Generated.xcconfig
96+
**/ios/Flutter/app.flx
97+
**/ios/Flutter/app.zip
98+
**/ios/Flutter/flutter_assets/
99+
**/ios/Flutter/flutter_export_environment.sh
100+
**/ios/ServiceDefinitions.json
101+
**/ios/Runner/GeneratedPluginRegistrant.*
102+
103+
# macOS
104+
**/macos/Flutter/GeneratedPluginRegistrant.swift
105+
106+
# Coverage
107+
coverage/
108+
109+
# Symbols
110+
app.*.symbols
111+
112+
# Exceptions to above rules.
113+
!**/ios/**/default.mode1v3
114+
!**/ios/**/default.mode2v3
115+
!**/ios/**/default.pbxuser
116+
!**/ios/**/default.perspectivev3
117+
!/packages/flutter_tools/test/data/dart_dependencies_test/**/.packages
118+
!/dev/ci/**/Gemfile.lock
119+
120+
# Web related
121+
lib/generated_plugin_registrant.dart
122+
123+
# Obfuscation related
124+
app.*.map.json

chat_sample/.metadata

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
# This file tracks properties of this Flutter project.
2+
# Used by Flutter tool to assess capabilities and perform upgrades etc.
3+
#
4+
# This file should be version controlled and should not be manually edited.
5+
6+
version:
7+
revision: 78910062997c3a836feee883712c241a5fd22983
8+
channel: stable
9+
10+
project_type: app

chat_sample/LICENSE

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
BSD 3-Clause License
2+
3+
Copyright (c) 2019, QuickBlox
4+
All rights reserved.
5+
6+
Redistribution and use in source and binary forms, with or without
7+
modification, are permitted provided that the following conditions are met:
8+
9+
1. Redistributions of source code must retain the above copyright notice, this
10+
list of conditions and the following disclaimer.
11+
12+
2. Redistributions in binary form must reproduce the above copyright notice,
13+
this list of conditions and the following disclaimer in the documentation
14+
and/or other materials provided with the distribution.
15+
16+
3. Neither the name of the copyright holder nor the names of its
17+
contributors may be used to endorse or promote products derived from
18+
this software without specific prior written permission.
19+
20+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
21+
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22+
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
23+
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
24+
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
25+
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
26+
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
27+
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
28+
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
29+
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

chat_sample/README.md

Lines changed: 94 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,94 @@
1+
# Table of Content
2+
3+
- [About](#about)
4+
- [Screenshots](#screenshots)
5+
- [Features](#features)
6+
- [How to launch](#how-to-launch)
7+
* [1. Get application credentials](#1-get-application-credentials)
8+
* [2. Download samples from GitHub](#2-download-samples-from-github)
9+
* [3. Open sample](#3-open-sample)
10+
* [4. Set application credentials](#4-set-application-credentials)
11+
- [License](#license)
12+
13+
# About
14+
15+
The Flutter Sample Chat project is a sample text chat base on QuickBlox Flutter SDK.
16+
17+
The QuickBlox Flutter SDK provides a Flutter library making it even easier to access the QuickBlox cloud communication backend platform.
18+
19+
[QuickBlox](https://quickblox.com) is a suite of communication features & data services (APIs, SDKs, code samples, admin panel, tutorials) which help digital agencies, mobile developers and publishers to add great communication functionality to smartphone applications like in Skype, WhatsApp, Viber.
20+
21+
# Screenshots
22+
23+
1. Enter to chat;
24+
25+
<img src="assets\screenshots\login.jpg" width=190 />
26+
27+
2. Chat dashboard with list of dialogs;
28+
29+
<img src="assets\screenshots\dialogs.png" width=190 />
30+
31+
3. Active Group public/private Chat;
32+
33+
<img src="assets\screenshots\chat.png" width=190 />
34+
35+
4. Create new chat;
36+
37+
<img src="assets\screenshots\create_new_chat.png" width=190 />
38+
39+
# Features
40+
41+
- Log in
42+
- Create chat
43+
- Remove/Leave chat
44+
- See Public chat
45+
- Send messages
46+
- Message's statuses
47+
- Receive messages
48+
- Add users to chat
49+
- Log out
50+
51+
# How to launch
52+
[Article - How to Launch a Flutter Chat Sample](https://quickblox.com/blog/how-to-launch-a-flutter-chat-sample/)
53+
54+
## 1. Get application credentials.
55+
[Article - How to Create an App and Use the QuickBlox Admin Panel](https://quickblox.com/blog/how-to-create-an-app-and-use-quickblox-admin-panel/)
56+
57+
QuickBlox application includes everything that brings messaging right into your application - chat, video calling, users, push notifications, etc. To create a QuickBlox application, follow the steps below:
58+
1. Register a new account following [this link](https://admin.quickblox.com/signup). Type in your email and password to sign in. You can also sign in with your Google or Github accounts.
59+
2. Create the app clicking **New app** button.
60+
3. Configure the app. Type in the information about your organization into corresponding fields and click **Add** button.
61+
4. Go to **Dashboard => _YOUR_APP_ => Overview** section and copy your **Application ID**, **Authorization Key**, **Authorization Secret**, and **Account Key**.
62+
63+
64+
## 2. Download samples from GitHub.
65+
66+
[GitHub - QuickBlox Flutter Samples](https://github.com/QuickBlox/quickblox-flutter-samples). To download samples, click on the button **“Code”** and select the format you need.
67+
68+
The simple ways to download samples from GitHub are:
69+
70+
– HTTPS
71+
– Download ZIP
72+
73+
## 3. Open sample.
74+
Open the sample in [Android Studio](https://developer.android.com/studio), or [VS Code](https://code.visualstudio.com/download). If you don’t have it installed – install one of them first. Pay attention – if you want to deploy the sample onto an iOS device you should install the latest [Xcode](https://apps.apple.com/us/app/xcode/id497799835?mt=12) version.
75+
We recommend opening the sample using:
76+
77+
– minimal supported version of Android Studio 4.2.2
78+
– minimal supported version of VS Code 1.61
79+
80+
For example, in **Android Studio**:
81+
82+
- open android studio
83+
- click on **“Open an Existing Project”**
84+
- select the sample you downloaded
85+
- click on the **"open"** button
86+
87+
88+
## 4. Set application credentials
89+
- [Get application credentials](#1-get-application-credentials) and get **Application ID**, **Authorization Key**, **Authorization Secret**, and **Account Key**.
90+
- Open **main.dart file** and paste the credentials into the values of constants.
91+
92+
# License
93+
94+
**BSD 3-Clause**

chat_sample/android/.gitignore

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
gradle-wrapper.jar
2+
/.gradle
3+
/captures/
4+
/gradlew
5+
/gradlew.bat
6+
/local.properties
7+
GeneratedPluginRegistrant.java
8+
9+
# Remember to never publicly share your keystore.
10+
# See https://flutter.dev/docs/deployment/android#reference-the-keystore-from-the-app
11+
key.properties

0 commit comments

Comments
 (0)