API: ShopLive Preview

    API: ShopLive Preview


    記事の要約

    プレビューはShopLivePlayerPreview から直接実装できます Shopliveが提供するコンポーネント。

    class ViewController : UIViewController {
        let preview = ShopLivePlayerPreview()
        override func viewDidLoad() { 
            super.viewDidLaod()
            self.view.addSubView(preview)
            preview.translatesAutoresizingMaskIntoConstraints = false
            NSLayoutConstraint.activate([
                preview.topAnchor.constraint(equalTo: self.topAnchor),
                preview.leadingAnchor.constraint(equalTo: self.leadingAnchor),
                preview.trailingAnchor.constraint(equalTo: self.trailingAnchor),
                preview.bottomAnchor.constraint(equalTo: self.bottomAnchor)
            ])
            setPreview()
        }
    
        func setPreview() { 
            preview.action( .initialize ) 
            preview.action( .start(accessKey : "ACCESS_KEY", campaignKey : "CAMPAIGN_KEY", referrer : "REFERRER(optional)")
        }
    }


    アクションの種類

    ShopLivePlayerPreviewコマンドを呼び出すとき で、.action(.{command})で囲まれています。

    preview.action( .play)
    preview.action( .pause)
    ...

    ケース

    形容

    初期化する

    ShopLivePlayerPreviewの情報を初期化します オブジェクト。次の情報が初期化されます。

    • campaignKey、campaignId、shopLiveSessionId、campaignStatus、resizeMode、useCloseButton

    start(accessKey : String campaignKey : String, リファラー : String?)

    accessKey と CampaignKey をパラメーターとして渡して、プレーヤーを読み込みます。

    setMuted(ブール)

    ShopLivePlayerPreviewミュート状態を設定します で囲まれています。

    setReferrer(文字列?)

    キャンペーンのブロードキャストを追跡できる一意の識別子をパラメーターとして渡します。

    遊ぶ

    キャンペーンを動画として再生します。

    休止

    キャンペーンを一時停止します

    止める

    キャンペーンを停止し、プレーヤーを初期化します。

    閉める

    ShopLivePlayerPreviewを削除します  親ビューからメモリ解放を開始します。

    リトライ

    キャンペーンを再試行します。

    setCornerRadius(CGFLoat)

    ShopLivePlayerPreviewcornerRadiusを設定します で囲まれています。

    useCloseButton(ブール)

    ShopLivePlayerPreview閉じるボタンを有効にするかどうかを設定します  または無効にします。

    setEnabledVolumeKey(ブール)

    ShopLivePlayerPreviewで は、デバイス上の音量ボタンのイベントを有効にするかどうかを設定します。

    setResizeMode(ショップライブリサイズモード)

    ビデオのアスペクト比を設定します。(デフォルト: ShopLiveResizeMode.CENTER_CROP)


    結果の種類

    ShopLivePlayerPreviewで発生するイベントをサブスクライブできます で囲まれています。

    preview.resultHandler = { [weak self] result in 
        switch result { 
            case .log(name : let name, feature : let feature, campaignKey : let campaignKey, payload : let paylaod):
                //handle datas
            .
            .
            .
        }
    
    }

    ケース

    形容

    log(name : String, feature : ShopLiveLog.feature, campaignKey : String, payload : [String : Any]?)

    Shopliveプレーヤーのイベントログを配信します。この情報は、Google Analyticsなどの分析ツールから入手できます。

    handleReceivedCommand(コマンド : 文字列, ペイロード : [文字列 : 任意]?)

    Shoplive iOS SDK の Web からコマンドの情報を配信します。

    avPlayerTimeControlStatus(AVPlayer.TimeControlStatus)

    AVPlayerの現在の再生ステータスを配信します  ShopLivePlayerPreview  変遷。

    avPlayerItemStatus(AVPlayerItem.Status)

    AVPlayerItemの現在のステータスを配信します ShopLivePlayerPreview  変遷。

    requestShowAlertController(UIAlertController)

    UIAlertControllerへの呼び出し時にイベントを配信します  が必要です。

    didChangeCampaignStatus(ショップライブキャンペーンステータス)

    変更した放送状況を変更したときに配信します。

    onError(コード:文字列、メッセージ:文字列)

    ブロードキャスト前またはブロードキャスト中に発生したエラー状況を含むメッセージを配信します。

    onSetUserName(ペイロード : [文字列 : 任意]?)

    ユーザー名が変更されたときに呼び出されます。

    handleShare(ショップライブプレイヤーステートデータ)

    ブロードキャスト中に [共有] ボタンがタブ化されたときに呼び出されます。ShopLivePlayerStateDataの詳細については、次のガイドを参照してください。

    didChangeCampaignInfo([String:Any]?)

    現在の放送の変更情報を配信します。

    didChangeVideoDimension(CGSize)

    ShopLivePlayerPreviewの変更されたアスペクト比を提供します で囲まれています。

    handleShopLivePlayerCampaign(ショップライブプレイヤーキャンペーン)

    Shopliveの放送キャンペーンに関する情報を配信するハンドラです。

    handleShopLivePlayerBrand(ショップライブプレイヤーブランド)

    Shopliveの放送ブランドに関する情報を配信するハンドラです。


    What's Next