タスクを構成する

このドキュメントでは、タスクの作成方法と使用方法を理解していることを前提としています。提供するサービス 以下の方法で発送タスクを構成する方法の具体例を示します。

  • 配送タスクのターゲット期間を設定する: 期間を設定します。 トリガーされます。

  • タスクの表示設定のカスタマイズ: 次のタスク アクティビティの表示設定をカスタマイズできます。 顧客やフリート オペレーターに表示することができます。

配送タスクのフィールドの詳細については、発送タスクを作成するをご覧ください。 既存のタスクに関する追加情報を更新する場合は、以下も行う必要があります。 タスクに関連する識別子と 更新する必要があります。

ターゲット時間枠を設定する

ターゲット時間枠は、タスクを実行する TimeWindow です。 完了していません。たとえば、配送にお届け日数を伝える場合 タスクの対象時間枠を使用して、この時間枠をキャプチャできます。 アラートの生成や過去の移動状況の分析にも 使用できます

ターゲット時間枠は開始時刻と終了時刻で構成され、 どのタイプのタスクにも適用できます。ターゲット時間枠はルーティングに影響しない 確認します。

次の例は、Java gRPC を使用して時間枠を設定する方法を示しています。 ライブラリまたは UpdateTask に HTTP REST リクエストを行う方法をご覧ください。Google Chat では タスクの作成時にも設定します。

gRPC

  static final String PROJECT_ID = "my-delivery-co-gcp-project";
  static final String TASK_ID = "task-8241890";

  DeliveryServiceBlockingStub deliveryService =
    DeliveryServiceGrpc.newBlockingStub(channel);

  // Task settings
  String taskName = "providers/" + PROJECT_ID + "/tasks/" + TASK_ID;
  Task task = Task.newBuilder()
    .setName(taskName)
    .setTargetTimeWindow(
      TimeWindow.newBuilder()
        .setStartTime(Timestamp.newBuilder().setSeconds(1680123600))
        .setEndTime(Timestamp.newBuilder().setSeconds(1680130800)))
    .build();

  // Task request
  UpdateTaskRequest updateTaskRequest =
    UpdateTaskRequest.newBuilder()  // No need for the header
        .setTask(task)
        .setUpdateMask(FieldMask.newBuilder().addPaths("targetTimeWindow"))
        .build();

  try {
    Task updatedTask = deliveryService.updateTask(updateTaskRequest);
  } catch (StatusRuntimeException e) {
    Status s = e.getStatus();
    switch (s.getCode()) {
       case NOT_FOUND:
         break;
       case PERMISSION_DENIED:
         break;
    }
    return;
  }

REST

HTTP を使用してタスクの時間枠を設定するには、PATCH を呼び出して、 updateMask を使用して targetTimeWindow パラメータを更新します。

PATCH https://fleetengine.googleapis.com/v1/providers/<project_id>/tasks/<id>?updateMask=targetTimeWindow

&lt;id&gt; はタスクの一意の識別子です。リクエスト ヘッダー 値 Bearer <token>Authorization フィールドが含まれている必要があります。 ここで、&lt;token&gt; はガイドラインに従ってサーバーから発行されます。 (サービス アカウントのロールJSON Web トークンを参照)をご覧ください。

# Set JWT, PROJECT_ID, and TASK_ID in the local environment
  curl -X PATCH "https://fleetengine.googleapis.com/v1/providers/${PROJECT_ID}/tasks/${TASK_ID}?updateMask=targetTimeWindow" \
    -H "Content-type: application/json" \
    -H "Authorization: Bearer ${JWT}" \
    --data-binary @- << EOM
  {
    "targetTimeWindow": {
      "startTime": "2023-03-29T21:00:00Z",
      "endTime": "2023-03-29T23:00:00Z"
    }
  }
  EOM

タスクの公開設定をカスタマイズする

デフォルトでは、Fleet Engine はタスク アクティビティを可視化し、 荷物を受け取る顧客とフリート オペレーターの両方に表示される 配送の追跡これには、過去 10 日間で配信された 配送に関する通知がお客様に送信される前に ステータスです。この情報はタスクごとにカスタマイズできます 決定します

