موتور ناوگان (Fleet Engine) یک سرویس بکاند است که با سیستمی که برای مدیریت خدمات حمل و نقل مشتریان خود استفاده میکنید، ادغام میشود. این سرویس با انواع APIها و SDKها برای بهبود نقشهبرداری، مسیریابی و مدیریت موقعیت مکانی، تعامل دارد.
موتور ناوگان، مسیریابی و بهروزرسانیهای وضعیت را برای موجودیتهای خودرو که بر اساس ناوگان خودروی واقعی شما مدلسازی شدهاند، ارائه میدهد. همزمان با ارسال بهروزرسانیهای پیشرفت خودرو توسط سیستم شما به موتور ناوگان، موتور ناوگان از اطلاعات موقعیت مکانی و مسیریابی خودرو در لحظه که توسط Driver SDK ارائه میشود، برای ارائه گزارشهای دقیق در مورد سفرهای خودرو استفاده میکند: ETAها، اطلاعات ترافیک و در دسترس بودن خودرو.

سرویس Fleet Engine با هر دو سرویس حمل و نقل زیر کار میکند:
- سفرهای درخواستی : در این پیشنهاد، Fleet Engine چرخه عمر یک سفر را مدلسازی میکند -- از مبدا، از طریق ایستگاهها، تا پیاده شدن. در چرخه عمر یک سفر، یک وسیله نقلیه از مکانهای تحویل، ایستگاههای بینراهی و مکانهای پیاده شدن عبور میکند تا سفری را که توسط درخواست مصرفکننده رزرو شده است، انجام دهد. برای جزئیات بیشتر در مورد سفرهای درخواستی، به مستندات سفرهای درخواستی مراجعه کنید.
 - وظایف زمانبندیشده : در این محصول، Fleet Engine چرخه حیات یک وظیفه تحویل یا خدمات را مدلسازی میکند، که در آن هر توقف در طول سفر مستلزم آن است که راننده یک یا چند وظیفه زمانبندیشده را انجام دهد. وظایف میتوانند شامل تحویل یک بسته یا انجام یک تماس خدماتی باشند. برای جزئیات بیشتر در مورد وظایف زمانبندیشده، به مستندات وظایف زمانبندیشده مراجعه کنید.
 
کارهایی که میتوانید با Fleet Engine انجام دهید
با استفاده از اجزای Fleet Engine، میتوانید موارد زیر را انجام دهید:
- فعال کردن ردیابی سفر مشتری : برای سفرهای درخواستی، میتوانید از قابلیتهای تجربه مشتری Fleet Engine استفاده کنید و Consumer SDK را در برنامههای تلفن همراه یا وب خود ادغام کنید. به این ترتیب، مصرفکنندگان شما میتوانند از همان برنامه برای ثبت درخواست سفر و پیگیری سفر خود استفاده کنند.
 - ارائه اطلاعات بسته در لحظه برای مشتریان : برای وظایف زمانبندیشده، میتوانید از قابلیتهای تجربه مصرفکننده Fleet Engine استفاده کنید و SDK مصرفکننده جاوااسکریپت را با برنامه وب خود ادغام کنید. این میتواند بهروزرسانیهای تقریباً لحظهای در مورد وضعیت بستههای مصرفکنندگان را برای مصرفکنندگان شما فراهم کند. SDK فیلترهای داخلی و حریم خصوصی دادهها را فراهم میکند تا مصرفکنندگان فقط اطلاعات مربوط به سفارش خود را ببینند.
 - طراحی راهکارهای اپراتور ناوگان : برای وظایف زمانبندیشده، از کتابخانه ردیابی ناوگان جاوا اسکریپت استفاده کنید تا اپراتورهای ناوگان شما بتوانند وظایف مربوط به وسایل نقلیه را در طول روز بهتر هماهنگ و مدیریت کنند.
 - تجربه رانندگان خود را بهبود بخشید : Driver SDK یک ابزار برنامه تلفن همراه و یک جزء اساسی از Fleet Engine است. این ابزار از قابلیتهای خودروها استفاده میکند. با استفاده از این SDK، برنامه رانندگی شما میتواند هم وظایف کاری را مدیریت کند و هم قابلیتهای ناوبری و مسیریابی راننده را فعال کند. در هسته خود، SDK از یک شنونده رویداد برای ارسال بهروزرسانیهای موقعیت مکانی به Fleet Engine هنگام شروع رانندگی راننده استفاده میکند. همچنین سیگنالهایی در مورد وضعیت خودرو به Fleet Engine ارسال میکند. با استفاده از این SDK، راننده شما میتواند از یک برنامه واحد برای مدیریت وظایف و پیمایش استفاده کند، همانطور که از نسخه مصرفکننده Google Maps خود استفاده میکند، اما بدون نیاز به جابجایی به برنامه دیگری.
 
