iOS 開発ガイド

最終更新 v2.0 2021.03.12 iOS SDK Sequence Diagram


 目次



Kollus SDK 概要

iOSデバイス (iPhoneまたはiPad端末機器)でKollusPlayerを生成、使用するために提供しているソフトウェア開発キット(SDK)です。
このSDKはCocoa ApplicationのUIView形式に基づいて制作されています。そのためSDKを使用する際にはUIView形式のクラスに該当する"KollusPlayerView"を生成し、画面上のサブビュー形態で挿入する必要があります。
アプリケーションに"KollusPlayerView"のメソッドを使用して動画再生に関わる一連の作業を行うこと形になります。
この文書では作業の流れのみ説明しています。他のメソッドにつきましてはiOS SDKから確認してください。

Kollus SDKの構成

KollusStorageとKollusPlayerViewクラスで構成されています。

  • KollusStorage
    •  以下の作業を行います。
      • Kollus SDKの認証処理
      • コンテンツ情報を取得
      • コンテンツをダウンロード
      • コンテンツを削除
      • キャッシュデータの管理
  • KollusPlayerView
    • 再生に関わる作業を行います。
      • コンテンツ再生 (ストリーミング, ダウンロード)
      • ブックマーク情報取得
      • ブックマークの登録と削除

コンテンツ再生の手順

  1. KollusStorageの生成及び起動
  2. KollusPlayerViewの生成
  3. 生成されたKollusPlayerViewに1.のKollusStorageを設定

KollusStorage

ストレージ生成

KollusStorageオブジェクトの生成及び起動のプロセス

  1. アプリケーション側でKollusStorageのinitメソッドを使用してKollusStorageを生成する。
  2. KollusStorageは生成されたidをリターンする。
  3. アプリケーション側でKollusStorageのsetApplicationKeyメソッドを使用して認証キーを設定する。
  4. アプリケーション側でKollusStorageのsetApplicationBundleIDメソッドを使用してBundle IDを設定する。
  5. アプリケーション側でKollusStorageのsetApplicationExpireDateメソッドを使用してキーの有効期間を設定する。
  6. アプリケーション側でKollusStorageのstartStorageメソッドをリクエストする。
  7. KollusStorageは3, 4, 5から設定された情報で認証プロセスを行い、認証が正常に処理された場合YESを、認証に失敗した場合NOをリターンする。

    KollusStorageはApplication key, BundleID, expire dateを使用して認証を行います。

    全てが一致しないと認証に失敗するためSDKを使用することができません。

コンテンツダウンロード

KollusStorageでコンテンツをダウンロードするプロセスを説明します。

  1. アプリケーション側でKollusStorageのsetDelegateメソッドを使用してダウンロード状態を取得するデリゲートを設定する。
  2. アプリケーション側でKollusStorageのloadContentURLメソッドを使用してダウンロードするコンテンツのURLを設定する。
  3. KollusStorageはリクエストされたURLに該当するmediaContentKeyをリターンする。
  4. アプリケーション側でKollusStorageのdownloadContentメソッドを使用してコンテンツダウンロードを開始する。
  5. KollusStorageはコンテンツダウンロードが開始してからダウンロード状態が変更される度に1で設定したデリゲートのkollusStorage:downloadContent:error: デリゲートメソッドをリクエストする。

    コンテンツダウンロードはKollusStorageの認証が完了してから使用可能です。

    ストレージ生成プロセスを正常に完了してからコンテンツダウンロードを試してください。

コンテンツ削除 (ダウンロード)

ダウンロードされているコンテンツを削除するプロセスを説明します。

  1. アプリケーション側でremoveContent:error:メソッドを使用してKollusStorageに指定したmediaContentKeyに該当するコンテンツの削除をリクエストします。ここで渡すパラメータはKollusContent.mediaContentKeyを使用します。
  2. KollusStorageは該当するコンテンツの削除結果をアプリケーション側にリターンします。(YES or NO)

キャッシュデータ削除

ストリーミング再生に使用したキャッシュデータを削除するプロセスを説明します。

  1. KollusStorageにremeoveCacheWithErrorメソッドを使用して現在保存されているキャッシュデータの削除をリクエストします。
  2. KollusStorageはキャッシュデータ削除の結果をアプリケーション側にリターンします。(YES or NO)

    removeCacheWithErrorメソッドをリクエストする時点にがストリーミング再生中のコンテンツが存在する場合、該当コンテンツのキャッシュデータは削除されません。


KollusPlayerView

コンテンツ再生 (ストリーミングコンテンツ)

