EvoQuest

業務アプリ・DX

電波が届かない場所でも、アプリは使える?

使えるように作れます。ただ、圏外で動くかどうかはアプリの作り方で決まり、自動でそうなるわけではありません。圏外でも「見る」「入力して残す」のどこまでをできるようにするかを先に決めておくと、相談も見積もりも進めやすくなります。

この記事でわかること

  • 多くのアプリは、画面を開くたびに通信でデータを取りに行きます。圏外で止まるのはそのためです。
  • オフラインで使えるアプリは、データの控えを端末の中に持ち、まずその控えで画面を出したり、入力を保存したりします。電波が戻ってからサーバーとやりとりします。
  • 圏外で「見る」「入力して残す」「その場で確定する」のどれをできるようにするかで、作り方と手間が変わります。
  • 電波が戻ったとき、2人が同じ記録を直していると食い違いが起きます。どちらを残すかは作る前に決めておきます。
  • 相談のときは、どこで・どれくらいの時間圏外になるか、圏外で何をしたいかを伝えると話が早く進みます。

なぜ圏外だとアプリが止まるのか

予約の一覧や日報の入力画面のように、みんなで同じデータを使うアプリは、データをインターネットの向こうのサーバーに置いています。画面を開くたびにサーバーへ取りに行き、保存するたびにサーバーへ送ります。電波がなければ取りにも送りにも行けないので、画面が出なかったり、保存できなかったりします。

オフラインで使えるアプリは、この順番を変えて作ります。前に通信できたときのデータの控えを端末の中に持っておき、画面はまずその控えから出します。入力したものもいったん端末に保存し、電波が戻ってからサーバーに送ります。

Androidアプリの作り方をまとめたGoogleの開発者向け資料では、こうしたアプリを「オフラインファースト」と呼び、インターネットにつながらなくても主な機能のすべて、または大事な一部が使えるアプリと説明しています。通信が遅い、エレベーターやトンネルで一時的に途切れる、Wi-Fiでしか通信しないタブレットを使っている、といった場面を例に挙げています。

圏外で何をしたいかを3つに分ける

「オフラインで使えるように」とひとことで言っても、圏外でしたいことによって作り方が違います。次の3つに分けて考えると、必要なものが見えてきます。

見る

作業の予定、お客さんの住所、点検する項目の一覧などを、圏外でも開けるようにします。上の資料では、ネットなしでデータを表示できることを、オフラインファーストと呼べる最低限の条件にしています。表示されるのは最後に通信したときの控えなので、いつ時点の内容かを画面に出しておくと安心です。

入力して残す

記録や写真をいったん端末に保存し、電波が戻ってから送ります。同じ資料は、やることリストのアプリを例に、利用者が圏外で追加した内容を失わないよう先に端末へ保存する方法を、大事なデータに向く方法として挙げています。送れていない記録が何件あるかを画面に表示しておくと、送り忘れに気づけます。

その場で確定する

同じ資料は、銀行の振り込みのようにその場で確定させる必要がある操作は、通信できるときだけ行い、圏外では入力できないようにするか、圏外であることを知らせる方法を挙げています。予約の受付や残りの数を取り合う注文のように、ほかの人の操作と重なるものも、当社はこちらに入れて考えます。

圏外の時間が長いと、端末に持つデータが増える

地下の機械室に10分入るだけなのか、山あいの現場で半日つながらないのかで、端末に持たせるデータの量が変わります。

上の資料は、画面を開いたときにその画面の分だけ取りに行く方式は、短い時間の圏外を想定するなら向いているものの、圏外が長いと控えが古いか空のまま開くことになりやすいと説明しています。長く圏外でも使うなら、最初にまとめてデータを端末に入れておき、そのあとは変わった分だけを受け取る方式にします。こちらは長い時間のオフラインに強いかわりに、作る手間が増えます。

写真を何枚も撮る使い方なら、端末の空き容量と、電波が戻ったときに送るデータの量も考えておきます。

電波が戻ったときに起きる食い違い

電波が戻ったとき、端末の控えとサーバーの内容を合わせる作業を「同期」といいます。2人がそれぞれ圏外で同じ記録を直していると、どちらの内容を残すかで食い違いが起きます。

上の資料では、スマホアプリでよく使われる方法として「後から書いたほうを残す」を紹介しています。端末が書いた時刻を一緒に送り、サーバーは新しいほうを残します。分かりやすい一方で、先に直した人の変更は消えます。

仕事で使うアプリでそれが困るなら、同じ記録を直す人を1人に決める、食い違った記録を一覧に出して人が選ぶ、といった決め方もできます。どれにするかは使い方で変わるので、作り始める前に決めておきます。

ブラウザで開くWebアプリの場合

ここまではAndroidの資料をもとに説明しましたが、「控えを端末に持ち、電波が戻ったら合わせる」という考え方はiPhoneのアプリでも、ブラウザで開くWebアプリでも同じです。

Webアプリの場合は、サービスワーカーという仕組みで画面の部品やデータを端末に保存しておくと、圏外でも開けるようになります。ただしブラウザが端末に保存したデータを消すことがあるため、大事な記録は早めにサーバーへ送る作りにします。詳しくはPWAとは? ホーム画面から開けるWebアプリで説明しています。

相談の前に確かめておくこと

次のことが分かっていると、どこまでオフラインに対応するかを決めやすくなります。分からない項目があっても相談はできます。

オフラインへの対応は、作る範囲が広がる分だけ費用にも関わります。費用が何で決まるかは札幌でアプリを作るといくらかかるのかで整理しています。

どこで電波が切れるか

地下、山あい、倉庫の奥、移動中の車内など。実際にその場所でスマホのアンテナ表示を見ておくと確実です。

どれくらいの時間か

数分なのか、半日なのか。圏外のまま次の現場へ移るのか、事務所に戻れば必ずつながるのか。

圏外で何をしたいか

上の「見る」「入力して残す」「その場で確定する」のどれか。写真を撮るなら、1回に何枚くらいか。

同じ記録を何人で触るか

1件の記録を1人だけが入力するのか、現場と事務所の両方で直すことがあるのか。

自分で試してみるなら

今使っているアプリを、スマホを機内モードにして開いてみてください。前に見た画面が出るもの、何も表示されないもの、入力はできて後で送られるものと、アプリによって違いがあることが分かります。

「このアプリのように圏外でも入力できるとよい」と例を挙げてもらえると、作りたいものを伝える手がかりにもなります。

この記事を書いた人

立石伊吹代表取締役 / DX・AIアドバイザー

北海道札幌市を拠点に、業務アプリやAIの開発を行っています。北海道内は直接うかがい、道外はオンラインで対応しています。専門用語を使わず、相手の言葉で話すことを大事にしています。

圏外で使う場面から、作り方を一緒に決めます。

どこで電波が切れるか、そこで何をしたいか。それが分かれば、どこまでオフラインに対応するかと、費用と期間の目安をお伝えできます。仕様書がなくても大丈夫です。

圏外で使うアプリを相談する (新しいタブで開きます)

メールでのお問い合わせ:info@evoquest.jp 解説記事一覧へ戻る

EvoQuest

AI相談窓口

EvoQuestについて、
気になることを聞いてください。

サービスの内容や制作実績、
費用の目安などをご案内します。

AIが回答します。個人情報・機密情報は入力しないでください。入力内容は回答のためにAI提供元へ送信されます。利用について(新しいタブ)

直接お問い合わせ

会話はこのタブに一時保存されます。