クラスとオブジェクトの関係

このページでは、Google Wallet API の仕組みの基礎となるクラスとオブジェクトの関係について説明します。また、オブジェクトがユーザーにどのようにしてリンクされるかについても説明します。

クラスとオブジェクト

Google Wallet API は、オブジェクトのコンセプトを使用して、1 人のユーザーの実際のポイントカードをデジタル化します。この API は、クラスのコンセプトを使用して、すべてのユーザーに共通するデータの管理を可能にします。特定のユースケースに対応するため、それぞれのカテゴリに独自のオブジェクトとクラスがあります。

たとえば、ユーザーが Google ウォレット アプリに保存している各 Google ウォレットは 1 つの LoyaltyObject で表されます。これは LoyaltyClass を参照します。

すべてのポイントカードに適用する変更を簡単に実装できるように、すべてのオブジェクトがクラスを参照します。

クラスには、オブジェクト全体の共通データが含まれます。たとえば、LoyaltyClassprogramName を格納しますが、LoyaltyObject は個々の accountId を格納します。クラスとオブジェクトの関係は 1 対 1 にできますが、1 つのクラスを複数のオブジェクトから参照することも可能です。

クラスまたはオブジェクトに対する変更はすぐに適用されます。こうした変更は、同期後に Google ウォレット アプリに反映されます。

オブジェクトとリンク

Google Wallet API は、Object のコンセプトを使用してポイントカードを表します。たとえば LoyaltyObject は、ユーザーが Google ウォレット アプリに保存している各ポイントカードを表します。

ユーザーが [Google ウォレットに追加] ボタンをクリックしてポイントカードを追加すると、API によって Object が挿入され、そのオブジェクトとユーザー間のリンクが確立されます。つまり、ユーザーがボタンを再度クリックしたとき、Object へのリンクはすでに存在します。

ユーザーが Google ウォレット アプリからパスを削除すると、対応する Object へのリンクが解除されます。つまり、ユーザーが [Google ウォレットに追加] ボタンをもう一度クリックすると、新しい Object を作成せずにリンクが再確立されます。

パスを開発する際は、オブジェクトを追加するたびに新しい Object id を使用することをおすすめします。これは、id が一致する場合、API は Object を再挿入しないためです。

アカウントからパスを削除しても、Object は失われません。Object とアカウントのリンクが解除されるだけであり、再びリンクできます。