キャッシュ機能の更新
以前からニコニコ公式アプリで提供されている節約機能がプレミアム会員限定であることからもHohoemaのキャッシュ機能についても同等の制限があるべきと考え、v1.0.0にてHohoemaにもキャッシュ機能のプレミアム会員限定となるよう変更しました。
それと同時に、v1.0.0以降のHohoemaでキャッシュする動画はHohoemaによって暗号化され、外部の動画プレイヤー等では再生できなくなります。
キャッシュ動画の移行について
過去にキャッシュした動画ファイルは無視します。ファイルについては各自の責任において破棄してください。
Hohoemaアプリのローカルデータベースに存在するキャッシュリクエストについては更新インストール後のアプリ起動時に自動移行が実施され、移行したキャッシュリクエスト毎に当該動画の視聴権とプレミアム会員でのログインが確認できればキャッシュを自動で新規にダウンロードします。
キャッシュダウンロードの動作について
基本的にアプリが起動している状態、かつアプリからオンラインで動画を視聴していない状態でキャッシュのダウンロードを処理します。オンライン視聴とダウンロードは1本しかセッションを許容しない形です。
キャッシュ管理画面の上部に切り替え可能なボタンがあり、これをOFFにするとダウンロードを一時停止できます。ONにすればダウンロード途中のデータを引き継いで再開します。
アプリを閉じた場合にダウンロード中であった場合も、正常にアプリが終了している場合には次回アプリ起動時にデータを引き継いでダウンロードを再開できます。アプリが異常終了した場合やダウンロード処理に異常が発生した場合はダウンロード失敗状態に移行し、手動で再取得が操作された場合に最初からダウンロードし直すよう動作します。(失敗状態のダウンロードは削除操作をするか、手動で取得し直す操作があるまではずっと失敗状態のままです)
キャッシュ可能な動画と視聴について
その時点で視聴可能な動画であればキャッシュ可能です。期間限定無料などの動画もキャッシュできます。
ただし、視聴する時点で視聴する権利がない場合(期間限定無料が終了した等)はキャッシュが再生できません。その確認のためにも キャッシュ動画の視聴はオンライン環境が必須です。
キャッシュ動画の暗号化について
キャッシュした動画は対称暗号化技術によって暗号化され、Hohoemaによってのみ暗号化を解除して視聴できます。
また動画ファイルの改竄チェックのため、暗号化処理を施した動画データ全体からハッシュ値を計算し、動画ファイルと同名のファイル(拡張子が hohoema_cv_hashでサイズが1kb程度)に記録しています。キャッシュ動画を再生する際には記録したハッシュ値と視聴したい動画のハッシュ値を計算して同一であると確認できた場合にのみ視聴可能です。
キャッシュ動画視聴時はハッシュ値の計算のため数秒~数十秒ほど時間が掛かります。
キャッシュの設定について
アプリの設定ページ(アプリ左メニューの下側にあります)を開くとキャッシュ設定があります。
- デフォルトのキャッシュ画質の指定
- モバイル通信でのダウンロードを許可(デフォルトで不許可)
- キャッシュに使用するストレージ容量の指定
- キャッシュ保存先の指定
などが設定できます。
その他の更新点
- 別ウィンドウからマイリストを追加した際にエラーが発生していた問題を解消 (#773)
- ログイン時にフォロー一覧を取得していた動作を削除し、特に起動処理を軽量化
- 動画リスト系ページを開くとアプリのメモリ使用量が際限なく増えていた問題を軽減
- 動画リストの各動画アイテムの詳細をオンライン取得する頻度を抑えて、表示を高速化
- 動画リストアイテムのサムネイル画像に対するフェードイン効果を削除して表示を高速化
- ローカルマイリストのアイテム追加・削除時に別のローカルマイリストに追加されたかのような通知が表示されていた問題を解消