TextGoダウンロード

2024年2月12日月曜日

ピックやドロップ中の駐車車両の安全を見守るリモートモニター機能を追加

ピックやドロップに時間がかかっている時に、駐車したままの車両のことが心配になります。

二台の端末でコンパニオンを使っていて、いつも片方の端末を車両のスマホホルダー等に装着して使われている方向けにリモートモニターという機能を追加しました。

この機能はプロフェッショナルユーザー専用となります。


駐車車両が動いた(加速度センサーが反応した)時や、駐車車両の端末に誰かが触れた(近接センサーが反応した)時に、手持ち側の端末に通知します。また、手持ち端末側からリモート端末のカメラで写真を撮影して送信させたり、カメラが人の顔を検出した時に知らせてくれます。


リモート端末(車両の端末)側の設定

「設定」→「その他」→「リモートモニター」を開きます。

駐車判定

・感度

車両が停止状態にあるとみなす端末の加速度センサーの閾値を設定します。

大きな値にすると鈍感になり、小さな値にすると敏感になります。


・時間(秒)

停車状態が設定した秒以上経過した時に駐車中と判断します。

信号待ちで駐車状態と判断されない程度の時間を設定するのがいいのではないかと思います。


センサー

・移動感知時通知

上記設定にて車両が移動した(駐車状態でなくなった)時に手持ち端末に通知します。

手持ち端末側の情報ウィンドウに「移動中」と表示します。

車両を勝手に移動された時に通知してくれることを意図しています。となると、ピックやドロップを終えて戻ってきた配達員自身が動かした時にも通知してしまいます。


・近接センサー感知時通知

端末には近接センサーが搭載されています。これは通話中に頬等が画面に触れて誤作動しないようにするためのもので、通常、画面の上部にあります。

これを利用すると、端末に手を触れようとした時にも検知できることが多いです。

近接センサーが反応すると、手持ち端末側に通知し情報ウィンドウに「近接感知」と表示します。

誰かが、リモート端末を操作しようとしたり、盗もうとしている状況が想定されます。


カメラ

・駐車時カメラ起動

駐車状態になった時にカメラを自動で起動します。プレビューがオーバーレイのタイトル部分に表示されます。

手持ち端末側から遠隔で写真を撮影させて送信できるようになります。

ただし、カメラをオンにするのは駐車中のみなので、移動するとカメラは停止します。誰かが勝手に車両を移動させても、停止されるまでの間カメラは使えません。


・カメラ選択

フロント側かバック側の使用するカメラを選択します。


・顔検出時通知

カメラに顔を検出した時、手持ち端末側に通知し、撮影した写真を送信します。

通行人等、特に害のない人も撮影してしまいます。配達員本人も撮影してしまいます。

撮影フレーム内に対象の人の顔が完全に映っていない場合でも撮影されることがあります。

一度撮影すると30秒間は、顔検出による通知を停止します。これは、大量の写真を延々と送信することがないようにするための対策です。


・最小検出顔サイズ

遠くにいる無関係な人をなるべく検出しないように、撮影する顔の最小サイズを制限します。


手持ち端末側の設定

「設定」→「その他」→「リモートモニター」を開きます。

受信側設定

・通知受信サウンド

リモート端末からの通知がある時に鳴らす音を設定できます。


「設定」→「オーバーレイのアイコン」→「リモートモニター」をオンにします。

オーバーレイにリモートモニターのアイコンが表示され、そのアイコンでリモートモニターウィンドウの表示/非表示を切り替えられます。

リモートモニターウィンドウでは、リモート端末のカメラで撮影した写真を見たり、撮影指示を出したりできます。

最大10枚まで表示し、右端が最新の写真です。

写真をタップすると、端末のストレージに保存してビューワーを開きます。


駐車した場所も分かる

駐車した場所が住所アシスタントの地図に表示されるので、どこに駐車したか分からなくなった時や、万一、どこかに持っていかれた時にご使用ください。

ただし、この位置はリアルタイムに更新されるわけではありません。リモート端末から顔検出等の通知があった時に、ついでに緯度経度を送信しているので、そうしたきっかけがないと更新されません。


補足事項

両方の端末がネットワークに接続できる必要があります。

端末の機種にもよるのですが、写真の転送容量を小さくすることを目的に写真の解像度をかなり落としているので、画質が悪いです。

