ユーザー ギフトカードの登録

ギフトカードの登録(ログイン)機能により、ユーザーはギフトカードを検索して Google ウォレットに追加できます。ユーザーはモバイル向けウェブサイトに案内され、プロセスを完了すると、カードを Google ウォレットに追加できます。

このガイドでは、この機能に対してギフトカード プログラムを有効にするために必要な実装手順の概要を説明します。

概要

開始するには、プロジェクトを以前に設定しており、Google Wallet API にアクセスできることを確認します。

ギフトカード プログラムのログイン機能を実装するには、次の 4 つのステップに沿って操作する必要があります。

  1. Google ウォレットでテストクラスを設定して、ログインフローをテストします。
  2. Google ウォレット SharedDataType を使用するログインページを開発する。
  3. ログイン後の Google ウォレットへのギフトカードのプッシュバックを実装します。
  4. 確認と有効化をリクエストします。

Google ウォレットでテストクラスを設定する

ログイン URL とプログラムロゴを決定します。次に、giftcardclassdiscoverableProgram ネスト フィールドを使用して、適切な値を設定します。

discoverableProgram に値を設定して、ログイン対応のギフトカード プログラムのドラフト版を作成します。テスターがこれを表示するには、テスターが Google Pay and Wallet Console にアクセスできる必要があります。Google Pay and Wallet Console へのアクセスを他のユーザーと共有する方法の詳細については、ユーザーページの詳細をご覧ください。

開発プロセス中に実装機能の検証を完了するには、Google Pay and Wallet Console のお問い合わせウィジェットを使用して Google にご連絡ください。コンソールのトピックで [Google Wallet API] を選択し、サブトピックで [ギフトカードによるログイン] を選択してください。

Google ウォレットのユーザーデータを利用するログインページを開発する

ユーザーがギフトカードを追加することを選択すると、ユーザーはログイン プロセスを完了するために、ウェブサイト上のユーザーに合わせたページに案内されます。

ユーザーが既存のアカウントにログインできるログイン URL を指定する必要があります。

ログインページは、次の要件を満たしている必要があります。

  • モバイル向けのユーザー エクスペリエンスを提供します。
  • ユーザーがログインを 1 つのページ内で完了できるようにします。
  • HTTPS 暗号化を有効な証明書とともに使用して、ユーザーデータが安全に送信されるようにします。
  • ログインページの稼働時間を 99.9% 以上にします。

ログインページを表示するときに、Google ウォレットは Android WebView を作成し、指定された URL に対して POST リクエストが行われます。ユーザーデータはパラメータ SharedDataType で提供されます。これは application/x-www-form-urlencoded コンテンツ タイプと UTF-8 エンコードを使用した POST リクエストに含まれています。SharedDataType パラメータの値は、Base64 でエンコードされた JSON オブジェクトです。

Google ウォレットへのギフトカードの即時プッシュバックを実装する

認証(ログイン)後、ページはユーザーのギフトカードを Google ウォレットにすぐにプッシュバックする必要があります。

ギフトカードを Google ウォレットにプッシュバックするには、以下の構造に従ったリンクにリダイレクトします。

https://pay.google.com/gp/v/save/{jwt_generated}

URL に安全に使用できる長さは 2,000 文字です。リンクがこの上限を超えないようにしてください。JWT でエンコードされるオブジェクトは小さくし、ユーザー固有のデータのみが含まれるようにします。JWT を作成する前に、できる限りのデータをオブジェクトのクラスに保存してください。制限を超えてしまう大きなオブジェクトについては、Google Wallet API でオブジェクトを作成してから、オブジェクト ID のみを JWT で送信することを検討してください。

典型的な通信フロー

ユーザーがログインを完了する通信フローを次の図に示します。「Your Server」間のすべての操作を実装する必要があります。

ログインフロー

確認と有効化をリクエストする

開発作業を完了し、ログインフローをテストしたら、Google Pay and Wallet Console のサポート問い合わせウィジェットからリクエストを送信します。

Google ウォレット アプリとの組み合わせで正しい機能を確認する実装の完全なレビューの後に、このギフトカード プログラムのギフトカード ログイン機能が一般公開されます。これにより、どのユーザーもプログラムを参照して、この機能を使用できるようになります。

最適なユーザー エクスペリエンスのために、ログインの実装のチェックが繰り返し行われ、常に機能要件を満たしているようにします。相違がある場合には通知され、問題が解決されるまでログイン機能が無効になる可能性があります。

よくある質問

  • ギフトカード プログラムで使用する画像に要件はありますか?
    • はい。画像は HTTPS の場所でホストされている必要があります。そうしないと、Google ウォレットでは表示されません。
  • JWT の実装とデバッグが簡単になるツールはありますか?
    • はい。www.jwt.io などのプラットフォームでは、開発プロセス中にトークンをデコードおよびデバッグできるため、送信するコンテンツを確認できます。ただし、Google との提携関係はなく、そのようなサードパーティを特におすすめするわけではありません。
  • Base64 でエンコードされた SharedDataType データを正しく処理するにはどうすればよいですか?
    • プロセス全体で UTF-8 エンコードを使用してください。JSON 文字列は最初に UTF-8 でエンコードされ、その後 android.util.Base64 を使用してエンコードされます(NO_WRAP と URL_SAFE オプションを使用)。これは RFC 3548 セクション 4 に対応しています。