このセクションでは、地図上で追跡されているオブジェクトの公開設定ルールについて説明します。 これらのルールは、次の 2 つのカテゴリのオブジェクトに適用されます。

  • 位置マーカーの公開設定
  • ポリラインや到着予定時刻など、アクティブな車両タスクのタスクデータの可視性
で確認できます。

場所マーカーの公開設定ルール

Fleet Engine が荷物の配達場所のマーカーを表示 地図上に表示されます。

タスクデータの可視化ルール

このセクションでは、タスクデータに適用されるデフォルトの公開設定ルールについて説明します。 カスタマイズできるのは、アクティブな車両タスクのみです。 カスタムの可視性ルールを適用できます。

次のタスクはカスタマイズできません。

  • スケジュール設定された停車地
  • 利用できないタスク
  • 無効な車両タスク

利用不能タスクの公開設定ルール

デフォルトでは、1 台でも車両は地図に表示されません。 追跡対象のタスクに割り当てられていません。たとえば、 ドライバーが休憩を取っているか、車両に給油中である 追跡された荷物。予想到着時刻と予想タスク完了時刻 使用できます。繰り返しになりますが、このルールはカスタマイズできません。

アクティブな車両タスクの可視性

TaskTrackingInfo オブジェクトは、ユーザーが作成するさまざまなデータ要素を提供します。 配送追跡ライブラリを使用して公開できます。デフォルトでは タスクが車両に割り当てられていて、車両がタスクに割り当てられている場合に表示されます。 5 ストップ以内で着手できます。公開設定の終了は、タスクの完了時または キャンセルされました。

次の設定により、タスクごとに公開設定をカスタマイズできます。 タスクの作成時または更新時のタスクに対する TaskTrackingViewConfig Fleet Engine 内で実行されるのが一般的ですこれにより、個々のデータ要素に対してルールが作成され、 できます。

次の表に、公開設定ルールを適用できるフィールドを示します。

公開設定ルールの車両タスク フィールド
  • ポリラインをルーティングする
  • 到着までの予想時間
  • タスク完了までの予想時間
  • タスクまでの残りの走行距離
  • 残りの経由地数
  • 車両の位置情報

次の表は、上記のフィールドで利用可能な公開設定オプションを示しています。

公開設定オプション
  • 残りの経由地数
  • 到着予定時刻までの時間
  • 残りの走行距離
  • 常に表示
  • 非表示

経路のポリラインと車両の位置の公開設定ルール

追跡中の経路の場合、経路のポリラインの公開設定は 車両の可視性。アクティブなルート上にルートのポリラインが表示されている場合 車両が表示されていない場合でも、車両の位置情報は 表示可能なポリラインの終点から推測されます。そのため、ルート ポリラインは 可視性は車両の可視性と同じか、それよりも厳しくする必要があります。

以下のルールに沿って、有効な経路のポリラインまたは車両の位置を指定してください 公開設定の組み合わせです

ルートのポリラインと車両の位置で同じ公開設定オプションを指定する

このシナリオでは、ポリラインと車両の位置の両方を同じに設定します。 次のオプションがあります。

  • 残りの経由地数
  • 到着予定時刻までの所要時間
  • 残りの走行距離

このルールに従うには、ルートのポリラインの公開設定をより小さくする必要があります 車両の公開設定に設定された値以上。この例では ポリラインの残りの停止地点のしきい値は 3 に設定されます。これは、 車両に指定された 5 の値。つまり、トラッキング対象の広告が タスクの場所から 5 駅の位置に到達すると、車両は表示されますが、 その車両のルートは、目的地まで 3 駅しかありません。

```js
"taskTrackingViewConfig": {
  "routePolylinePointsVisibility": {
    "remainingStopCountThreshold": 3
  },
  "vehicleLocationVisibility": {
    "remainingStopCountThreshold": 5
  },
}
```

経路のポリラインと車両の位置で異なる表示オプションを指定する

