API - Option

    API - Option


    記事の要約

    ShopLive.setUser

    Shoplive を使用する認証ユーザーを設定します。ユーザー認証を行うには、ユーザー情報を入力してください。

    fun setUser(user: ShopLiveUser)

    サンプルコード

    val user = ShopLiveUser().apply {
    	userId = "testId"
    	userName = "kate"
    	age = 20
    	gender = ShopLiveUserGender.Female
    	userScore = 100
    }
    
    ShopLive.setUser(user)

    enum ShopLiveUserGender

    タイプ

    説明

    Male

    男性

    Female

    女性

    Neutral

    性別を指定しない


    ShopLive.setAuthToken

    Shopliveを使用する認証済みユーザーのセキュリティ認証トークン(JWT)ストリング。ユーザー認証用に認証されたユーザーのセキュリティ認証トークン(JWT)文字列を入力します。

    fun setAuthToken(authToken: String)

    サンプルコード

    val generatedJWT = "eyJhbGciOiJIUzI1NiJ9.eyJleHAiOjE2MTA1NzA1dfadsfasfadsfasdfwO"
    
    ShopLive.setAuthToken(generatedJWT)

    ShopLive.getAuthToken

    Shopliveを使用する認証済みユーザーのセキュリティ認証トークン(JWT)ストリング。ユーザー認証用に認証されたユーザーのセキュリティ認証トークン(JWT)文字列を返します。

    fun getAuthToken(): String
    

    サンプルコード

    Log.d("TAG", "authToken = ${ShopLive.getAuthToken()}")

    ShopLive.setPIPRatio

    PIP 画面モードを開始する際の基本画面倍率です。初回再生後にPIP画面モードに入ると、指定した画面倍率でPIP画面モードに入ります。

    fun setPIPRatio(ratio: ShopLivePIPRatio)

    サンプルコード

    ShopLive.setPIPRatio(ShopLivePIPRatio.RATIO_9X16)

    enum ShopLivePIPRatio

    RATIO_1X1

    1 x 1

    RATIO_1X2

    1 x 2

    RATIO_2X3

    2 x 3

    RATIO_3X4

    3 x 4

    RATIO_9X16

    9 x 16


    ShopLive.setKeepAspectOnTabletPortrait

    タブレットの縦モードでShopliveアスペクト比を設定します。
    true: アスペクト比を維持(デフォルト)
    false: 画面いっぱいに塗りつぶす

    fun setKeepAspectOnTabletPortrait(isKeepAspectOnTabletPortrait: Boolean)

    パラメータ

    説明

    isKeepAspectOnTabletPortrait

    true:アスペクト比を維持

    false:画面いっぱい

    サンプルコード

    ShopLive.setKeepAspectOnTabletPortrait(true)

    ShopLive.setKeepPlayVideoOnHeadphoneUnplugged

    イヤホン(またはヘッドセット)の接続が切断されたときに動画が停止します。ただし、必要に応じて動画を再生し続けることができ、ミュート状態で処理できます。

    • Bluetoothイヤホン(またはヘッドセット)が切れたときに無音に変更するsetKeepPlayVideoOnHeadphoneUnplugged(true, true) に設定するには、AndroidManifest.xmlに BLUETOOTH_CONNECT を宣言した後、放送に入る前にまずランタイム権限を許可する必要があります。

    <uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />
    fun setKeepPlayVideoOnHeadphoneUnplugged(isKeepPlayVideoOnHeadphoneUnplugged: Boolean)
    fun setKeepPlayVideoOnHeadphoneUnplugged(isKeepPlayVideoOnHeadphoneUnplugged: Boolean, isMute: Boolean)

    パラメータ

    説明

    isKeepPlayVideoOnHeadphoneUnplugged

    true: 動画を再生し続ける

    false: 動画の一時停止

    isMute

    true: システムボリュームのミュート処理

    false: システムボリュームの再生を維持

    サンプルコード

    // イヤホン(またはヘッドセット)の接続が切断されたときに動画を一時停止するように設定する
    ShopLive.setKeepPlayVideoOnHeadphoneUnplugged(false)
    
    // イヤホン(またはヘッドセット)の接続が切断されたときに動画を継続再生するように設定します。
    ShopLive.setKeepPlayVideoOnHeadphoneUnplugged(true)
    
    // イヤホン(またはヘッドセット)の接続が切断されたときに動画を継続再生するように設定し、ミュート処理します。
    ShopLive.setKeepPlayVideoOnHeadphoneUnplugged(true, true)

    ShopLive.setAutoResumeVideoOnCallEnded

    通話終了後に動画に戻ると、動画が再生され続けます。
    ただし、必要に応じて動画を一時停止するように設定できます。

    Androidの権限要求が必要なAPI

    必要な権限 : READ_PHONE_STATE

    fun setAutoResumeVideoOnCallEnded(isAutoResumeVideoOnCallEnded: Boolean)

    パラメータ

    説明

    isAutoResumeVideoOnCallEnded

    true: 動画を再生し続ける

    false: 動画の一時停止

    サンプルコード

    ShopLive.setAutoResumeVideoOnCallEnded(true)

    ShopLive.setShareScheme

    [共有]を選択したときに渡す URL もしくは scheme を設定します。

    パラメータ

    説明

    shareUrl

    共有する scheme もしくは URL

    サンプルコード

    val scheme = "shoplive://live" // or "https://shoplive.cloud/live"
    
    ShopLive.setShareScheme(scheme)

    ShopLive.setLoadingProgressColor

    映像読み込み時のプログレスバーの色を設定します。

    fun setLoadingProgressColor(@ColorInt colorInt: Int)

    field

    type

    colorInt

    ColorInt

    プログレスバーに設定する色

    サンプルコード

    ShopLive.setLoadingProgressColor(Color.WHITE)

    ShopLive.setLoadingAnimation

    ムービーロードプログレスバーをイメージアニメーションに設定します。

    fun setLoadingAnimation(animationDrawable: Int)

    パラメータ

    説明

    animationDrawable

    イメージ配列リソース

    サンプルコード

    // 画像アニメーションの設定
    ShopLive.setLoadingAnimation(R.drawable.progress_animation)
    
    // 画像のアニメーションを解除する
    ShopLive.setLoadingAnimation(0)

    ShopLive.setChatViewTypeface

    チャットフォントとチャット転送ボタンフォントを設定します。

    • チャットフォントとチャット送信ボタンフォントの両方を適用するには、 setChatViewTypeface(typeface) 関数を呼び出します。

    fun setChatViewTypeface(typeface: Typeface)

    パラメータ

    説明

    typeface

    チャットフォントとチャット転送ボタンフォントを共通に設定するフォント

    サンプルコード

    val nanumGothic = resources.getFont(R.font.nanumgothic)
    val nanumGothicBold = resources.getFont(R.font.nanumgothicbold)
    
    ShopLive.setChatViewTypeface(nanumGothic)

    ShopLive.setEnterPipModeOnBackPressed

    動画視聴中、戻るボタンを選択(タップ)して画面を抜けると、動画が終了します。ただし、このオプションを使用してPIP画面モードに切り替えて動画を視聴し続けることができます。

    fun setEnterPipModeOnBackPressed(isEnterPipModeOnBackPressed: Boolean)

    パラメータ

    説明

    isEnterPipModeOnBackPressed

    true: PIP画面モードに切り替える

    false: 動画を終了

    サンプルコード

    ShopLive.setEnterPipModeOnBackPressed(true)

    ShopLive.close

    視聴中の放送を終了します。

    fun close()

    サンプルコード

    ShopLive.close()
    

    ShopLive.setAutoCloseWhenAppDestroyed

    ルートアクティビティが終了しても放送が終了しないように設定することができます。

    このオプションを使用する理由は、 Intent.FLAG_ACTIVITY_NEW_TASK オプションを使用してルートアクティビティを再実行させると放送が終了する可能性があるため、アプリが終了する適切なタイミングで ShopLive.close 関数を直接呼び出して終了できるようにするためです。

    • デフォルト: 自動終了

    • 設定しない場合、アプリが終了すると、放送も一緒に終了します。

    fun setAutoCloseWhenAppDestroyed(isAutoClose: Boolean)

    パラメータ

    説明

    isAutoClose

    true:アプリ終了時の放送終了(デフォルト)

    false:アプリ終了時に放送終了しない

    サンプルコード

    ShopLive.setAutoCloseWhenAppDestroyed(false)

    ShopLive.startPictureInPicture

    全画面モードからPIP画面モードに切り替えます。

    fun startPictureInPicture()

    サンプルコード

    ShopLive.startPictureInPicture()

    ShopLive.stopPictureInPicture

    PIP画面モードを全画面モードに切り替えます。

    fun stopPictureInPicture()

    サンプルコード

    ShopLive.stopPictureInPicture()

    ShopLive.getStatus

    現在Shoplive Playerの画面状態です。

    fun getStatus(): Status

    enum Status

    状態

    説明

    None

    ステータスなし

    PIP

    PIP モード

    Full

    全画面モード

    サンプルコード

    Log.d("TAG", "status = ${ShopLive.getStatus()}")

    ShopLive.isShowingPreviewPopup

    現在 Shoplive Preview エントリに成功したときに配信される情報です。

    fun isSuccessCampaignJoin(): Boolean

    サンプルコード

    Log.d("TAG", "isShowingPreviewPopup = ${ShopLive.isShowingPreviewPopup()}")

    ShopLive.isSuccessCampaignJoin

    放送進入に成功したときに配信される情報です。

    fun isSuccessCampaignJoin(): Boolean

    サンプルコード

    Log.d("TAG", "isSuccessCampaignJoin = ${ShopLive.isSuccessCampaignJoin()}"

    ShopLive.sendCommandMessage

    サーバーにコマンドとペイロードを渡します。事前定義された形式の command, payload を渡すことができます。(または、Shopliveと協議してコマンドとペイロードを定義できます。)

    fun sendCommandMessage(command: String, payload: String)

    パラメータ

    説明

    command

    事前定義済み command

    payload

    事前定義済み payload

    サンプルコード

    val command = “COMMAND_NAME”
    val payload = JSONObject()
      
    payload.put(“Int_Data”, 1)
    payload.put(“String_Data”, “Sample_String”)
      
    ShopLive.sendCommandMessage(command, payload.toString())

    ShopLive.setMuteWhenPlayStart

    Shoplive Playerの起動時にサウンドをオンにするかミュートするように設定します。(デフォルト:サウンドがオンの状態でShoplive Playerを起動します。)

    fun setMuteWhenPlayStart(isMute: Boolean)

    パラメータ

    説明

    isMute

    ミュートを設定するかどうか

    true:ミュートで始まる

    false: サウンドをオンにして起動

    サンプルコード

    // Shoplive Playerの起動時にミュートするように設定します。
    ShopLive.setMuteWhenPlayStart(true)
    
    // Shoplive Playerの起動時にサウンドをオンにするように設定します。
    ShopLive.setMuteWhenPlayStart(false)

    ShopLive.setAppVersion

    アプリのバージョンを設定します。API を呼び出さなくても、デフォルトでアプリのバージョンを読み取り、サーバーに渡されます。この機能を使用するには、Shopliveの担当者にお問い合わせください。

    fun setAppVersion(appVersion: String)

    パラメータ

    説明

    appVersion

    アプリのバージョン

    サンプルコード

    val appVersion: String = “1.0.0”
    ShopLive.setAppVersion(appVersion)

    ShopLive.setVisibleStatusBar

    画面のStatusBarの非表示にすることができます。

    fun setVisibleStatusBar(isVisible: Boolean)

    パラメータ

    type

    説明

    isVisible

    Boolean

    ステータスバーの非表示の有無を設定します

    true:ステータスバーを表示(デフォルト)

    false:ステータスバーを隠す

    *サンプルコード

    ShopLive.setVisibleStatusBar(true)

    ShopLive.setSystemBarColor

    画面のSystemBarの色を変更できます。

    fun setSystemBarColor(data: ShopLivePlayerSystemBarColorData)

    field

    type

    説明

    data

    ShopLivePlayerSystemBarColorData

    SystemBar カラー data

    ShopLivePlayerSystemBarColorData

    field

    type

    description

    statusBarColor

    ColorInt

    StatusBarの色を変更できます。

    デフォルト ShopLivePlayerSystemBarColorData.DEFAULT_COLOR

    navigationBarColor

    ColorInt

    SystemBarの色を変更できます。

    ShopLivePlayerSystemBarColorData.DEFAULT_COLOR

    サンプルコード

    // StatusBar 透明 example
    ShopLive.setSystemBarColor(ShopLivePlayerSystemBarColorData().apply {
        statusBarColor = Color.TRANSPARENT
    })

    ShopLive.setSoundFocusHandling

    ビデオ再生中に電話がかかったり、他のアプリのプレーヤーを使用してサウンドを奪われた場合は、イベントを受け取って直接処理できます。

    fun setSoundFocusHandling(listener: OnAudioFocusListener?)

    パラメータ

    説明

    listener

    AudioFocusListener

    サンプルコード

    ShopLive.setSoundFocusHandling(object : OnAudioFocusListener {
        override fun onGain() {
            ShopLive.unmute()
        }
    
        override fun onLoss() {
            ShopLive.mute()
        }
    })

    ShopLive.showDialogFragment

    Shoplive Player 画面にユーザーの DialogFragmentを表示するために使用します。

    fun showDialogFragment(dialogFragment: DialogFragment)

    パラメータ

    説明

    dialogFragment

    ユーザーの DialogFragment

    サンプルコード

    override fun handleNavigation(context: Context, url: String) {
        val nexcActionType = "{your_action_type}"
        when(nexcActionType) {
            ShopLive.ActionType.KEEP -> {
                ShopLive.showDialogFragment(WebViewDialogFragment(url))
            }
        }            
    }

    ShopLive.closeDialogFragment

    ShopLive.showDialogFragment(fragment)と表示されたダイアログを終了します。

    fun closeDialogFragment()\

    サンプルコード

    ShopLive.closeDialogFragment()

    ShopLive.setPlayerScreenCaptureEnabled

    放送画面のスクリーンショットを防ぐことができます。

    fun setPlayerScreenCaptureEnabled(isEnabled: Boolean)

    パラメータ

    説明

    isEnabled

    true:画面キャプチャ機能を有効
    false:画面キャプチャ機能を無効にする

    // 画面キャプチャを無効にする
    ShopLive.setPlayerScreenCaptureEnabled(false)
    
    // 画面キャプチャを有効にする
    ShopLive.setPlayerScreenCaptureEnabled(true)

    ShopLive.setMixWithOthers

    外部音声が再生されると、放送の音声を設定できます。

    fun setMixWithOthers(isMixAudio: Boolean)

    パラメータ

    説明

    isMixAudio

    true : 外部オーディオと共に放送視聴
    false : 外部オーディオが再生されると Player は一時停止 (デフォルト:true)

    // 外部オーディオが再生されるとPlayerは一時停止します。
    ShopLive.setMixWithOthers(false)
    
    // 外部オーディオと一緒に放送を視聴する
    ShopLive.setMixWithOthers(true)

    ShopLive.setUtmSource

    UTM Source をトラッキングできます。データはデータインサイトで確認できます。 

    fun setUtmSource(utmSource: String)

    パラメータ

    説明

    utmSource

    その流入がどこで発生したかを伝えます。

    サンプルコード

    ShopLive.setUtmSource(“{utm_source}”)

    ShopLive.setUtmMedium

    UTM Medium をトラッキングできます。データはデータインサイトで確認できます。 

    fun setUtmMedium(utmMedium: String)

    パラメータ

    説明

    utmMedium

    その流入がどのように発生したかを伝えます。Googleでは、メディアパラメータを流入が誘導されたマーケティング方法を指すように設定することをお勧めします。(ex. cpc, banner, email, blog, social etc.)

    サンプルコード

    ShopLive.setUtmMedium(“{utm_medium}”)

    ShopLive.setUtmCampaign

    UTM Campaign をトラッキングできます。データはデータインサイトで確認できます。 

    fun setUtmCampaign(utmCampaign: String)

    パラメータ

    説明

    utmCampaign

    どの広告のキャンペーンに流入が発生したかを伝えます。Campaign Name、Campaign Term、Campaign Content に分けて作成できます。

    サンプルコード

    ShopLive.setUtmCampaign(“{utm_campaign}”)

    ShopLive.setUtmContent

    UTM Content をトラッキングできます。データはデータインサイトで確認できます。

    fun setUtmContent(utmContent: String)

    パラメータ

    説明

    utmContent

    その流入がどのような内容の投稿/広告によって発生したかを伝えます。主に campaign パラメータの下位区分としてよく使用されます。

    サンプルコード

    ShopLive.setUtmContent(“{utm_content}”)

    ShopLive.addParameter

    プレーヤーを実行する前にカスタムデータを追加できます。

    fun addParameter(key: String, value: String)

    パラメータ

    説明

    key

    追加するカスタムパラメータのキー

    value

    追加するカスタムパラメータの値

    サンプルコード

    ShopLive.addParameter(“{key}”, “{value}”)

    ShopLive.removeParameter

    プレーヤーを実行する前にaddParameterで追加したカスタムデータを削除します。

    fun removeParameter(key: String)

    パラメータ

    説明

    key

    削除するパラメータキー

    サンプルコード

    ShopLive.removeParameter(“{key}”)

    ShopLive.setNextActionOnHandleNavigation

    ユーザーが商品、お知らせ、バナーなどのリンクを選択したとき、Shoplive Playerの次の動作を設定します。

    fun setNextActionOnHandleNavigation(type: ActionType)

    enum ActionType

    パラメータ

    説明

    PIP

    PIP 切り替え

    KEEP

    状態を維持

    CLOSE

    終了

    サンプルコード

    ShopLive.setNextActionOnHandleNavigation(ActionType.PIP)

    ShopLive.setEndpoint

    Shoplive Player の Web Landing ページではなく、特定の Landing ページまたは URL で Shoplive サービスを使用する必要がある場合に使用します。
    たとえば、セキュリティのためにShoplive Landingページを使用できない場合は、特定のドメインでLandingページを作成できます。

    ※Shoplive PlayerのWeb LandingページはShopliveと協議後に適用できます。

    fun setEndpoint(url: String)

    パラメータ

    説明

    url

    Shoplive PlayerのWebランディングURL

    サンプルコード

    ShopLive.setEndpoint("https://www.your_landingpage.com/")


    What's Next