I'm in the process of migrating from the V1 Sync API to the V2 "DIY" API and I would really appreciate some feedback on whether I'm really approaching this correctly, especially with regards to reacting to remote changes and the seemingly insanely heavy network traffic requried by my "solution".
I'm using Dropbox to keep my iOS and Mac apps synched, so that both show the same "event logs". On the Mac those logs are stored in "My Folder" folder.
On startup, the iOS version (Swift) does a files.listFolder for "My Folder" and subsequent files.listFolderContinue until it has a complete file list, then for each file it does a files.getMetaData and compares the rev (revision) field in the meta with the rev value stored in my local DIY rev-to-file-path database. If the revs are different, it does a files.download for the file and writes to local storage.
After all local files are up-to-date, it does a files.listFolderLongPoll and waits for any updates, if an updates occurs it restarts the entire sync process.
All this results, for n log files, in at least n+1 network requests when there's nothing to by synched and 2*n+1 network requests in the worst case. There's a log file for each day of use, so after a year, we have 366 to 731 network requests.. 
Question 1: Is this really the most efficient way that this can be done?
Question 2: Is there are way of polling only for changes to a specific directory?
BTW I really appreciate the great job the support team is doing; even as I'm perplexed by the new API :-)