abhayastudios / nativescript-contacts-lite

This nativescript-contacts-lite plugin provides pretty fast read-only access to the iOS and Android contact directory.
MIT License
13 stars 7 forks source link

get CONTACT_STATUS_TIMESTAMP field #2

Closed Sharique-Hasan closed 6 years ago

Sharique-Hasan commented 7 years ago

I would like to have CONTACT_STATUS_TIMESTAMP => 'contact_status_ts' for my app as I have to sync the contacts for my app. and I cannot sync all contacts every time. So I need to have some timestamp which can tell me the latest update timestamp and I can filter the updated contacts according to that.

abhayastudios commented 7 years ago

Hi Sharique,

I am not too familiar with the Android Contact Status, but what I understand from the docs, the STATUS_TIMESTAMP is not the timestamp of when the contact was updated, but the timestamp of when a user updated their status through a service like Google Talk.

Instead I found the column CONTACT_LAST_UPDATED_TIMESTAMP here. I guess we could try to find something similar for iOS and add those fields to the plugin.

However, I don't really understand the need for this to be honest. I am also periodically updating all the contacts (especially on app launch), but since I am processing them in a separate thread (through getContactsWorker), I really don't mind because it doesn't affect the UI performance at all... Can you give an example of your specific use?

Sharique-Hasan commented 7 years ago

Actually it would be a load on server if I update all the contacts every time on app launch. So I thought of having some update filter for the contacts. Otherwise I would be updating the 100,000s of contacts from my users.

abhayastudios commented 7 years ago

Ah ok, yes if you are storing them server-side then offloading the servers makes sense.

So it seems it may be doable for Android, but from what I understand here iOS' CNContact does not support getting any timestamp for last modification of a contact.

Why not caching the previous phonebook on the user's phone and compare that client-side to the current version of the phonebook and send only the diff to the server?

abhayastudios commented 6 years ago

Closing due to no response