7. ダウンロードコンテンツの削除
このドキュメントは機械翻訳で作成された下書きであり、現在レビュー中です。機械翻訳の特性上、一部の内容が不正確であったり、韓国語の原文と異なる場合があります。より正確な情報については、韓国語のドキュメントをご参照ください。
オフラインストレージに保管されたダウンロードコンテンツファイルを安全に削除し、ディスク容量を確保するための制御方法を説明します。
このドキュメントのすべてのサンプルコードは、公式サンプルアプリ kollus_player_v2_android をもとに作成されています。
シングルコンテンツの削除
unload メソッドを使用して、メモリバッファとローカルディスクに保存されたコンテンツファイルを同時にクリーンアップします。
KollusStorage storage = multiKollusContent.getKollusStorage();
String mck = multiKollusContent.getKollusContent().getMediaContentKey();
storage.unload(mck); // Initiates the process of releasing task memory and removing physical files.
unload メソッドの動作
unload は使用目的に応じて、以下の 2 つの制御コマンドを同時に実行します。
- ダウンロード完了状態のとき: ローカルディスクに保存されたオフラインメディアファイルを完全に削除します。
- ダウンロード進行中のとき: 進行中のバックグラウンド転送タスクセッションを即座にキャンセルし、一時フラグメントファイルをクリーンアップします。
ダウンロードコンテンツの全削除
全ディスクリストの照会により取得したすべてのダウンロードコンテンツオブジェクトを順に処理し、unload プロセスを連続して実行します。
パラメーターに -1 を指定すると、接続されているすべてのディスクのコンテンツを一括でロードします。
ArrayList<MultiKollusContent> all = multiStorage.getDownloadList(-1);
for (MultiKollusContent c : all) {
KollusStorage st = c.getKollusStorage();
st.unload(c.getKollusContent().getMediaContentKey());
}
失効コンテンツの自動クリーンアップ
SDK が DRM コールバック kind: 2、kind: 3 のレスポンスとして、バックグラウンド環境でメディアファイルを自動削除するケースが存在します。
MultiKollusPlayerDRMListener.onDRMInfo コールバックで DCB_INFO_DELETE(強制削除)シグナルが到着したとき、SDK はすでにローカルファイルを削除済みの状態です。
SDK がファイルを先に削除した後にアプリへ 事後通知する構造であるため、アプリレイヤーでは別途削除 API を呼び出す必要はなく、UI リストのリフレッシュ(Refresh)のみで対応できます。
デバイスストレージ不足時の例外処理
デバイスのディスク残余容量が不足している場合、SDK が任意に他の完了済みファイルを強制クリーンアップしたり、自ら空き容量を確保したりすることはありません。 ダウンロード開始前に容量をチェックしてユーザーのアクションを促す、防御的なコードパターンを推奨します。
- 事前容量制限チェック: ダウンロード開始直前に「利用可能容量 < (コンテンツファイルサイズ + 150MB)」の条件を検証し、閾値を下回る場合はダウンロードを拒否して「デバイスのストレージ容量不足」案内ダイアログを表示します。
- クリーンアップオプションの提供: ユーザーの利便性のために、画面内に「直近 30 日間視聴していないファイルを整理」または「視聴済みコンテンツを一括削除」などのメニューを提供することをお勧めします。