容量は大きい時で、一枚10Kバイト(=80Kビット)程度になります。1000枚送信して80Mビット(=0.08Gビット)になる計算ですので、ギガ単位の回線を契約されているのであれば、大きなインパクトにならないと考えています。


撮影した写真はサーバーに送信されます。端末で受信すると同時にサーバーの写真は即時削除されます。受信されなかった写真も24~48時間以内に削除されます。


カメラを使うためバッテリーを多く消費します。車両側なのでモバイルバッテリーを接続することで対処可能ではあります。

2024年2月5日月曜日

コンパニオンアイコンメニュー、ピック時にドロップ順お知らせ、FCM経由ナビ転送、他追加。

オーバーレイのコンパニオンアイコンのロングタップでメニューを表示

オーバーレイのコンパニオンアイコンをタップするとコンパニオンアプリを表示しますが、ロングタップした際にメニューを表示するようにしました。

「今日の履歴」と「設定」の2項目あります。

配達中でもオーバーレイから少ない操作で「設定」を変更できますし、「今日の履歴」を開いてメモを編集するような使い方ができそうです。


呼び出し時単価の設定を細分化

呼び出し時の単価計算のオン/オフを細かく設定できるように変更しました。

「設定」→「ウィンドウ」→「情報ウィンドウ」にある以下の項目で、分単価、キロ単価、時間単価の計算のうち必要なものを選択できます。

・呼び出し時単価計算

・呼び出し時キロ単価計算

・呼び出し時時間単価計算

呼び出し時単価の表示時間を設定できる項目も追加しています。


複数ドロップの時、ドロップ順を表示・読み上げ

ドロップが複数ある場合、ピック時に該当の店舗の配達物をどの順序でドロップするかを情報ウィンドウの配達番号の右に番号で表示し、音声でも読み上げるようにしました。

これにより、配達順序を考慮して計画的に配達バッグ内に配達物を収納できます。仕切りで二階建てにしている場合に、上下どちらに入れておくか、効率を考えて選べます。

実際は、配達物の重量やサイズ等、安定性を優先して収納するべきですが、それが問題にならない状況であれば、配達順に合わせて収納しておくとドロップ先での入れ替え作業を省力化できるかもしれません。

ただし、コンパニオンが誤作動する可能性もあり得ますので、コンパニオンが示す配達順序を100%信用せず、配達先では配達番号を確認してドロップするようにしてください。

くれぐれも、配達物を破損しないために、手間より配達物の安定性を優先してください。


ナビボタンタップ時の検索アプリとして「共有」を追加

「設定」→「ナビ」→「ナビボタンタップ時の検索アプリ」と、「設定」→「ナビ」→「ナビボタンロングタップ時の検索アプリ」で「共有」を選択できるように追加しました。

共有に対応したアプリに住所テキストを転送できます。

もっとも、現状あまり有効な使い方はないかもしれません。配達ナビタイムで使えるかもと思いましたがGoogleマップからの共有にしか対応していない?ようです。


他端末へのナビ転送にFCM経由を追加(プロ用)

これまで、ナビボタンタップ時にサーバー経由と、Bluetooth経由で他の端末にナビ転送できましたが、加えてFCM経由での転送を追加しました。この機能はプロ用となります。

サーバー経由では受信側でのタップが必要で少し手間がかかります。プロであればロングタップして自動受信にすることもできますが、送信側端末でナビボタンをタップしてから受信側が反応するのに数秒かかります。しかし、ネットワーク接続さえできれば端末間の距離に制限がなく、Bluetoothに対応していない端末でも使える利点があります。

Bluetooth経由は、応答速度は速いのですが、端末間の距離が離れると転送できなくなります。

FCM経由は、応答速度がそこそこ速く、ネットワーク接続があれば端末間の距離が離れていても転送可能です。加えてBluetoothのように接続状態を気にする必要がなくなるのは楽です。

まとめると…

・サーバー経由

手動受信応答速度遅い接続性高Bluetooth不要

・Bluetooth経由

自動受信応答速度速い接続性低Bluetooth必要

・FCM経由

自動受信応答速度速い接続性高Bluetooth不要


注意点としては、以下のようなことがあります。

・送受信端末両方で同じGoogleアカウントでコンパニオンを使う必要があります。

・受信側端末で配達支援サービスをオンにしておく必要があります。

