Is it better for iOS to sync Gmail contacts using Exchange ActiveSync or the CardDAV protocol?

apple.stackexchange https://apple.stackexchange.com/questions/65527

Domanda

To date I've been using Google Sync as an Exchange account to synchronize contacts between Gmail and my iPhone. However, Google very recently announced support for syncing Gmail contacts using CardDAV, and that now seems to be the suggested method according to Google's help page.

Both seem to work. Are there any discernible reasons to prefer one over the other? What are the known advantages or disadvantages of using Exchange versus CardDAV for this purpose? Going beyond the basics, do they vary in their ability to promptly push updates from other devices, resolve conflicts, handle unusual fields, preserve battery life, etc.?

(There have been a few earlier questions about iOS/Gmail contact synchronization. However, these all predate Gmail's CardDAV support, and therefore do not address the question I'm posing here.)

È stato utile?

Soluzione

I used Active Sync since I got my very first iPhone, and switched to CardDAV the day Google announced support for it. I can say without a doubt CardDAV is the way to go

With CardDAV, you will get you much more accurate synchronization than with Active Sync. First, as has been mentioned, you can synchronize more than 3 e-mail addresses. In fact, I have 31 e-mail addresses myself, and they finally all sync up with my iPhone. Even more importantly, two-way sync works now. If you make an edit on your iPhone, it won't clobber the field in your Google Contacts. For instance, editing e-mail addresses on your iOS device won't change their labels in Google Contacts to Other instead of Home, Work, and whatever custom fields you might have had.

In particular, custom fields are preserved in both directions. This is especially important if you want to use Siri to "Send an e-mail to my brother". The Brother field in Google Contacts was not correctly imported into iOS through Active Sync, and if you allowed Siri to save who your brother was in your contacts, the import back into Google Contacts mangled everything up, including all other fields that you did not edit.

Finally, phone numbers also all sync in both directions without trouble using CardDAV.

To me, two-way editing (or the lack thereof) was the biggest problem with Active Sync. I never, ever edited any contacts on my iPhone using Active Sync because I didn't want to have to fix all the fields on a desktop later on. Now I can do it freely and haven't noticed any data corruption.

The main gripe people have concerning CardDAV is the lack of push. However, for me Active Sync push was so slow anyway that the slight delay of Fetch barely makes a difference. Plus, my experience with the reliability of Push has been less than stellar (connections that die and are never re-established, primarily). I've found the polling model to be far more robust.

What you may want to avoid while using CardDAV is updating a contact in Gmail or on your iPhone, then immediately updating the same contact in the other. This will likely cause one of your modifications to get overwritten by the modification made in the other direction.

Update 1: The one oddity I've found in two-way syncing relates to the Google Voice phone number type. For some reason it doesn't sync correctly in either direction (it becomes "Phone" on your iOS device when entered in Google Contacts, and Other in Google Contacts when entered from an iOS device). My only guess can be that the field has a special meaning to Google.

Update 2: There is another strangeness with the iPhone phone number type. It will make it to your iOS devices correctly if entered as such from Google Contacts. However, if you specify iPhone as a phone number type from an iOS device, Google Contacts will change that to Mobile. The iOS device that originally specified iPhone will retain it as its phone number type until that contact is updated again from either Google Contacts (without first changing the phone number type to iPhone) or from another iOS device. I recommend only entering iPhone as a phone number type from Google Contacts. Contacts with that phone number type should also only be edited from Google Contacts if you care about listing iPhone as their mobile phone number.

Altri suggerimenti

I did a test in Google Contacts: I edited one contact and I added a lot of numbers, emails, websites, addresses, and dates. Then I triggered a sync on my iPhone and iPad.

The results:

              | Exchange | CardDAV
phone numbers | max 6    | no limit? (I entered 12)
email         | max 3    | no limit? (I entered 8)
websites      | max 1    | no limit? (I entered 4)
addresses     | max 3    | no limit? (I entered 6)
dates         | max 2    | no limit? (I entered 6)

Exchange is a far inferior way to sync contacts. Carddav is a open standard that is much more flexible then its microsoft counter parts. First, it allows more then three fields for emails and other arbitrary limits. Second, carddav makes many more categorizations of fields like, phone numbers more then the usual home, work, other. Lastly, customized entries let users put in twitter handles and more. Other standards like Caldav and IMAP can work in sync and offer more robust syncing mechanisms with less known issues. This feature is long overdue.

I was wondering the same thing, then today I noticed a problem with my Exchange-synced Google contacts on my iPhone 5 running iOS 6.

I wanted to call a pizza place. I had a contacts entry in Google with the phone number. I had entered the name of the place ("Marlene's Pizza") in the last name field in Google, so that the whole name showed up in boldface in iOS, and was alphabetized under "M".

The phone number wasn't there on the iPhone. It was a blank contact, with nothing but the name. I checked one or two more businesses that I had entered the same way (with the business name in the last name field in Gmail) and they were also missing the phone number on the iPhone.

I switched my contacts syncing to the new CardDAV method, and these contacts synced correctly.

CardDAV is really the way to go. Unfortunately Googles counterpart for calendar syncing (CalDAV) is so badly implemented, that I looked for alternatives at the CalConnect website (http://caldav.calconnect.org/implementations/providers.html) and ultimately ended up with fruux. Their implementation is top notch - even supports all the sharing features, great support, device tracking with custom passwords and a nice design. Highly recommended!

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a apple.stackexchange
scroll top