My Mac app has the capability of syncing bookmarks updates to Google Chrome, and users of Chrome Sync expect these changes to appear on their other devices. Here's what I do…
• If Google Chrome is not running, my app launches Google Chrome and hides it.
• My app sends the changes via Mac IPC to my Chrome NPAPI Plugin.
• My plugin sends the changes to my Chrome Extension.
• If my app launched and hid Google Chrome, my app now quits Google Chrome.
Although I'm not sure, it seems that, if it was necessary to launch and quit Google Chrome, the changes are not pushed into Chrome Sync until the next time that Chrome was launched manually. Thinking that maybe Chrome needed a few seconds to execute the push, I inserted a delay of 10 seconds before quitting Chrome, and that seemed to make it more reliable. Is that true? How many seconds are needed? What if I pushed in 500 changes? Will it take longer?
The reason I'm not sure about all this is because, when changes don't appear in Chrome on my iPad after a few minutes, I'm not sure if this is because Chrome was quit too soon, or because of some other delay in Chrome Sync, which I have found and many have reported to be unpredictable. [1] Because this is tedious and time-consuming to reproduce, any insight into how and when Chrome Sync works would be appreciated. I've read that, by design, it's supposed to push immediately, which I take to mean within a couple minutes. But I've waited many tens of minutes, reloading the screen, force-relauching Chrome on the iPad, etc. and sometimes still nothing after a half hour. Putting the iPad into Lock Mode (sleep) for more than a minute seems to help.
It would also be nice if there were an API to push Chrome Sync manually, however I can't find any such thing. The threads below [1] also lead me to believe that the Chrome team is dead set against a Sync Now button for users, and so we probably don't have a Sync Now API for the same reason.
Thank you,
Jerry Krinock
[1] Reports of slow syncing or no syncing, as I am seeing, are easy to find in a Google search…