ストリーミングコンテンツを再生するプロセスを説明します。

  1. アプリケーション側でinitWithContentURLメソッドを使用してKollusPlayerViewオブジェクトを生成する。
  2. KollusPlayerViewが生成されたらオブジェクトのIDをリターンする。
  3. アプリケーション側で画面出力に使用するUIViewオブジェクトにaddSubViewメソッドを使用して生成されたKollusPlayerViewオブジェクトを挿入する。
  4. アプリケーション側で事前に生成されているKollusStorageオブジェクトをsetStorageメソッドを使用してKollusPlayerViewに設定する。
  5. アプリケーション側でsetDelegateメソッドを使用してKollusPlayerViewにデリゲートを設定する。
  6. アプリケーション側でprepareToPlayWithError: メソッドを使用して1で入力された情報に該当するコンテンツの再生準備作業をリクエストする。
  7. KollusPlayerViewはコンテンツ準備作業に成功 (完了) または失敗 (エラー) を取得し、5で設定したデリゲートにprepareToPlayWithError: デリゲートメソッドをリクエストして再生準備結果を転送する。
  8. コンテンツ再生準備作業が完了するとアプリケーション側でplayWithErrorメソッドを使用してコンテンツ再生をリクエストする。
  9. KollusPlayerViewはコンテンツ再生を開始する作業が完了またはエラーになった場合、5で設定したデリゲートにplayWithError: デリゲートメソッドをリクエストしてコンテンツ再生開始結果を転送する。

    prepareToPlayWithError, playWithError メソッドはasync typeで、プロセス完了された時点に結果をデリゲートに転送されます。そのためメソッドの作業結果を取得する場合にはデリゲートに設定されたオブジェクトに以下のデリゲートメソッドを事前に作成する必要があります。

    • kollusPlayerView:prepareToPlayWithError:
    • kollusPlayerView playWithError:

    デリゲートメソッドの定義はKolluPlayerDelegate.hファイルを確認してください。

コンテンツ再生 (ダウンロードコンテンツ)

ダウンロードされたコンテンツを再生するプロセスを説明します。

  1. アプリケーション側でinitメソッドを使用してKollusPlayerViewオブジェクトを生成する。
  2. KollusPlayerViewが生成されたらオブジェクトのIDをリターンする。
  3. アプリケーション側で画面出力に使用するUIViewオブジェクトにaddSubViewメソッドを使用して生成されたKollusPlayerViewオブジェクトを挿入する。
  4. アプリケーション側でsetContentIndexメソッドを使用して再生するコンテンツのIndexをKollusPlayerViewに設定する。
  5. アプリケーション側で事前に生成されているKollusStorageオブジェクトをsetStorageメソッドを使用してKollusPlayerViewに設定する。
  6. アプリケーション側でsetDelegateメソッドを使用してKollusPlayerViewにデリゲートを設定する。
  7. アプリケーション側でprepareToPlayWithError: メソッドを使用して1で入力された情報に該当するコンテンツの再生準備作業をリクエストする。
  8. KollusPlayerViewはコンテンツ準備作業に成功 (完了) または失敗 (エラー) を取得し、5で設定したデリゲートにprepareToPlayWithError: デリゲートメソッドをリクエストして再生準備結果を転送する。
  9. コンテンツ再生準備作業が完了するとアプリケーション側でplayWithErrorメソッドを使用してコンテンツ再生をリクエストする。
  10. KollusPlayerViewはコンテンツ再生を開始する作業が完了またはエラーになった場合、5で設定したデリゲートにplayWithError: デリゲートメソッドをリクエストしてコンテンツ再生開始結果を転送する。

    prepareToPlayWithError, playWithError メソッドはasync typeで、プロセス完了された時点に結果をデリゲートに転送されます。そのためメソッドの作業結果を取得する場合にはデリゲートに設定されたオブジェクトに以下のデリゲートメソッドを事前に作成する必要があります。

    • kollusPlayerView:prepareToPlayWithError:
    • kollusPlayerView playWithError:

    デリゲートメソッドの定義はKolluPlayerDelegate.hファイルを確認してください。

ブックマーク情報の取得

再生するコンテンツに登録されているブックマークを取得するプロセスを説明します。

  1. アプリケーション側でKollusPlayerViewのsetBookmarkDelegateメソッドを使用してブックマーク関連情報を取得するデリゲートを設定します。
  2. KollusPlayerViewはコンテンツを初期化する間にkollusPlayerView:bookmark:enabled:error: メソッドを使用して該当コンテンツのブックマーク情報を1で設定したデリゲートにリターンします。
  3. デリゲートにリターンされるbookmarkにはNSArray形式のKollusBookmarkが含まれます。

    ブックマーク関連処理はKollusPlayerViewのコンテンツ再生準備作業段階で行われるため、正常な結果を得るためにはsetBookmarkDelegateメソッドはコンテンツ再生準備 (prepareToPlayWithError)をリクエストする前にリクエストしなければなりません。

ブックマーク登録

コンテンツを再生する途中にユーザーがブックマークを登録した際の処理プロセスを説明します。

  1. アプリケーション側でKollusPlayerViewのaddBookmark:value:error: メソッドを使用してブックマークの登録をリクエストします。
  2. KollusPlayerViewはリクエストに対した処理結果をアプリケーション側にリターンします。

    Indexブックマークは顧客が管理画面から登録しているものでユーザー側に登録/削除する権限がありません。アプリケーション側からKollusPlayerViewを使用して登録/削除リクエストができる対象はユーザーブックマークのみになります。

    既にユーザーブックマークが登録されている位置(position: 時間)に新たな登録のリクエストが発生した場合、既存のブックマークは削除されて後にリクエストした情報で入れ替わります。

ブックマーク削除

コンテンツを再生する途中にユーザーがブックマークを削除した際の処理プロセスを説明します。

  1. アプリケーション側でKollusPlayerViewのaddBookmark:value:error: メソッドを使用して削除するブックマークの位置(position: 時間)をリクエストします。
  2. KollusPlayerViewはリクエストに対した処理結果をアプリケーション側にリターンします。

    Indexブックマークは顧客が管理画面から登録しているものでユーザー側に登録/削除する権限がありません。アプリケーション側からKollusPlayerViewを使用して登録/削除リクエストができる対象はユーザーブックマークのみになります。

Copyright © CATENOID, lnc. All Rights Reserved.
E-mail. jp_sales@catenoid.net | Tel. 03-4405-8462