ギフトカードの登録(ログイン)機能により、ユーザーはギフトカードを検索して Google ウォレットに追加できます。ユーザーはモバイル向けサイトにリダイレクトされ、そこで 完了すると、Google ウォレットにカードを追加できるようになります。
このガイドでは、必要な実装手順の概要を説明します。 にアクセスして、この機能をギフトカード プログラムで有効にしてください。
概要
開始するには、プロジェクトを以前に設定しており、Google Wallet API にアクセスできることを確認します。
ギフトカード プログラムのログイン機能を実装するには、次の 4 つのステップに沿って操作する必要があります。
- Google ウォレットでテストクラスを設定して、ログインフローをテストします。
- Google ウォレット
SharedDataType
を使用するログインページを開発する。 - ログイン後の Google ウォレットへのギフトカードのプッシュバックを実装します。
- 確認と有効化をリクエストします。
Google ウォレットでテストクラスを設定する
ログイン URL とプログラムロゴを決定します。次に、
ネストされたフィールド discoverableProgram
を
giftcardclass
で
使用します。
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 を作成する前に、できる限りのデータをオブジェクトのクラスに保存してください。制限に収まらない大きなオブジェクトについては、 まず、Terraform でオブジェクトを作成し、 Google Wallet API。JWT でオブジェクト ID のみを送信する。
一般的な通信フロー
ユーザーがログインを完了する通信フローを次の図に示します。「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