התכונה 'הרשמה לכרטיס מתנה (כניסה)' מאפשרת למשתמשים לחפש כרטיס מתנה ולהוסיף אותו ל-Google Wallet. המשתמשים יועברו לאתר שלכם שמותאם לניידים כדי להשלים את התהליך, ולאחר מכן יוכלו להוסיף את הכרטיס ל-Google Wallet.
המדריך הזה מספק סקירה כללית של שלבי ההטמעה הנדרשים כדי להפעיל את התכונה הזו בתוכנית כרטיסי המתנה שלכם.
סקירה כללית
כדי להתחיל, חשוב לוודא שהגדרתם בעבר את הפרויקט ושיש לכם גישה אל ממשק ה-API של Google Wallet.
כדי להטמיע את תכונת הכניסה, צריך לבצע את ארבעת השלבים הבאים עבור תוכנית כרטיסי המתנה:
- מגדירים כיתה לבדיקה ב-Google Wallet כדי לבדוק את תהליך הכניסה.
- פיתוח דפי כניסה המשתמשים ב-
SharedDataType
של Google Wallet. - הטמעת דחיפה חוזרת של כרטיס מתנה ל-Google Wallet אחרי הכניסה לחשבון.
- שולחים בקשה לאימות ולהפעלה.
הגדרת כיתת בדיקה ב-Google Wallet
מגדירים את כתובת ה-URL לכניסה ואת הלוגו של התוכנית. לאחר מכן, משתמשים בשדות ההשתייכות (nesting) של discoverableProgram
בקטע giftcardclass
כדי להגדיר את הערכים המתאימים.
צריך להגדיר את הערכים ב-discoverableProgram
כדי ליצור גרסת טיוטה של
לתוכנית כרטיסי מתנה שמופעלת על ידי כניסה לחשבון. כדי לוודא שהמידע הזה גלוי לבודקים, צריך לוודא שלבודקים יש גישה למסוף Google Pay ולמסוף Wallet. במאמר מידע על הדף 'משתמשים' מוסבר איך לשתף את הגישה ל-Google Pay ולמסוף Wallet עם אנשים אחרים.
כדי להשלים את האימות של פונקציונליות ההטמעה במהלך הפיתוח יש לפנות אלינו באמצעות הווידג'ט ליצירת קשר עם התמיכה במסוף Google Pay ובמסוף Wallet. בזמן השהייה במסוף, בוחרים בנושא Google Wallet ואז בוחרים באפשרות כניסה באמצעות כרטיס מתנה. נושא המשנה.
פיתוח דף כניסה שמשתמש בנתוני משתמשים מ-Google Wallet
כשמשתמש בוחר להוסיף את כרטיס המתנה, הוא מועבר לדף מותאם אישית באתר שלכם כדי להשלים את תהליך הכניסה.
עליכם לספק כתובת URL לכניסה שבה משתמש יכול להיכנס לחשבון קיים.
דף הכניסה צריך לעמוד בדרישות הבאות:
- לספק חוויית משתמש ידידותית לניידים.
- מאפשרים למשתמש להשלים את הכניסה בדף אחד.
- משתמשים בהצפנת
HTTPS
עם אישור תקין כדי לוודא שנתוני המשתמשים מועברים בצורה מאובטחת. - מוודאים שדף הכניסה פעיל לפחות ב-99.9%.
כשהדף של כניסה מוצג, Google Wallet יוצרת Android WebView ומתבצעת בקשה POST
לכתובת ה-URL שסיפקתם. נתוני המשתמשים מסופקים בפרמטר SharedDataType
שכלול בבקשת POST
באמצעות
סוג תוכן application/x-www-form-urlencoded וכן
קידוד UTF-8
. הערך של הפרמטר SharedDataType
הוא אובייקט JSON בקידוד Base64.
יישום דחייה מיידית של כרטיס המתנה ל-Google Wallet
אחרי האימות (הכניסה), הדף שלכם אמור להעביר מיד את כרטיס המתנה של המשתמש בחזרה ל-Google Wallet.
ניתן לדחות את כרטיס המתנה ל-Google Wallet על ידי הפניה אוטומטית אל שמופיע אחרי המבנה
https://pay.google.com/gp/v/save/{jwt_generated}
האורך הבטוח של כתובת URL הוא 2,000 תווים. הקישורים צריכים יישארו מתחת למגבלה הזו. אובייקטים שמקודדים ב-JWT צריכים להיות קטנים, ולהכיל רק שספציפיים למשתמש. כדאי לנסות לשמור את רוב הנתונים במחלקה של האובייקט, ליצור אותו לפני שיוצרים את ה-JWT. לגבי אובייקטים גדולים יותר שלא מגיעים למגבלה, כדאי לחשוב על קודם כל יוצרים את האובייקט Google Wallet API ושליחה של מזהה האובייקט ב-JWT בלבד.
תהליך תקשורת אופייני
תהליך התקשורת של משתמש שמשלים את הכניסה מוצג בתמונה הבאה. באחריותך להטמיע את כל הפעולות בין 'השרת שלך'.
שליחת בקשה לאימות ולהפעלה
אחרי שמסיימים את עבודות הפיתוח ובודקים את תהליך הכניסה לחשבון, שולחים בקשה באמצעות פנייה לתמיכה במסוף Google Pay ו-Wallet לווידג'ט הזה.
אחרי בדיקה מלאה של ההטמעה שתאשר שהתכונה פועלת כמו שצריך בשילוב עם אפליקציית Google Wallet, תהיה לנו אפשרות להשיק את התכונה 'כניסה באמצעות כרטיס מתנה' באופן ציבורי בתוכנית של כרטיסי המתנה שלכם. כך כל משתמש יכול לראות ולהשתמש בתכונה הזו.
כדי להבטיח חוויית משתמש אופטימלית, נבצע בדיקות חוזרות של הטמעת הכניסה כדי לוודא שהיא עומדת בדרישות התכונה. אם יהיו אי-התאמות, תקבלו הודעה על כך ויכול להיות שתכונה הכניסה תושבת עד שהבעיה תיפתר.
שאלות נפוצות
- האם יש דרישות לגבי התמונות שנעשה בהן שימוש בתוכנית של כרטיסי המתנה שלי?
- כן, התמונות שלך צריכות להתארח במיקום אחד (
HTTPS
) כי אחרת הם לא יוצגו ב'Google Wallet'.
- כן, התמונות שלך צריכות להתארח במיקום אחד (
- האם יש כלים שמפשטים את ההטמעה וניפוי הבאגים של JWT?
- כן, פלטפורמות כמו www.jwt.io מאפשרות לכם לפענח ולנפות באגים באסימונים במהלך תהליך הפיתוח, וכך לאמת התוכן שאתם שולחים. שימו לב של-Google אין כל שיוך, להמליץ באופן ספציפי על צדדים שלישיים כאלה.
- איך אנחנו מטפלים בצורה נכונה בנתוני SharedDataType בקידוד Base64?
- חשוב לוודא שאתם משתמשים בקידוד UTF-8 לאורך התהליך. המחרוזת של ה-JSON מקודדת קודם ב-UTF-8 ולאחר מכן ב-android.util.Base64 עם האפשרויות NO_WRAP ו-URL_SAFE. הוא תואם ל- RFC 3548, סעיף 4.