・送信端末以外の複数の端末でコンパニオンの配達支援サービスがオンになっている場合、そのすべての端末でナビが起動します。受信したくない端末では「設定」→「ナビ」→「FCM経由ナビを受信する」をオフにしてください。

・コンパニオンのサーバーやFCMのサーバーがダウンした場合、動作しなくなります。

・ネットワークの状態によっては、応答性が悪くなる可能性があります。


その他

呼び出し時、現金払いが含まれるかどうか分かるようになりましたが、その時、音声でお知らせするようにし、情報ウィンドウにも表示するようにしています。

オーバーレイの情報ウィンドウアイコンを消せる設定を追加しています。



2023年12月4日月曜日

呼び出し時画面カバー、メモの非表示、住所テキスト非表示登録等

以前のようにマルチスレッドで画面解析できる設定を追加

最近のバージョンアップで、画面解析速度が遅くなった可能性があります。

本来スレッドセーフでない処理をマルチスレッドで行っていたので、安全のためシングルスレッドに戻したことが原因として考えられます。

とは言え、マルチスレッドであっても実使用で問題が起こる危険性は低そうなので、好みの方を選べるように設定項目を追加しました。

デフォルトではオフになっているので、ご利用になりたい方はオンにしてください。


補足1

実際のところ、シングルスレッドとマルチスレッドで実行速度を計測してもほとんど差は見られません。

想像ですが、マルチスレッドになることによってUIスレッドが実行される機会が増え、結果的にUIレスポンスが向上しているように感じるのかもしれません。


「呼び出し時画面カバー」で意図しない受諾を防止

スマホで何か作業をしながら配達リクエスト待ちをしている時に、突然注文が入って、配達内容を確認できずに誤タップして受けてしまう事故が起こることがあります。

それを少しでも防ぐ目的で、コンパニオンに備わっている画面カバーを流用することにしました。

注文が入った瞬間に画面全体をカバーして、タップをブロックします。

「設定」→「その他」→「画面カバー」→「呼び出し時画面カバー」で設定します。

「呼び出し時に閉じる」…有効にします。その上で、タイトルメニューから画面カバーをオンにすると機能します。

「公式配達員アプリ以外のみ」…公式配達員アプリ以外のアプリを使用中の時のみ機能します。

「画面カバーを閉じている時間」…画面カバーを閉じている秒数を指定します。閉じている間でも画面カバーを上にスワイプしていつでも開けることができます。


補足1

同じ設定画面中の上の方に画面カバーの全般的な設定項目がありますので、併せて設定しておくとより便利になります。

例えば「公式配達員アプリを維持」をオンにしておくと、画面をカバーすると同時に公式配達員アプリに切り替えます。他のアプリを使用中では公式配達員アプリの地図でピック・ドロップ先を確認できませんが、公式配達員アプリに切り替われば可能になります。

「配達支援サービス開始時オン」をオンにしておくと配達支援サービスを開始した後、タイトルメニューから毎回、画面カバーをオンにする手間がかかりません。


補足2

これは、呼び出しが入った瞬間に画面カバーを閉じてタップをブロックする機能ですが、閉じるまでにタイムラグがあります。閉じるのが間に合わない可能性もあります。


補足3

デフォルトの設定では、画面カバーが閉じた状態でどこかをダブルタップ(同じ場所を素早く2回タップ)すると、その下の部分をタップします。

それで、画面カバー越しに受諾や拒否のタップをできますが、反面、たまたまダブルタップしてしまうと、誤タップが起こります。

ダブルタップを無効にしたい場合は「ダブルタップ範囲」を「0」にしてください。


補足4

最近、公式配達員アプリの呼び出し時の画面が変更になり、受諾タップ範囲がかなり狭くなったので、誤タップの危険性は大きく減少しました。

せっかく作ったのにあまり意味がなくなりましたが、公式配達員アプリ側で改良されるのが最善です。

誤タップの可能性が低くなったとはいえ、それでも、受諾または拒否防止に使うことはできますし、公式配達員アプリに自動で切り替えるという面でも活用することができます。


不要なメモを非表示

古くなったメモや、一度見たので分かっているメモを非表示にできるようにしました。

配達中に表示される各メモの右側に「車両通行止」の絵文字が表示されます。

絵文字をタップすると、メモが薄い色になり、さらに「車両通行止」の絵文字が「目」の絵文字に変わります。

