Ресурсы
Для разработки мобильных приложений потокового видео и звонков используется Android SDK.
Скачать полную сборку WCS Android SDK с примерами и API документацией
https://docs.flashphoner.com/display/ANDROIDSDK11RU/Android+SDK+release+notes
Смотреть API документацию онлайн
http://flashphoner.com/docs/api/WCS5/client/android-sdk/1.1/latest
Скачать исходный код примеров
https://github.com/flashphoner/wcs-android-sdk-samples
Исходный код примеров расположен на Github и будет использоваться в дальнейшем для пояснения работы примеров в данной
документации. Например, данная ссылка line 34 указывает на тридцать четвертую строку класса TwoPlayersActivity.java примера 2players
ревизии с хешем 4ed4c6d77.
Для тестирования готовых приложений, скачайте полную сборку с примерами и установите .apk файл на ваше Android-устройство.
Различия между версиями Android SDK
В версии Android SDK 1.1 обновлена WebRTC библиотека libjingle_peerconnection.jar. В связи с этим, минимальная версия Android API, поддерживаемая Android SDK 1.1, увеличена до 26, т.е. приложения на базе Android SDK 1.1 будут работать в Android 8 и выше. Для поддержки предшествующих версий Android используйте Android SDK 1.0.
При публикации в Google Play для совместимости приложения с устройствами с API ниже и выше 26 можно выгрузить две APK - под каждую версию Android SDK.
Подготовка примеров для сборки
Если у вас есть опыт разработки под Android, вы можете просто скачать aar-библиотеку и вручную присоединить ее к проекту и
сконфигурировать для сборки.
Ниже показано как это сделать автоматически с помощью скрипта export.sh:
1. Скачайте примеры
git clone -b 1.1 https://github.com/flashphoner/wcs-android-sdk-samples.git
2. Скачайте aar библиотеку и положите ее в папку 'export'
Пример:
wget https://flashphoner.com/downloads/builds/flashphoner_client/wcs-android-sdk/1.1/wcs-android-sdk-1.1.0.x.aar cp wcs-android-sdk-1.1.0.x.aar export
3. Перейдите в папку 'export' и запустите скрипт export.sh, который подготовит конфиги для дальнейшей сборки. Результат будет находиться
в папке 'output'.
cd export ./export.sh wcs-android-sdk-1.1.0.x.aar
4. Скорректируйте файл local.properties и пропишите пути к Android SDK и NDK
Пример:
ndk.dir=/opt/android-ndk-r12b sdk.dir=/opt/android-sdk-linux
Сборка примеров с помощью Gradle
Подготовьте примеры для сборки, перейдите в папку output и запустите сборку:
cd output gradle build
Начиная со сборки Android SDK 1.1.0.55, необходимо использовать Gradle 7 и выше, либо запускать сборку с помощью Gradle wrapper
cd output gradlew build
Также для сборки необходимо наличие JDK 11.
Сборка примеров в Android Studio
Подготовьте примеры для сборки в папку output и переименуйте ее, например, в 'wcs_android_sdk_samples'
1. Установите следующие программы:
2. Откройте проект из папки output в Android Studio
3. Добавьте конфигурацию запуска Gradle в меню Run / Debug Configurations
4. Для конфигурации запуска укажите файл сборки build.gradle, название сборки и назначение: build
5. Запустите сборку примеров.
Результатом сборки будут .apk файлы в соответствующих директориях 2players/build, click-to-call/build, и т.д.
Файл Android SDK находится в проекте по следующему пути: libs/wcs-android-sdk-1.0.1.2.aar
Сборка отдельного примера
Если необходимо собрать отдельный пример, или нет возможности выполнить скрипт экспорта всех примеров, пример для сборки может быть подготовлен вручную следующим образом:
1. Скачайте примеры
git clone -b 1.1 https://github.com/flashphoner/wcs-android-sdk-samples.git
2. Скопируйте нужный пример в отдельный каталог
cd wcs-android-sdk-samples cp streaming-min gradle.properties ~/streaming-min
3. Скачайте aar библиотеку и положите ее в папку libs в примере
wget https://flashphoner.com/downloads/builds/flashphoner_client/wcs-android-sdk/1.1/wcs-android-sdk-1.1.0.x.aar mkdir ~/streaming-min/libs cp wcs-android-sdk-1.1.0.x.aar ~/streaming-min/libs
4. Добавьте в начало файла build.gradle
в каталоге примера секцию buildscript
:
buildscript { repositories { jcenter() mavenCentral() maven { url 'https://maven.google.com' } google() } dependencies { classpath 'com.android.tools.build:gradle:7.0.0' classpath 'com.github.triplet.gradle:play-publisher:1.1.5' } }
5. Добавьте в файл build.gradle
в каталоге примера секцию repositories
:
repositories { jcenter() mavenCentral() maven { url 'https://maven.google.com' } google() flatDir{ dirs 'libs' } }
6. Замените в секции dependencies
файла build.gradle
в каталоге примера строку
implementation project(':fp_wcs_api')
на
implementation 'com.flashphoner.fpwcsapi:wcs-android-sdk-1.1.0.x@aar'
где wcs-android-sdk-1.1.0.x
- имя aar файла, скачанного на шаге 3.
7. Пример файла build.gradle
8. Для сборки в Android Studio откройте каталог примера. Android Studio выполнит Gradle sync и установит необходимую версию gradle
9. Для сборки с помощью Gradle установите Gradle wrapper и выполните команду
gradlew build
Известные ограничения
1. Невозможно управлять уровнем громкости микрофона при публикации потока в Android SDK.