به طور خاصتر، میتوانید موارد زیر را با این راهحلها ارائه دهید:
سفرهای درخواستی
- موقعیت مکانی زنده وسیله نقلیه راننده در جاده.
 - مسیر واقعی راننده با اطلاعات ترافیکی زنده.
 - زمان تخمینی رسیدن برای مکانهای تحویل و پیاده کردن.
 - ردیابی برای سفرهای تک مقصدی، چند مقصدی و سفرهای پشت سر هم.
 - سرویس کارپول برای چندین مشتری در یک مسیر.
 - فهرست کردن تمام وسایل نقلیه در یک منطقه خاص برای یافتن بهترین موارد منطبق با درخواستهای سفر.
 
وظایف برنامهریزیشده
- بهروزرسانیهای موقعیت مکانی بهصورت لحظهای روی نقشه ارائه میشوند.
 - زمانهای رسیدن به مقصد (ETA) که به صورت خودکار تنظیم میشوند و منعکس کننده شرایط متغیر، مانند ترافیک، هستند.
 - وظایف تکمیلشده و توقفهای در انتظار برای ارائه بینش در مورد مشکلات احتمالی.
 - تعداد توقفها و مسافت به گونهای باشد که مشتریان اعتماد بیشتری داشته باشند.
 
نحوه کار موتور ناوگان
این بخش، مروری کلی بر عملکرد سیستمهای Fleet Engine برای هر یک از محصولات Mobility ارائه میدهد.
سفرهای درخواستی
نمودار زیر دو بخش کلیدی سفرهای درخواستی را نشان میدهد: شروع روزی که رانندگان اشتراکگذاری مکان را در Fleet Engine فعال میکنند، و نمای سادهشدهای از مدیریت سفر با استفاده از اجزای Fleet Engine. برای مشاهده جزئیات فرآیند سفر، به مستندات سفرهای درخواستی « سفر چیست؟» مراجعه کنید.

وظایف برنامهریزیشده
نمودار زیر ماتریسی از یک روز کاری معمول حمل و نقل برای یک راننده به همراه نحوه مدیریت کار آنها در سیستم Fleet Engine با استفاده از کتابخانه Fleet Tracking را نشان میدهد.
توجه : سیستم شما میتواند از هر دو ردیابی محموله یا ردیابی ناوگان استفاده کند. با ردیابی محموله، Fleet Engine اطلاعات محموله و راننده را فیلتر میکند تا مشتری فقط اطلاعات مربوط به محموله خود را ببیند.

