アンチパターン(よくある間違い)
お知らせ
このドキュメントは機械翻訳で作成された下書きであり、現在レビュー中です。機械翻訳の特性上、一部の内容が不正確であったり、韓国語の原文と異なる場合があります。より正確な情報については、韓国語のドキュメントをご参照ください。
Kollus iOS SDK を連携する際によく発生する誤った実装例(アンチパターン)と、正しい解決方法をまとめました。安定したサービス実装のために、開発前に以下の事項を必ずご確認ください。
モバイルアプリ内で JWT URL を直接生成
アンチパターン
セキュリティーキーが含まれた JWT 署名ロジックをモバイルクライアントアプリ(iOS)のソースコードに直接実装する場合
- 問題点: セキュリティーキーが外部に漏洩する可能性があり、深刻なセキュリティ脆弱性が発生します。
- 正しい方法: JWT は必ずお客様のサーバーで発行した後、モバイルアプリに渡す構造で実装する必要があります。
loadContentURL と checkContentURL メソッドの混用
アンチパターン
新規コンテンツをダウンロードする際に、loadContentURL(_:) の代わりに checkContentURL(_:) メソッドを先に呼び出す場合
- 問題点:
checkContentURL(_:)は既に登録済みのダウンロードリンクとの照合確認のみを行います。未登録の URL を渡すとエラー(throw)が発生するだけで、ダウンロードするコンテンツ情報が登録されません。 - 正しい方法: 新規コンテンツをダウンロードするには、必ず
loadContentURL(_:)を先に呼び出してコンテンツ情報を登録する必要があります。
downloadCancelContent メソッドを一時停止目的で誤用
アンチパターン
コンテンツのダウンロードを一時停止するために downloadCancelContent メソッドを呼び出す場合
- 問題点:
downloadCancelContentはダウンロードをキャンセルする動作であるため、ダウンロード再開時に最初からファイル全体を再ダウンロードする必要があります。 - 正しい方法: 部分再開(続きからダウンロード)機能が必要な場合は、別途の進行状態追跡と合わせて SDK の resume 動作を直接ご確認ください。
DRM 失効コンテンツ再生時にファイル全体を自動再ダウンロード
アンチパターン
DRM ライセンスが失効した際に、動画ファイル自体を再ダウンロードするよう実装する場合
- 問題点: 不要なネットワークトラフィックが発生し、ユーザーのダウンロード待ち時間が長くなります。
- 正しい方法: 動画ファイルの再ダウンロードなしに、
updateDownloadDRMInfoメソッドを呼び出して DRM ライセンスのみを更新すれば問題ありません。詳細については、6. DRM ライセンス更新 のドキュメントを参照してください。