What is the best way to set up Google mail, contacts and calendar? (consolidated) I'm trying to understand what the best way to set up Google mail, contacts and calendars on my iPhone and iPad. There seems to be plenty of options, all of which have downsides spread over lots of different postings and websites.

Here are the key issues I've found so far consolidated into one place:

Google mail


Exchange: Drafts don't synchronise. Searching for old emails doesn't always work. Google have announced that Exchange ActiveSync support will no longer be available for non-business accounts after 30th January 2013.
Gmail: No support for push email.
Gmail app: Cannot swipe messages in the inbox to delete them (only archive supported), notifications of new email sometimes open up the wrong email, mobile phone numbers aren't clickable, selecting an email address in any other app will not open Gmail to send a message (this is an iOS restriction), no custom alert sounds for certain contacts/groups and only a limited number of emails are readable if you have no data connection. 


Calendar


Exchange: Additional newlines sometimes end up in the description of appointments. Google have announced that Exchange ActiveSync support will no longer be available for non-business accounts after 30th January 2013.
Gmail: Additional subscribed calendars aren't displayed.
CalDav: Birthday events in a subscribed calendar that has been hidden from view in the calendar app still show up in the Notification Center. Subscribed calendars in Google Calendar will always trigger an alarm on iOS (based on your default alert times) even though Google reports that none are set up. Changing an alert time will after a short while cause you to end up with two alerts on an appointment within iOS, one at the new alert time you wanted and one at the default alert time.


Contacts:


Exchange: Not all fields (including pictures) are synchronized. Some address fields end up getting swapped (eg. town is displayed above the first line of the address). Google have announced that Exchange ActiveSync support will no longer be available for non-business accounts after 30th January 2013.
Gmail: Not possible.
CardDAV: Now recommended by Google as the preferred method. Will sync more than 3 email addresses. Syncs in both directions. No support for push. Contact group syncing is not supported. See related question.


Is this correct? Is there anything else missing?
The Verge gave a good writeup recommending the Gmail App + CalDAV + CardDAV: http://www.theverge.com/2012/12/5/3732364/best-way-gmail-google-calendar-iphone-how-to

The Gmail app solves both downsides you mention above. For CardDAV, it does a 15 min fetch, which is plenty good enough for me, so I don't see lack of push as being a real problem.