経路のポリラインと車両の位置表示オプションが異なる場合、 車両の位置情報は、公開設定オプションの両方が選択されている場合にのみ表示されます。 できます。繰り返しになりますが、ポリラインの公開設定には公開設定ルールが適用されます。 車両:

  • 常に表示: 経路のポリラインは、[常に表示] に設定する必要があります。 車両位置情報によって常に同じ情報が提供される場合に、 表示公開設定オプションを使用します。
  • 非表示: 経路のポリラインは、非表示の公開設定を使用する必要があります。 このオプションは、車両の位置情報で非表示の公開設定オプションを使用している場合に行われます。

以下に例を示します。

  "taskTrackingViewConfig": {
    "routePolylinePointsVisibility": {
      "remainingStopCountThreshold": 3
    },
    "vehicleLocationVisibility": {
      "remainingDrivingDistanceMetersThreshold": 3000
    },
  }

この例では、車両の位置情報は、残りの停車地がある場合にのみ表示されます。 カウントが 3 以上かつ残りの走行距離が 3,000 以上 メートルです。

タスクの公開設定のカスタマイズの例

次の例は、タスクを設定する方法を示しています。 公開設定ルール:

  • 車両が 3 つの駅 / 停留所内にある場合、ルートのポリラインを表示します。
  • 残りの走行距離が 5,000 メートル未満の場合は、到着予定時刻が表示されます。
  • 残りの経由地数を表示しない。
  • 他の各フィールドは、デフォルトの表示状態を維持します。 タスクから 5 駅以内にあると判断できます。

gRPC または REST については、TaskTrackingViewConfig をご覧ください。

gRPC

static final String PROJECT_ID = "my-delivery-co-gcp-project";
static final String TASK_ID = "task-8241890";

DeliveryServiceBlockingStub deliveryService =
  DeliveryServiceGrpc.newBlockingStub(channel);

// Task settings
String taskName = "providers/" + PROJECT_ID + "/tasks/" + TASK_ID;
Task task = Task.newBuilder()
  .setName(taskName)
  .setTaskTrackingViewConfig(
    TaskTrackingViewConfig.newBuilder()
      .setRoutePolylinePointsVisibility(
        VisibilityOption.newBuilder().setRemainingStopCountThreshold(3))
      .setEstimatedArrivalTimeVisibility(
        VisibilityOption.newBuilder().remainingDrivingDistanceMetersThreshold(5000))
      .setRemainingStopCountVisibility(
        VisibilityOption.newBuilder().setNever(true)))
  .build();

// Task request
UpdateTaskRequest updateTaskRequest =
  UpdateTaskRequest.newBuilder()  // No need for the header
      .setTask(task)
      .setUpdateMask(FieldMask.newBuilder().addPaths("taskTrackingViewConfig"))
      .build();

try {
  Task updatedTask = deliveryService.updateTask(updateTaskRequest);
} catch (StatusRuntimeException e) {
  Status s = e.getStatus();
  switch (s.getCode()) {
      case NOT_FOUND:
        break;
      case PERMISSION_DENIED:
        break;
  }
  return;
}

REST

HTTP を使用してタスク トラッキング ビュー構成ウィンドウを設定するには、PATCH を呼び出します。 updateMask を使用して taskTrackingViewConfig パラメータを更新します。

PATCH https://fleetengine.googleapis.com/v1/providers/<project_id>/tasks/<id>?updateMask=taskTrackingViewConfig

例:

# Set JWT, PROJECT_ID, and TASK_ID in the local environment
curl -X PATCH "https://fleetengine.googleapis.com/v1/providers/${PROJECT_ID}/tasks/${TASK_ID}?updateMask=taskTrackingViewConfig" \
  -H "Content-type: application/json" \
  -H "Authorization: Bearer ${JWT}" \
  --data-binary @- << EOM
{
  "taskTrackingViewConfig": {
    "routePolylinePointsVisibility": {
      "remainingStopCountThreshold": 3
    },
    "estimatedArrivalTimeVisibility": {
      "remainingDrivingDistanceMetersThreshold": 5000
    },
    "remainingStopCountVisibility": {
      "never": true
    }
  }
}
EOM

次のステップ