Tips

このセクションでは、SkyWay Android SDK を利用して Android アプリケーションを開発する時に参考となる Tips を掲載しています。

Experimental API

Android SDK の一部の機能は Experimental API として提供しています。 この API はサポートの対象外であり、今後短期間のうちに仕様が変更される可能性があります。 Experimental API を利用する場合はコードに OptIn アノテーションを記述する必要があります。

以下に Experimental API である AudioSource.changeRecord(audioRecord: AudioRecord) を利用する例を示します。

@OptIn(SkyWayOptIn::class) fun changeAudioSource(audioRecord: AudioRecord) { AudioSource.changeRecord(audioRecord) }

Pluginの使い方

Core ライブラリでは Plugin を使って追加の機能を利用できます。 以下に SFUBotPlugin を利用する例を示します。

SkyWayContext.registerPlugin(SFUBotPlugin()) val option = SkyWayContext.Options(authToken) SkyWayContext.setup(context, option)

SDKのログレベルを変更する

SDK から出力されるログレベルを変更するには、SkyWayContext.OptionslogLevel を変更します。 設定可能なログレベルと説明については、Android SDK リファレンスを参照してください。

以下にログレベルを VERBOSE に設定する例を示します。

val option = SkyWayContext.Options(authToken, logLevel = Logger.LogLevel.VERBOSE) SkyWayContext.setup(context, option)

アプリケーション開発時は、不具合の調査やサポートとのやり取りを円滑に行うために、ログレベルを VERBOSE に設定することをおすすめします。

WebRTCに関するログを表示する

WebRTC 通信による詳細なログを出力するには、SkyWayContext.OptionswebRTCLogtrue に変更します。 以下に例を示します。

val option = SkyWayContext.Options(authToken, webRTCLog = true) SkyWayContext.setup(context, option)

SkyWayのログを取得する

Logger.onLogHandlerにハンドラを登録することで、SkyWay内部のログを取得することができます。

以下に例を示します。

Logger.onLogHandler = { logLevel: Logger.LogLevel, s: String -> Log.d("skyway-log", "$logLevel $s") }