معماری موتور ناوگان
این بخش معماری سیستم را برای پیشنهادات مختلف Fleet Engine ارائه میدهد. هر دو سرویس از موارد زیر استفاده میکنند:
- یک وسیله نقلیه : سفرهای درخواستی و وظایف برنامهریزیشده به یک وسیله نقلیه به عنوان وسیلهای برای مدلسازی وسایل نقلیه دنیای واقعی در کسبوکار شما که برای انجام عملیات شما استفاده میشوند، متکی هستند. در Fleet Engine، یک موجودیت وسیله نقلیه اطلاعات مکانی ارائه شده توسط وسیله نقلیه دنیای واقعی مرتبط با آن را از طریق برنامه راننده که با Driver SDK یکپارچه شده است، دریافت میکند. وسایل نقلیه Fleet Engine عمدتاً موجودیتهای موازی بین دو سرویس هستند، با چند تفاوت. برای درک وسایل نقلیه در Fleet Engine، مقدمهای بر وسایل نقلیه را بخوانید.
 - کیت توسعه نرمافزار درایور (Driver SDK ): برای هر دو وظیفه درخواستی و برنامهریزیشده، کیت توسعه نرمافزار درایور (Driver SDK) یک جزء اساسی است. کیت توسعه نرمافزار درایور با برنامه راننده شما ادغام میشود و جریانی از بهروزرسانیهای موقعیت مکانی را به همراه اطلاعات مسیر در اختیار Fleet Engine قرار میدهد که Fleet Engine برای گزارش وضعیت لحظهای سفر، به همراه سایر اطلاعات مانند ETA و دادههای ترافیکی، به آن متکی است.
 - کیت توسعه نرمافزار مصرفکننده : یکی از مزایای کلیدی برای وظایف درخواستی و زمانبندیشده، کیت توسعه نرمافزار مصرفکننده است که برای گزارش وضعیت سفر، تحویل غذا یا تحویل بسته زمانبندیشده به مصرفکننده استفاده میشود.
 
سفرهای درخواستی

برای توضیح در مورد وسایل نقلیه، سفرها و SDKها، به مستندات مربوط به سفرهای درخواستی مراجعه کنید:
وظایف برنامهریزیشده

برای توضیح در مورد وسایل نقلیه تحویل، وظایف و SDKها، به مستندات مربوط به وظایف زمانبندیشده مراجعه کنید:
منابع
سفرهای درخواستی
| وسیله نقلیه | ||
|---|---|---|
| خدمات |  REST : v1.providers.vehiclesgRPC : maps.fleetengine.v1.VehicleService | |
| نام منبع |  providers/{provider}/vehicles/{vehicle } | |
| سفر | ||
| خدمات |  REST : v1.providers.tripsgRPC : maps.fleetengine.v1.TripService | |
| نام منبع |  providers/{provider}/trips/{trip}  | |
وظایف برنامهریزیشده
| وسیله نقلیه تحویل | ||
|---|---|---|
| منابع |  REST : providers.deliveryVehiclesgRPC : maps.delivery.v1 | |
| نام منبع |  providers/{provider}/deliveryVehicles/{vehicle} | |
| وظیفه | ||
| خدمات |  REST : providers.tasksgRPC : maps.fleetengine.delivery.v1.Task | |
| نام منبع |  providers/{provider}/tasks/{task}  | |
نامگذاری منابع در موتور ناوگان
 در Fleet Engine، مانند تمام سرویسهای مبتنی بر Google Cloud، منابع دارای شناسههای منحصر به فردی به نام names هستند که در قالب رشته ارائه میشوند. بخشی از نام منبع، شناسه منبع است که هنگام صدور درخواست ایجاد، آن را ارائه میدهید. با این حال، منابع Fleet Engine هیچ فیلد شناسهای ندارند ، بلکه یک فیلد نام فقط خروجی دارند که شامل شناسه منبع است.
موتور ناوگان از نامهای نسبی منابع استفاده میکند. این نامها شامل شناسههای مجموعه و شناسههای منبع هستند که به گونهای ساختار یافتهاند که سلسله مراتب آنها را نشان میدهد.
- شناسه مجموعه : یک مجموعه منابع یا مجموعههای دیگر را در خود جای میدهد.
 
سفرهای درخواستی
 سه مجموعه: providers ، vehicles و trips .
وظایف برنامهریزیشده
 سه مجموعه: providers ، deliveryVehicles و tasks .
