Background Notificationで新聞紙面の大きい画像の自動ダウンロードを実現する by Takagi Go

iOSDC Japan 2020
採択
2020/09/20 10:50〜
Track A
レギュラートーク(20分)

Background Notificationで新聞紙面の大きい画像の自動ダウンロードを実現する

shimastriper Takagi Go shimastriper

定期的に配信されるコンテンツがあるサービスでは、自動ダウンロードの機能がより良いユーザー体験を提供します。
ユーザーは常に安定した通信環境にいるとは限らず、大きいコンテンツの取得には通信的な負荷もかかります。
例えば、新聞紙面の画像はサイズが大きい複数枚の画像で構成されており、ダウンロードには多くの通信量や実行時間が必要となります。
あらかじめ大きいコンテンツを自動でダウンロードしておく仕組みは、ユーザーがアプリを継続的に利用するにあたり非常に重要な役割を担います。

iOSではバックグラウンドでコンテンツをダウンロードするためのAPIが複数用意されています。
しかし、バックグラウンドでタスクを動かすタイミングや時間はOSによって制御されており、ユーザーが調整できる箇所は限られています。
それぞれのAPIが抱える制約を理解し、コンテンツの性質に応じて適切な選択をしなければなりません。

本セッションでは、大きい画像コンテンツを対象にした自動ダウンロード機能について説明します。
実装の過程で直面した問題への対策やアプリやサーバーサイドを含めた全体のアーキテクチャを解説するとともに、日本経済新聞 紙面ビューアーにおける新聞紙面画像での運用事例を紹介します。
大規模サービスにおける運用を通じて得られた安定して自動ダウンロードを成功させるための課題の解決方法を説明します。