• Официальный сайт SDK
  • Сайт с примерами кода

Объекты User

Экземпляр класса User содержит информацию об авторизованном пользователе. Эти объекты являются уникальными и имеют возможность проведения над ними операций сравнения. Если два экземпляра будут равны, значит они указывают на одного и того же пользователя.

Приложение может получить доступ к объекту User текущего авторизованного пользователя путем вызова функции users.get_current_user().

CmZyb20gZ29vZ2xlLmFwcGVuZ2luZS5hcGkgaW1wb3J0IHVzZXJzCnVzZXIgPSB1c2Vycy5nZXRfY3VycmVudF91c2VyKCkKaWYgbm90IHVzZXI6CiMg0JXRgdC70Lgg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GMINC90LUg0LDQstGC0L7RgNC40LfQvtCy0LDQvQplbHNlOgpwcmludCAmcXVvdDtIZWxsbywgJXMhJnF1b3Q7ICUgdXNlci5uaWNrbmFtZSgpCg===

Объект можно также получить с помощью указания адреса электронной почт в конструкторе объекта.

CnVzZXIgPSB1c2Vycy5Vc2VyKCZxdW90O0FsYmVydC5Kb2huc29uQGV4YW1wbGUuY29tJnF1b3Q7KQo==

Если конструктор класса User будет вызван с указанием почтового адреса, не зарегистрированного в Google, то объект будет создан, но не будет сопоставлен с реальным аккаунтом. Это поведение сохранится и после того, как кто-нибудь зарегистрирует аккаунт Google с этим адресом. В любом случае, если объект User был создан с указанием адреса электронной почты не сопоставленного со существующим аккаунтом Google, он никогда не будет указывать на реальный аккаунт.

При работе приложения в режиме разработки, все создаваемые объекты User выглядят как сопоставленные с реальными аккаунтами Google, после того как они сохраняются в локальном хранилище.

Сохранение профилей пользователей в хранилище

Экземпляр класса User является значением, которое возможно поместить в хранилище.

CmNsYXNzIFVzZXJQcmVmcyhkYi5Nb2RlbCk6CnVzZXIgPSBVc2VyUHJvcGVydHkoKQp1c2VyID0gdXNlcnMuZ2V0X2N1cnJlbnRfdXNlcigpCmlmIHVzZXI6CnEgPSBkYi5HcWxRdWVyeSgmcXVvdDtTRUxFQ1QgKiBGUk9NIFVzZXJQcmVmcyBXSEVSRSB1c2VyID0gOjEmcXVvdDssIHVzZXIpCnVzZXJwcmVmcyA9IHEuZ2V0KCkK=

Примечание: В настоящее время, интерфейс Users API не предоставляет уникальные идентификаторы для аккаунтов Google. Несмотря на то, что адрес электронной почты на момент регистрации являлся уникальным, пользователь может в любой момент его изменить в своем аккаунте. Все подобные изменения не приводят к обновлению соответствующих данных в хранилище приложения. Уникальные идентификаторы пользователей и автоматические изменения данных электронной почты в хранилище могут быть реализованы в следующих версиях. До этих пор, не существует хорошего способа сопоставить текущего пользователя с его профилем и обеспечить корректную работу этого кода после смены адреса.

Избегайте использования адреса электронной почты в качестве идентификатора пользователя при работе с данными хранилища. Если вашему приложению необходимо хранить пользовательские профили, рассмотрите возможность использования типа User для свойства в модели данных и выполняйте запрос для их получения. Этот механизм будет корректно работать при изменении адреса электронной почты. Хотя он не гарантирует ошибочного задвоения в хранилище объектов с профилем пользователя, по крайней мере, запросы приложения будут возвращать всегда верные значения.