ym88659208ym87991671
Сборка и работа с приложением | Документация для разработчиков

Сборка и работа с приложением

Обновлено 15 августа 2023

После подготовки демонстрационного приложения вы можете собрать и запустить его в эмуляторе с помощью кнопки Start the active scheme, расположенной в левой верхней панели Xcode.

В эмуляторе отобразится интерфейс демонстрационного приложения.

Главный экран демонстрационного приложения

Создание встречи

При нажатии на кнопку Создать конференцию приложение вызывает функцию createConference(). В ответ на вызов функции SberJazz возвращает параметры встречи, которыми пользователь может поделиться с другими участниками.

Демонстрационное приложение выводит веб-адрес встречи в журнал.

/JazzSDKDemoApp/DemoAppView.swift
import JazzSDK
import SwiftUI

struct DemoAppView: View {
@State var roomId: String = ""
@State var roomPassword: String = ""
@State var urlString: String = ""

/// Перед вызовом функций из `JazzSession.shared` нужно инициализировать SDK с помощью `Jazz.initialize`. В противном случае приложение вернет ошибку.
var body: some View {
VStack(spacing: 10) {
Button("Создать конференцию") {
/// Передает запрос на создание встречи и выводит полученный в ответ веб-адрес.
/// В качестве атрибутов принимает параметры встречи (подробное описание в классе `JazzConferenceConfiguration`)
JazzSession.shared.createConference(
configuration: JazzConferenceConfiguration(
title: "Demo title",
type: "meeting",
settings: JazzConferenceSettings(
isGuestsOn: true,
isLobbyOn: false,
isAutoRecordEnabled: false
)
),
completion: { url in
print(url)
}
)
}

...


}
}
}

Начало встречи

При нажатии на кнопку Начать конференцию приложение вызывает функцию startConference(), переходит к экрану создания встречи и начинает звонок.

Экран создания встречи
/JazzSDKDemoApp/DemoAppView.swift
import JazzSDK
import SwiftUI

struct DemoAppView: View {
@State var roomId: String = ""
@State var roomPassword: String = ""
@State var urlString: String = ""

/// Перед вызовом функций из `JazzSession.shared` нужно инициализировать SDK с помощью `Jazz.initialize`. В противном случае приложение вернет ошибку.
var body: some View {
VStack(spacing: 10) {

...

Button("Начать конференцию") {
/// Создает встречу и присоединяется к ней (переходит к экрану встречи).
/// В качестве атрибутов принимает параметры встречи конференции (подробное описание в классе `JazzConferenceConfiguration`), настройки источников
/// медиа (подробное описание в классе `JazzConferenceMediaSettings`), тип конференции для событий аналитики и предпочтительный тип динамика
/// для начала конференции. Например, если поставить `reciver`, то встреча начнется со звуком из тихого динамика.
JazzSession.shared.startConference(
configuration: JazzConferenceConfiguration(
title: "Demo title",
type: "meeting",
settings: JazzConferenceSettings(
isGuestsOn: true,
isLobbyOn: false,
isAutoRecordEnabled: false
)
),
mediaSettings: JazzConferenceMediaSettings(
isCameraOn: false,
isMicrophoneOn: false
),
analyticsConferenceType: nil,
preferredSpeaker: nil
)
}

...

}
}
}

Присоединение к встрече

При нажатии на кнопку Присоединиться к конференции приложение вызывает функцию joinConference() и открывает экран встречи, параметры которой передаются в полях Код встречи и Пароль встречи.

/JazzSDKDemoApp/DemoAppView.swift
import JazzSDK
import SwiftUI

struct DemoAppView: View {
@State var roomId: String = ""
@State var roomPassword: String = ""
@State var urlString: String = ""

/// Перед вызовом функций из `JazzSession.shared` нужно инициализировать SDK с помощью `Jazz.initialize`. В противном случае приложение вернет ошибку.
var body: some View {
VStack(spacing: 10) {

...

Button("Присоединиться к конференции") {
/// Присоединяется к существующей встрече и переходит на соответствующий экран.
/// В качестве атрибутов принимает ID и пароль встречи, к которой нужно подключиться, настройки источников медиа (см. `JazzConferenceMediaSettings`)
/// и тип конференции для событий аналитики.
JazzSession.shared.joinConference(
mediaSettings: JazzConferenceMediaSettings(
isCameraOn: false,
isMicrophoneOn: false
),
analyticsConferenceType: nil
)
}
HStack(spacing: 10) {
DemoTextField(placeholder: "Код встречи", text: $roomId)
DemoTextField(placeholder: "Пароль встречи", text: $roomPassword)
}

...

}
}
}

Завершение встречи

При нажатии на кнопку Завершить текущую конференцию приложение вызывает функцию terminateActiveConference(), которая завершает активную встречу.

/JazzSDKDemoApp/DemoAppView.swift
import JazzSDK
import SwiftUI

struct DemoAppView: View {
@State var roomId: String = ""
@State var roomPassword: String = ""
@State var urlString: String = ""

/// Перед вызовом функций из `JazzSession.shared` нужно инициализировать SDK с помощью `Jazz.initialize`. В противном случае приложение вернет ошибку.
var body: some View {
VStack(spacing: 10) {

...

Button("Завершить текущую конференцию") {
/// Завершение текущей встречи.
JazzSession.shared.terminateActiveConference()
}

...

}
}
}

Обработка диплинка

При нажатии на кнопку Обработать апп или диплинк приложение вызывает функцию handle() и запускает другое приложение по диплинку, переданному в поле Ссылка.

/JazzSDKDemoApp/DemoAppView.swift
import JazzSDK
import SwiftUI

struct DemoAppView: View {
@State var roomId: String = ""
@State var roomPassword: String = ""
@State var urlString: String = ""

/// Перед вызовом функций из `JazzSession.shared` нужно инициализировать SDK с помощью `Jazz.initialize`. В противном случае приложение вернет ошибку.
var body: some View {
VStack(spacing: 10) {

...

Button("Обработать апп или диплинк") {
if let url = URL(string: urlString) {
/// Обработка апплинков и диплинков в приложении. При переходе по апплинкам SberJazz можно присоединиться к встрече.
JazzSession.shared.handle(url: url)
}
}
DemoTextField(placeholder: "Ссылка", text: $urlString)
}
}
}
ПАО Сбербанк использует cookie для персонализации сервисов и удобства пользователей.
Вы можете запретить сохранение cookie в настройках своего браузера.