I would advise you to use the new JobIntentService, introduced in Oreo, instead of FirebaseJobDispatcher. Then you can start a background service from the foreground of your app (background services created in the background is not freely allowed now, you only get 5 seconds to do stuff before you have to show a notification). With JobIntentService you don't have those limits.
You also don't have to show a notification for the syncing if you don't want to. But if you really need to do it, do it in the onHandleWork() method in JobIntentService.
This article explains the new background execution limits in Oreo quite well:
https://medium.com/til-kotlin/jobintentservice-for-background-processing-on-android-o-39535460e060
JobIntentService is really easy to use and solves any problems you might face with the new background limits. It's also very easy to convert a normal IntentService like used in pre-Oreo to a JobIntentService. Because it's in the support library, it is backported to previous versions. In Oreo and up it lets the OS decide when to schedule jobs (you don't have to work directly with a JobDispatcher), and pre-Oreo a normal IntentService will be started. The service starts and handles work by calling the static helper enqueueWork() method.
See here for more details:
https://developer.android.com/reference/android/support/v4/app/JobIntentService.html