شناسه منبع : شناسههای منبع در مستندات مرجع با علامت آکولاد در فیلد نام مشخص میشوند. اینها متغیرهایی برای شناسههایی هستند که هنگام صدور درخواست ایجاد ارائه میدهید.
سفرهای درخواستی
-  
{provider}: شناسه پروژه ابری شما. این شناسه برای هر پروژه یک بار ایجاد میشود. -  
{vehicle}: منبع وسیله نقلیه شما، که برای هر ایجاد وسیله نقلیه استفاده میشود، معمولاً برای همان جفت راننده-وسیله نقلیه دوباره استفاده میشود. -  
{trip}: منبع سفر شما، که برای هر سفر استفاده میشود و معمولاً دوباره استفاده نمیشود. 
وظایف برنامهریزیشده
-  
{provider}: شناسه پروژه ابری شما. این شناسه برای هر پروژه یک بار ایجاد میشود. -  
{vehicle}: منبع وسیله نقلیه تحویل شما، که برای هر ایجاد وسیله نقلیه استفاده میشود، معمولاً برای همان جفت راننده-وسیله نقلیه دوباره استفاده میشود. -  
{task}: منبع وظیفه شما، که برای هر وظیفه استفاده میشود و معمولاً دوباره استفاده نمیشود. 
برای جزئیات بیشتر، به بخش «نام منابع» در مستندات Google Cloud APIs مراجعه کنید.
گزارشهای گوگل کلود برای Fleet Engine
Fleet Engine یک سرویس ثبت وقایع پایه ارائه میدهد که به شما امکان میدهد درخواستها و پاسخهای API آن را ذخیره کنید. با استفاده از این گزارشها، میتوانید یکپارچهسازی خود را اشکالزدایی کنید، معیارهای نظارتی ایجاد کنید و الگوهای ترافیک را تجزیه و تحلیل کنید.
برای جزئیات بیشتر به Cloud Logging مراجعه کنید.
نحوه استفاده از موتور ناوگان
| ۱ | پروژه ابری خود را راهاندازی کنید. | شما در این مرحله علاوه بر فعال کردن APIهای مرتبط، نقشهای حساب کاربری سرویس متنوعی ایجاد میکنید. APIها و SDKهای موتور ناوگان نیاز به استفاده از توکنهای وب JSON (JWT) دارند که با استفاده از حسابهای سرویس ایجاد شده از کنسول ابری امضا شدهاند. دستورالعملهای موجود در «ایجاد پروژه موتور ناوگان» را دنبال کنید. برای درک بهتر این نقشها، نقشهای حساب سرویس را مطالعه کنید.  | 
| ۲ | تنظیمات خود را تأیید کنید | پس از ایجاد حسابهای سرویس، تأیید کنید که راهاندازی شما کامل شده است و میتوانید یک وسیله نقلیه ایجاد کنید. این مرحله تضمین میکند که شما مشکلات مجوز رایجی را که ممکن است در طول راهاندازی پروژه پیش بیاید، برطرف کردهاید. دستورالعملهای زیر را در قسمت «تأیید راهاندازی» دنبال کنید. | 
| ۳ | اولین سفر خود را خلق کنید | این شامل ایجاد یک وسیله نقلیه واحد با مجموعهای از مختصات است که نشان دهنده توقفها در طول یک سفر درخواستی یا وظایف برنامهریزی شده است. برای کسب اطلاعات بیشتر، به محتوای مروری برای سفرهای درخواستی یا وظایف برنامهریزی شده مراجعه کنید. | 
| ۴ | ادغام خود را آزمایش کنید | خدمات و اجزای Fleet Engine به دادههای بلادرنگ از ناوگان وسایل نقلیه نیاز دارند. طراحی، توسعه و استقرار برنامهها برای ناوگانی از رانندگان میتواند زمانبر باشد. به همین دلیل، بهتر است قبل از انجام استقرار کامل، ابتدا از دادههای آزمایشی برای بررسی ادغام خود استفاده کنید. برای جزئیات بیشتر به Setup Fleet Engine مراجعه کنید. | 
قدم بعدی چیست؟
- خودروهای ناوگانی (Fleet Engine) را بشناسید.
 - درباره سفرهای درخواستی یا کارهای برنامهریزیشده اطلاعات کسب کنید.
 - موتور ناوگان را تنظیم کنید .