클래스 및 객체 작동 방식

이 페이지에서는 Google Pay API for Passes 작동 방식의 기초 사항인 클래스와 객체의 관계를 설명하며 객체가 사용자에게 연결되는 방식도 다룹니다.

클래스와 객체

Google Pay API for Passes는 단일 사용자의 실제 포인트 카드, 기프트 카드, 쿠폰, 이벤트 티켓, 항공 탑승권, 대중교통 이용권을 디지털 방식으로 나타내기 위해 객체라는 개념을 사용합니다. 그리고 모든 사용자에게 공통된 데이터를 관리하기 위해 클래스라는 개념을 사용합니다. 특정한 사용 사례를 처리하기 위해 카테고리마다 고유한 객체와 클래스가 있습니다.

예를 들어 사용자의 Google Pay 앱에 있는 각 포인트 카드는 LoyaltyClass를 참조하는 하나의 LoyaltyObject로 표현됩니다. 마찬가지로 사용자의 Google Pay 앱에 있는 각 기프트 카드는 GiftCardClass를 참조하는 하나의 GiftCardObject로 표현됩니다.

각 객체는 하나의 클래스를 참조하므로 모든 포인트 카드, 기프트 카드, 쿠폰, 이벤트 티켓, 항공 탑승권, 대중교통 이용권을 더 쉽게 변경할 수 있습니다.

클래스에는 여러 객체에 공통되는 데이터가 포함됩니다. 예를 들어 LoyaltyClassprogramName을 저장하고 LoyaltyObject는 개인의 accountId를 저장합니다. 객체와 클래스는 일대일 관계일 수 있지만 항상 그런 것은 아닙니다. 여러 객체에서 클래스를 참조할 수 있습니다.

클래스나 객체를 변경하면 해당 내용이 즉시 적용됩니다. 사용자는 Google Pay 앱에서 동기화할 때 이러한 변경사항을 확인할 수 있습니다.

객체와 링크

Google Pay API for Passes는 포인트 카드, 기프트 카드, 쿠폰, 이벤트 티켓, 항공 탑승권, 대중교통 이용권을 나타내기 위해 Object라는 개념을 사용합니다. 예를 들어 사용자의 Google Pay 앱에 있는 각 포인트 카드는 하나의 LoyaltyObject로 표현됩니다.

사용자가 Google Pay에 저장 버튼을 사용하여 포인트 카드, 기프트 카드, 쿠폰, 이벤트 티켓, 항공 탑승권, 대중교통 이용권을 저장하면 API가 Object를 삽입한 후 객체와 사용자를 연결하는 링크를 만듭니다. 즉, 사용자가 이 버튼을 다시 클릭해도 새 Object가 삽입되지 않습니다. 링크가 이미 존재하므로 해당 Object는 다시 링크되지 않습니다.

사용자가 Google Pay 앱에서 자신의 패스를 삭제해도 패스가 연결된 Object는 삭제되지 않으며, 링크만 해제됩니다. Google Pay에 저장 버튼을 다시 클릭하면 새 Object가 생성되지 않고 링크가 다시 활성화됩니다.

패스가 만들어지는 동안 저장할 때마다 새 Object id가 사용되는데, 그 이유는 API가 기존 id와 일치하는 Object를 다시 삽입하지 않기 때문입니다.

패스를 계정에서 삭제해도 실제로 Object가 삭제되지는 않습니다. Object와 사용자 계정의 연결만 해제될 뿐입니다.