これで、非表示メモとして登録されています。今後このメモは表示されません。

間違って非表示にしてしまった場合は、「目」の絵文字をタップすると非表示をキャンセルできます。


履歴ページでも業者の公開メモを非表示にできます。

履歴ページの業者地図で、公開メモが登録されている業者のマーカーをタップし、

表示された吹き出しをタップすると、

業者情報ウィンドウが表示されます。

その中に公開メモの項目があるので、各メモ右側の「車両通行止」の絵文字のボタンをタップすると非表示になります。


非表示にしたメモを再度表示されるようにしたい場合は、業者情報ウィンドウを表示しなおして「非表示メモ表示」ボタンをタップし、

「目」の絵文字をタップしてください。


補足1

非表示にした業者の公開メモは履歴ページで再度表示されるように戻せます。

しかし、配達先のメモは一度非表示にすると、再度表示されるように戻すことはできません。


補足2

メモは後から何度でも編集して変更できるわけですが、非表示になっているメモが改定されたとしても表示されません。


業者情報ウィンドウの項目を折りたたんで表示スペースを増やせる

業者情報ウィンドウには「業者情報」「公開メモ」「ピック時間(プロ用)」「配達記録(プロ用)」を表示します。

情報が多すぎるとウィンドウ内に表示できないので、各項目を折りたためるようにしました。

各項目名の右にある矢印をタップしてください。

項目が消えて、他の情報が大きく表示できるようになります。


呼び出し時にオーバーレイを最前面に移動するように

これまで、呼び出しがあった時にコンパニオンのオーバーレイが公式配達員アプリのオーバーレイの後ろ側に行ってしまっていました。

コンパニオンのオーバーレイを前面に移動するように変更しましたので、呼び出し中も操作可能になります。

これで「呼び出し時P/D地図」を表示したり、コンパニオンのオーバーレイのアイコンをタップして公式配達員アプリに切り替えることが可能になります。


住所アシスタントの特定の住所テキストを非表示登録

住所アシスタントの各行を右にスワイプして、非表示テキストとして登録できるようにしました。

業者からの注意事項等に特に重要な情報が記載されていない場合等、表示する必要がないテキストをスワイプアウトして非表示にできます。

これまでも各行をロングタップすることで非表示にできましたが、同じテキストが表示されるたびに毎回しなくてもよくしたものと考えてください。


例え非表示になっているテキストでも、住所アシスタントの下部にある「目」のアイコンボタンをタップして再表示できます。

その時、薄い灰色になっているテキストは、非表示テキストとして登録されています。

その行を左にスワイプすると、非表示テキストとしての登録を削除し、また表示されるようになります。


補足1

非表示テキストは端末にファイルとして保存します。

登録していくことで、ストレージを消費します。

「設定」→「ウィンドウ」→「住所アシスタント」→「非表示テキストDBファイル削除」で、すべて削除でき、ストレージの占有領域を開放できます。その結果、すべての非表示登録テキストはクリアされます。


補足2

端末にファイルとして保存しているため、他の端末と非表示テキストの情報を共有できません。

アンインストールしたり、ストレージを消去すると、登録内容は失われます。

ファイルをエクスポートして、USBやBluetoooth、Googleドライブ等を経由し、他のスマホにインポートして使うことはできます。


補足3

非表示するテキストは、そのテキストの内容で登録されています。

ある店舗で表示されたテキストを非表示として登録した場合は、同じ内容のテキストは他の店舗でも非表示になります。

また、例えば注意事項を非表示にしたとしても、その注意事項がわずかでも変更された場合、再度表示されるようになります。


補足4

収集モードでは公式配達員アプリから取得した無意味なテキストのいくつかが表示されないようになっていましたが、今回追加した機能で自由に非表示テキストを登録できるようになったことで、そうしたテキストテーブルは廃止しました。

それで、収集モードを使いはじめると、これまで以上に不要なテキストが表示されるようになります。しかし、それらのテキスト行を右にスワイプしてどんどん非表示登録していくことで、これまで以上に不要なテキストを非表示にできます。

この機能追加の狙いのひとつとして、そうした非表示テキストテーブルをプログラム内に保持していた分のプログラムサイズとメモリを節約したいということもあります。

ToDo

有給休暇を管理できるアプリをダウンロード