Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
languagebash
themeRDark
git clone -b 1.1 git@githubhttps://github.com:/flashphoner/wcs-android-sdk-samples.git

...

Code Block
languagebash
themeRDark
wget httphttps://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

...

Результатом сборки будут .apk файлы в соответствующих директориях 2players/build, click-to-call/build, и т.д.
Файл Android SDK находится в проекте по следующему пути: libs/wcs-android-sdk-1.0.1.2.aar

Сборка отдельного примера

Если необходимо собрать отдельный пример, или нет возможности выполнить скрипт экспорта всех примеров, пример для сборки может быть подготовлен вручную следующим образом:

1. Скачайте примеры

Code Block
languagebash
themeRDark
git clone -b 1.1 https://github.com/flashphoner/wcs-android-sdk-samples.git

2. Скопируйте нужный пример в отдельный каталог

Code Block
languagebash
themeRDark
cd wcs-android-sdk-samples
cp streaming-min gradle.properties ~/streaming-min

3. Скачайте aar библиотеку и положите ее в папку libs в примере

Code Block
languagebash
themeRDark
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 :

Code Block
themeRDark
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 :

Code Block
themeRDark
repositories {
    jcenter()
    mavenCentral()
    maven { url 'https://maven.google.com' }
    google()
    flatDir{
        dirs 'libs'
    }
}

6. Замените в секции dependencies файла build.gradle в каталоге примера строку

Code Block
themeRDark
implementation project(':fp_wcs_api')

на

Code Block
themeRDark
implementation 'com.flashphoner.fpwcsapi:wcs-android-sdk-1.1.0.x@aar'

где wcs-android-sdk-1.1.0.x  - имя aar файла, скачанного на шаге 3.

7. Пример файла build.gradle 

Code Block
themeRDark
titlebuild.gradle
collapsetrue
apply plugin: 'com.android.application'
apply plugin: 'com.github.triplet.play'

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'
    }
}

Properties signingProps = null

android {
    compileSdkVersion 31
    buildToolsVersion '31.0.0'
    defaultConfig {
        applicationId "com.flashphoner.wcsexample.two_way_streaming"
        minSdkVersion 26
        targetSdkVersion 31
        versionCode 2600001
        versionName "1.1"
    }
    def signingPropsFile = System.getenv('SIGNING_PROPERTIES')
    if (signingPropsFile && new File(signingPropsFile).exists()) {
        signingProps = new Properties()
        signingProps.load(new FileInputStream(file(signingPropsFile)))

        signingConfigs {
            release {
                storeFile file(signingProps['keystore'])
                storePassword signingProps['keystore.password']
                keyAlias signingProps['key.alias']
                keyPassword signingProps['key.password']
            }
        }
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'

            if (signingProps) {
                signingConfig signingConfigs.release
            }
        }
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
}

repositories {
    jcenter()
    mavenCentral()
    maven { url 'https://maven.google.com' }
    google()
    flatDir{
        dirs 'libs'
    }
}

dependencies {
    implementation 'com.flashphoner.fpwcsapi:wcs-android-sdk-1.1.0.x@aar'
    implementation fileTree(include: ['*.jar'], dir: 'libs')
    testImplementation 'junit:junit:4.12'
    implementation 'androidx.appcompat:appcompat:1.4.0'
    implementation 'com.google.android.material:material:1.4.0'
}

play {
    if(signingProps) {
        track = 'production'
        serviceAccountEmail = signingProps['service.account.email']
        pk12File = file(signingProps['service.account.pk12file'])
    }
}

8. Для сборки в Android Studio откройте каталог примера. Android Studio выполнит Gradle sync и установит необходимую версию gradle

Image Added

9. Для сборки с помощью Gradle установите Gradle wrapper и выполните команду

Code Block
languagebash
themeRDark
gradlew build

Известные ограничения

1. Невозможно управлять уровнем громкости микрофона при публикации потока в Android SDK.