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.Options
の logLevel
を変更します。
設定可能なログレベルと説明については、Android SDK リファレンスを参照してください。
以下にログレベルを VERBOSE
に設定する例を示します。
val option = SkyWayContext.Options(authToken, logLevel = Logger.LogLevel.VERBOSE) SkyWayContext.setup(context, option)
アプリケーション開発時は、不具合の調査やサポートとのやり取りを円滑に行うために、ログレベルを VERBOSE
に設定することをおすすめします。
WebRTCに関するログを表示する
WebRTC 通信による詳細なログを出力するには、SkyWayContext.Options
の webRTCLog
を true
に変更します。
以下に例を示します。
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") }