התכונה 'הרשמה לכרטיס מתנה (כניסה)' מאפשרת למשתמשים לחפש כרטיס מתנה ולהוסיף אותו ל-Google Wallet. המשתמשים יועברו לאתר שלכם שמותאם לניידים כדי להשלים את התהליך, ולאחר מכן יוכלו להוסיף את הכרטיס ל-Google Wallet.
המדריך הזה מספק סקירה כללית של שלבי ההטמעה הנדרשים כדי להפעיל את התכונה הזו בתוכנית כרטיסי המתנה שלכם.
סקירה כללית
לפני שמתחילים, צריך לוודא שהגדרתם את הפרויקט ויש לכם גישה ל-Google Wallet API.
כדי להטמיע את תכונת הכניסה לתוכנית של כרטיסי המתנה, צריך לפעול לפי ארבעת השלבים הבאים:
- מגדירים כיתה לבדיקה ב-Google Wallet כדי לבדוק את תהליך הכניסה.
- פיתוח דפי כניסה שמשתמשים ב-Google Wallet
SharedDataType
. - הטמעת דחיפה חוזרת של כרטיס מתנה ל-Google Wallet אחרי הכניסה לחשבון.
- שולחים בקשה לאימות ולהפעלה.
הגדרת כיתה לבדיקה ב-Google Wallet
קובעים את כתובת ה-URL לכניסה לחשבון ואת הלוגו של התוכנית. לאחר מכן, משתמשים בשדות ההשתייכות (nesting) של discoverableProgram
בקטע giftcardclass
כדי להגדיר את הערכים המתאימים.
מגדירים את הערכים בקטע discoverableProgram
כדי ליצור טיוטה של תוכנית כרטיסי המתנה שמופעלת באמצעות כניסה. כדי לוודא שהמידע הזה גלוי לבודקים, צריך לוודא שלבודקים יש גישה למסוף Google Pay ולמסוף Wallet. מידע נוסף על הדף 'משתמשים'
כדי להשלים את האימות של הפונקציונליות של ההטמעה במהלך תהליך הפיתוח, תוכלו לפנות אלינו באמצעות הווידג'ט ליצירת קשר עם התמיכה במסוף Google Pay ו-Wallet. במסוף, בוחרים בנושא Google Wallet API ובנושא המשנה כניסה באמצעות כרטיס מתנה.
פיתוח דף כניסה שמשתמש בנתוני משתמשים מ-Google Wallet
כשמשתמש בוחר להוסיף את כרטיס המתנה, הוא מועבר לדף מותאם אישית באתר שלכם כדי להשלים את תהליך הכניסה.
עליכם לספק כתובת URL לכניסה שבה משתמש יכול להיכנס לחשבון קיים.
דף הכניסה צריך לעמוד בדרישות הבאות:
- לספק חוויית משתמש ידידותית לניידים.
- מאפשרים למשתמש להשלים את הכניסה בדף אחד.
- משתמשים בהצפנת
HTTPS
עם אישור תקין כדי לוודא שנתוני המשתמשים מועברים בצורה מאובטחת. - חשוב לוודא שזמן הפעולה של דף הכניסה הוא לפחות 99.9%.
כשהדף של כניסה לחשבון מוצג, Google Wallet יוצרת Android WebView ומתבצעת בקשה מסוג POST
לכתובת ה-URL שסיפקתם. נתוני המשתמשים מוצגים בפרמטר SharedDataType
, שנכלל בבקשה POST
באמצעות קידוד UTF-8
וסוג התוכן
application/x-www-form-urlencoded. הערך של הפרמטר 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 and Wallet Console ליצירת קשר עם התמיכה.
אחרי בדיקה מלאה של ההטמעה שתאשר שהתכונה פועלת כמו שצריך בשילוב עם אפליקציית Google Wallet, תהיה לנו אפשרות להשיק את התכונה 'כניסה באמצעות כרטיס מתנה' באופן ציבורי בתוכנית של כרטיסי המתנה שלך. כך כל משתמש יוכל לראות את התוכנית ולהשתמש בתכונה הזו.
כדי להבטיח חוויית משתמש אופטימלית, נבצע בדיקות חוזרות של הטמעת הכניסה כדי לוודא שהיא עומדת בדרישות התכונה. אם יהיו אי-התאמות, תקבלו הודעה על כך ויכול להיות שתכונה הכניסה תושבת עד שהבעיה תיפתר.
שאלות נפוצות
- האם יש דרישות לגבי התמונות שמשמשות בתוכנית של כרטיסי המתנה?
- כן, התמונות צריכות להתארח במיקום
HTTPS
, אחרת הן לא יופיעו ב-Google Wallet.
- כן, התמונות צריכות להתארח במיקום
- האם יש כלים שמפשטים את ההטמעה וניפוי הבאגים של JWT?
- כן, פלטפורמות כמו www.jwt.io מאפשרות לפענח ולפתור באגים באסימונים במהלך תהליך הפיתוח, וכך לאמת את התוכן ששולחים. חשוב לדעת של-Google אין קשר לאף צד שלישי כזה, והיא לא ממליצה על אף אחד מהם באופן ספציפי.
- איך מטפלים בצורה נכונה בנתוני SharedDataType בקידוד Base64?
- חשוב לוודא שאתם משתמשים בקידוד UTF-8 לאורך התהליך. מחרוזת ה-JSON מקודדת קודם ב-UTF-8 ולאחר מכן ב- android.util.Base64 עם האפשרויות NO_WRAP ו-URL_SAFE. זה תואם לסעיף 4 ב-RFC 3548.