Information received from the server should be cached (in a local database, in memory, in files on a disk, and so on). This includes parameters of campaigns, groups, ads, and keywords, as well as reference lists of regions and time zones.
You should not get objects from the server again, unless they have actually changed. To check for changes, use the methods for the Changes service:
We recommend using these methods in the following way:
At the first launch of the app, call the checkDictionaries method without the Timestamp parameter in order to synchronize the current time.
The method returns the Timestamp parameter, which is the current UTC time on the server.
In each subsequent method call, indicate the value of the Timestamp parameter that you received in the previous call. This guarantees that there will be no gaps between the intervals for checking for changes, regardless of possible delays or discrepancies between the time on the server and the time in the app.
If you need to check for changes in all campaigns, groups, and ads for a client:
Use the checkCampaigns method to check which campaigns have changes.
The method returns the IDs of the campaigns that were changed. The ChangesIn parameter specifies where the changes were made: