1. บทนำ
ภาพรวม
Google Wallet API ช่วยให้คุณเข้าถึงผู้ใช้ผ่านบัตรประเภทต่างๆ ได้ เช่น บัตรสะสมคะแนน ข้อเสนอ บัตรของขวัญ ตั๋วเข้างาน ตั๋วโดยสาร บอร์ดดิ้งพาส และอื่นๆ บัตรแต่ละประเภทหรือคลาสบัตรจะมีช่องและฟีเจอร์เฉพาะสำหรับ Use Case เพื่อปรับปรุงประสบการณ์ของผู้ใช้
อย่างไรก็ตาม วิธีการเหล่านี้อาจไม่เหมาะกับทุกกรณีการใช้งาน หากต้องการสร้างประสบการณ์การใช้งานที่ปรับแต่งมากขึ้น คุณสามารถใช้บัตรประเภททั่วไปได้ ตัวอย่างกรณีการใช้งานสำหรับบัตรประเภททั่วไปมีดังนี้
- บัตรจอดรถ
- บัตรสมาชิกห้องสมุด
- บัตรกำนัลมูลค่าที่เก็บไว้
- บัตรสมาชิกฟิตเนส
- การจอง
คุณใช้บัตรทั่วไปสำหรับ Use Case ใดก็ได้ที่แสดงได้ด้วยสิ่งต่อไปนี้
- ข้อมูลสูงสุด 3 แถว
- (ไม่บังคับ) กราฟิกบาร์โค้ด
- (ไม่บังคับ) ส่วนรายละเอียด
ดูข้อมูลเพิ่มเติมเกี่ยวกับ Google Wallet API หรือการเพิ่มปุ่มเพิ่มลงใน Google Wallet ลงในแอปพลิเคชัน Android ได้ที่เอกสารสำหรับนักพัฒนาซอฟต์แวร์ของ Google Wallet
ส่งคลาสและออบเจ็กต์
Google Wallet API เปิดเผยวิธีการสร้างรายการต่อไปนี้
ประเภท | คำอธิบาย |
คลาสบัตร | เทมเพลตสำหรับออบเจ็กต์บัตรแต่ละใบ ซึ่งมีข้อมูลที่ใช้ร่วมกันในออบเจ็กต์บัตรทั้งหมดที่อยู่ในคลาสนี้ |
ออบเจ็กต์บัตร | อินสแตนซ์ของคลาสบัตรที่ไม่ซ้ำกันสำหรับรหัสผู้ใช้ |
เกี่ยวกับ Codelab นี้
ในโค้ดแล็บนี้ คุณจะได้ทํางานต่อไปนี้
- สร้างบัญชีผู้ออกบัตรใหม่ในโหมดสาธิต
- สร้างบัญชีบริการสำหรับการออกบัตร
- สร้างคลาสบัตรทั่วไปใหม่
- สร้างออบเจ็กต์บัตรใหม่
- สร้างปุ่มเพิ่มลงใน Google Wallet เพื่อบันทึกบัตร
- แสดงปุ่มในแอป Android
- จัดการผลการบันทึกบัตร
ข้อกำหนดเบื้องต้น
- Android Studio
- Git
- บัญชี Google ที่มีสิทธิ์เข้าถึงคอนโซล Google Cloud
- Node.js เวอร์ชัน 10 ขึ้นไป
วัตถุประสงค์
หลังจากทำ Codelab นี้เสร็จแล้ว คุณจะทำสิ่งต่อไปนี้ได้
- เพิ่ม Google Wallet SDK ลงในแอป Android
- ตรวจสอบว่า Google Wallet API พร้อมใช้งานในอุปกรณ์ที่ใช้ Android หรือไม่
- สร้างปุ่มเพิ่มลงใน Google Wallet
การสนับสนุน
หากติดขัดในส่วนใดของ Codelab google-pay/wallet-android-codelab บน GitHub มีโซลูชันที่สมบูรณ์ให้คุณใช้อ้างอิง
2. ตั้งค่า
ในขั้นตอนนี้ คุณจะได้สร้างบัญชีผู้ออกบัตรในโหมดสาธิต ซึ่งจะช่วยให้คุณสร้างคลาสและออบเจ็กต์บัตรที่เพิ่มลงในกระเป๋าเงินของผู้ใช้ได้ จากนั้นคุณจะสร้างโปรเจ็กต์และบัญชีบริการของ Google Cloud โดยจะใช้เพื่อสร้างคลาสและออบเจ็กต์บัตรแบบเป็นโปรแกรมในลักษณะเดียวกับเซิร์ฟเวอร์แบ็กเอนด์ สุดท้าย คุณจะให้สิทธิ์บัญชีบริการ Google Cloud ในการจัดการบัตรในบัญชีผู้ออกบัตร Google Wallet
ลงชื่อสมัครใช้บัญชีผู้ออก Google Wallet API
คุณต้องมีบัญชีผู้ออกบัตรเพื่อสร้างและเผยแพร่บัตรสำหรับ Google Wallet คุณลงชื่อสมัครใช้ได้โดยใช้ Google Pay & Wallet Console ในตอนแรก คุณจะมีสิทธิ์สร้างบัตรในโหมดสาธิต ซึ่งหมายความว่าเฉพาะผู้ใช้ทดสอบบางรายเท่านั้นที่จะเพิ่มบัตรที่คุณสร้างได้ คุณจัดการผู้ใช้ทดสอบได้ใน Google Pay และ Wallet Console
ดูข้อมูลเพิ่มเติมเกี่ยวกับโหมดสาธิตได้ที่ข้อกำหนดเบื้องต้นสำหรับบัตรทั่วไป
- เปิด Google Pay & Wallet Console
- ทำตามวิธีการบนหน้าจอเพื่อสร้างบัญชีผู้ออกบัตร
- เลือก Google Wallet API
- ยืนยันว่าคุณเข้าใจข้อกำหนดในการให้บริการและนโยบายความเป็นส่วนตัว
- คัดลอกค่ารหัสผู้ออกไปยังโปรแกรมแก้ไขข้อความหรือตำแหน่งอื่นๆ
- ในแท็บจัดการ ให้เลือกตั้งค่าบัญชีทดสอบ
- เพิ่มอีเมลที่คุณจะใช้ในโค้ดแล็บนี้
เปิดใช้ Google Wallet API
- ลงชื่อเข้าใช้คอนโซล Google Cloud
- หากยังไม่มีโปรเจ็กต์ Google Cloud ให้สร้างตอนนี้ (ดูข้อมูลเพิ่มเติมได้ที่การสร้างและการจัดการโปรเจ็กต์)
- เปิดใช้ Google Wallet API (หรือที่เรียกว่า Google Pay for Passes API) สำหรับโปรเจ็กต์
สร้างบัญชีบริการและคีย์
คุณต้องมีบัญชีบริการและคีย์บัญชีบริการเพื่อเรียกใช้ Google Wallet API บัญชีบริการคือข้อมูลประจำตัวที่เรียก Google Wallet API คีย์บัญชีบริการมีคีย์ส่วนตัวที่ระบุแอปพลิเคชันของคุณเป็นบัญชีบริการ คีย์นี้เป็นข้อมูลที่ละเอียดอ่อน ดังนั้นโปรดเก็บไว้เป็นความลับ
สร้างบัญชีบริการ
- เปิดบัญชีบริการในคอนโซล Google Cloud
- ป้อนชื่อ รหัส และคำอธิบายสำหรับบัญชีบริการ
- เลือกสร้างและดำเนินการต่อ
- เลือกเสร็จสิ้น
สร้างคีย์บัญชีบริการ
- เลือกบัญชีบริการ
- เลือกเมนูคีย์
- เลือกเพิ่มคีย์ แล้วเลือกสร้างคีย์ใหม่
- เลือกประเภทคีย์ JSON
- เลือกสร้าง
คุณจะได้รับข้อความแจ้งให้บันทึกไฟล์คีย์ลงในเวิร์กสเตชันในเครื่อง อย่าลืมจำตำแหน่งของไฟล์
ตั้งค่าตัวแปรสภาพแวดล้อม GOOGLE_APPLICATION_CREDENTIALS
ตัวแปรสภาพแวดล้อม GOOGLE_APPLICATION_CREDENTIALS
ใช้โดย Google SDK เพื่อตรวจสอบสิทธิ์ในฐานะบัญชีบริการและเข้าถึง API ต่างๆ สำหรับโปรเจ็กต์ Google Cloud
- ทำตามวิธีการในเอกสารประกอบเกี่ยวกับคีย์บัญชีบริการของ Google Cloud เพื่อตั้งค่าตัวแปรสภาพแวดล้อม
GOOGLE_APPLICATION_CREDENTIALS
- ตรวจสอบว่าได้ตั้งค่าตัวแปรสภาพแวดล้อมในเซสชันเทอร์มินัล (MacOS/Linux) หรือบรรทัดคำสั่ง (Windows) ใหม่แล้ว (คุณอาจต้องเริ่มเซสชันใหม่หากมีเซสชันที่เปิดอยู่แล้ว)
echo $GOOGLE_APPLICATION_CREDENTIALS
ให้สิทธิ์บัญชีบริการ
สุดท้าย คุณจะต้องให้สิทธิ์บัญชีบริการในการจัดการบัตร Google Wallet
- เปิด Google Pay & Wallet Console
- เลือกผู้ใช้
- เลือกเชิญผู้ใช้
- ป้อนอีเมลของบัญชีบริการ (เช่น
test-svc@myproject.iam.gserviceaccount.com
) - เลือกนักพัฒนาแอปหรือผู้ดูแลระบบจากเมนูแบบเลื่อนลงระดับการเข้าถึง
- เลือกเชิญ
3. สร้างคลาสบัตรทั่วไป
ในขั้นตอนนี้ คุณจะได้สร้างคลาสฐานสำหรับบัตร ทุกครั้งที่มีการสร้างบัตรใหม่สำหรับผู้ใช้ บัตรนั้นจะรับค่าพร็อพเพอร์ตี้ที่กำหนดไว้ในคลาสบัตร
คลาสบัตรที่คุณจะสร้างใน Codelab นี้จะใช้ความยืดหยุ่นของบัตรทั่วไปเพื่อสร้างออบเจ็กต์ที่ใช้ได้ทั้งเป็นป้ายประจำตัวและเครื่องมือติดตามคะแนนความท้าทาย เมื่อสร้างออบเจ็กต์บัตรจากคลาสนี้ ออบเจ็กต์จะปรากฏเหมือนในกราฟิกต่อไปนี้
คุณสร้างคลาสบัตรได้โดยตรงใน Google Pay และ Wallet Console หรือจะใช้ Google Wallet API ก็ได้ ในโค้ดแล็บนี้ คุณจะได้สร้างคลาสบัตรทั่วไปโดยใช้ API ซึ่งเป็นไปตามกระบวนการที่เซิร์ฟเวอร์แบ็กเอนด์ส่วนตัวจะใช้เพื่อสร้างคลาสบัตร
- โคลนที่เก็บ google-pay/wallet-android-codelab GitHub ไปยังเวิร์กสเตชันในเครื่อง
git clone https://github.com/google-pay/wallet-android-codelab.git
- เปิดที่เก็บที่โคลนในเทอร์มินัลหรือพรอมต์บรรทัดคำสั่ง
- ไปที่ไดเรกทอรี
backend
(สคริปต์เหล่านี้เลียนแบบการดำเนินการของเซิร์ฟเวอร์แบ็กเอนด์)cd backend
- ติดตั้งการอ้างอิง Node.js
npm install .
- เปิด
generic_class.js
ในไดเรกทอรีbackend
- แทนที่ค่าของ
issuerId
ด้วยรหัสผู้ออกบัตรจาก Google Pay & Wallet Console// TODO: Define Issuer ID let issuerId = 'ISSUER_ID';
- เรียกใช้
generic_class.js
สคริปต์ในเทอร์มินัลหรือพรอมต์บรรทัดคำสั่งnode generic_class.js
เมื่อโค้ดทำงาน ระบบจะสร้างคลาสบัตรใหม่และแสดงผลรหัสคลาส รหัสคลาสประกอบด้วยรหัสผู้ออกตามด้วยคำต่อท้ายที่นักพัฒนาแอปกำหนด ในกรณีนี้ ระบบจะตั้งค่าคำต่อท้ายเป็น codelab_class
(รหัสชั้นเรียนจะมีลักษณะคล้ายกับ 1234123412341234123.codelab_class
) บันทึกเอาต์พุตจะมีการตอบกลับจาก Google Wallet API ด้วย
4. เปิดโปรเจ็กต์ใน Android Studio
ที่เก็บ GitHub ที่คุณโคลนมีโปรเจ็กต์ Android ที่มีกิจกรรมว่างเปล่า ในขั้นตอนนี้ คุณจะแก้ไขกิจกรรมนี้เพื่อใส่ปุ่มเพิ่มลงใน Google Wallet ในหน้าผลิตภัณฑ์
- เปิด Android Studio
- เลือกไฟล์ แล้วเลือกเปิด
- เลือกไดเรกทอรี
android
ในที่เก็บ - เลือกเปิด
เพิ่ม Google Wallet SDK ลงในแอป
- เปิดไฟล์บิลด์ Gradle ระดับโมดูล (
android/app/build.gradle
) - เพิ่ม Google Wallet SDK ลงในส่วน
dependencies
// TODO: Add the "com.google.android.gms:play-services-pay" dependency to // use the Google Wallet API implementation "com.google.android.gms:play-services-pay:16.0.3"
- บันทึกไฟล์
- เลือกไฟล์ แล้วเลือกซิงค์โปรเจ็กต์กับไฟล์ Gradle
5. สร้างปุ่ม เพิ่มลงใน Google Wallet
ในขั้นตอนนี้ คุณจะสร้างปุ่มเพิ่มลงใน Google Wallet และเพิ่มลงในกิจกรรมที่มีอยู่ ระบบได้รวมชิ้นงานสำหรับปุ่มไว้ในโปรเจ็กต์แล้ว หากต้องการรวมปุ่ม คุณจะต้องสร้างไฟล์เลย์เอาต์แยกต่างหาก เมื่อเพิ่มแล้ว ปุ่มจะมีลักษณะดังนี้
- สร้างไฟล์เลย์เอาต์ใหม่:
app/src/main/res/layout/add_to_google_wallet_button.xml
- เพิ่มเนื้อหาต่อไปนี้ลงในไฟล์เลย์เอาต์ใหม่
<?xml version="1.0" encoding="utf-8"?> <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="48sp" android:background="@drawable/add_to_google_wallet_button_background_shape" android:clickable="true" android:contentDescription="@string/add_to_google_wallet_button_content_description" android:focusable="true"> <ImageView android:layout_width="227dp" android:layout_height="26dp" android:layout_gravity="center" android:duplicateParentState="true" android:src="@drawable/add_to_google_wallet_button_foreground" /> </FrameLayout>
- ใส่เลย์เอาต์
add_to_google_wallet_button.xml
ในไฟล์เลย์เอาต์กิจกรรมการชำระเงิน (app/src/main/res/layout/activity_checkout.xml
)<!-- TODO: Create the button under `add_to_google_wallet_button.xml` and include it in your UI --> <include android:id="@+id/addToGoogleWalletButton" layout="@layout/add_to_google_wallet_button" android:layout_width="match_parent" android:layout_height="48dp" android:layout_marginTop="10dp" />
6. ตรวจสอบว่า Google Wallet API พร้อมใช้งานหรือไม่
หากผู้ใช้เปิดแอปในอุปกรณ์ที่ไม่รองรับ Google Wallet API ผู้ใช้อาจได้รับประสบการณ์ที่ไม่ดีเมื่อพยายามเพิ่มบัตร หากอุปกรณ์ของผู้ใช้ไม่รองรับ Google Wallet API การซ่อนปุ่มเพิ่มลงใน Google Wallet จะช่วยหลีกเลี่ยงความสับสนที่อาจเกิดขึ้น API อาจไม่พร้อมใช้งานด้วยเหตุผลต่างๆ เช่น เวอร์ชันของ Android หรือ Google Play Services ล้าสมัย หรือ Google Wallet ไม่พร้อมให้บริการในประเทศของผู้ใช้
ในขั้นตอนนี้ คุณจะเพิ่มตรรกะลงในแอปเพื่อตรวจสอบว่า Google Wallet API พร้อมใช้งานในอุปกรณ์หรือไม่ หากเป็นเช่นนั้น ระบบจะแสดงปุ่มในกิจกรรม ไม่เช่นนั้นปุ่มจะซ่อนอยู่
- เปิดไฟล์
CheckoutActivity.kt
ในapp/src/main/java/com/google/android/gms/samples/wallet/activity/
- สร้างพร็อพเพอร์ตี้คลาสสำหรับอินสแตนซ์
PayClient
// TODO: Create a client to interact with the Google Wallet API private lateinit var walletClient: PayClient
- สร้างอินสแตนซ์พร็อพเพอร์ตี้
PayClient
ในเมธอดonCreate
// TODO: Instantiate the client walletClient = Pay.getClient(this)
- สร้างเมธอดที่ตรวจสอบว่า Google Wallet SDK และ API พร้อมใช้งานในอุปกรณ์หรือไม่ และจัดการผลลัพธ์
// TODO: Create a method to check for the Google Wallet SDK and API private fun fetchCanUseGoogleWalletApi() { walletClient .getPayApiAvailabilityStatus(PayClient.RequestType.SAVE_PASSES) .addOnSuccessListener { status -> if (status == PayApiAvailabilityStatus.AVAILABLE) layout.passContainer.visibility = View.VISIBLE } .addOnFailureListener { // Hide the button and optionally show an error message } }
- เรียกใช้เมธอด
fetchCanUseGoogleWalletApi
ในเมธอดonCreate
เพื่อตรวจสอบว่า Google Wallet API พร้อมใช้งานหรือไม่// TODO: Check if the Google Wallet API is available fetchCanUseGoogleWalletApi()
เมื่อเรียกใช้แอป คุณควรเห็นปุ่มเพิ่มลงใน Google Wallet ใน UI
7. สร้างออบเจ็กต์บัตรทั่วไป
ตอนนี้คุณได้ยืนยันแล้วว่า Google Wallet API พร้อมใช้งานแล้ว คุณจึงสร้างบัตรและแจ้งให้ผู้ใช้เพิ่มบัตรลงใน Wallet ได้ การสร้างออบเจ็กต์บัตรสำหรับผู้ใช้มี 2 ขั้นตอน
สร้างออบเจ็กต์บัตรในเซิร์ฟเวอร์แบ็กเอนด์
ในแนวทางนี้ ระบบจะสร้างออบเจ็กต์บัตรบนเซิร์ฟเวอร์แบ็กเอนด์และส่งคืนไปยังแอปไคลเอ็นต์เป็น JWT ที่ลงชื่อ วิธีนี้เหมาะที่สุดสำหรับกรณีที่ผู้ใช้ยอมรับการใช้งานสูง เนื่องจากจะช่วยให้มั่นใจได้ว่าออบเจ็กต์มีอยู่ก่อนที่ผู้ใช้จะพยายามเพิ่มลงใน Wallet
สร้างออบเจ็กต์บัตรเมื่อผู้ใช้เพิ่มบัตรลงใน Wallet
ในแนวทางนี้ ระบบจะกำหนดและเข้ารหัสออบเจ็กต์บัตรเป็น JWT ที่ลงชื่อแล้วในเซิร์ฟเวอร์แบ็กเอนด์ จากนั้นระบบจะแสดงปุ่มเพิ่มลงใน Google Wallet ในแอปไคลเอ็นต์ที่อ้างอิง JWT เมื่อผู้ใช้เลือกปุ่ม ระบบจะใช้ JWT เพื่อสร้างออบเจ็กต์บัตร วิธีนี้เหมาะที่สุดสำหรับกรณีที่การยอมรับของผู้ใช้มีความผันแปรหรือไม่ทราบ เนื่องจากจะป้องกันไม่ให้มีการสร้างออบเจ็กต์บัตรและไม่ได้ใช้งาน เราจะใช้วิธีนี้ในโค้ดแล็บ
- เปิดไฟล์
backend/generic_pass.js
- แทนที่ค่าของ
issuerId
ด้วยรหัสผู้ออกบัตรจาก Google Pay & Wallet Console// TODO: Define Issuer ID let issuerId = 'ISSUER_ID';
- เรียกใช้ไฟล์
generic_pass.js
ในเทอร์มินัลหรือพรอมต์บรรทัดคำสั่งnode generic_pass.js
- คัดลอกโทเค็นเอาต์พุตไปยังคลิปบอร์ดหรือโปรแกรมแก้ไขข้อความ
เมื่อโค้ดทำงาน โค้ดจะกำหนดออบเจ็กต์บัตรใหม่และฝังไว้ใน JWT จากนั้นระบบจะลงนาม JWT ด้วยคีย์บัญชีบริการที่คุณสร้างไว้ก่อนหน้านี้ ซึ่งจะตรวจสอบสิทธิ์คำขอไปยัง Google Wallet API เพื่อให้ไม่ต้องจัดเก็บข้อมูลเข้าสู่ระบบในแอปไคลเอ็นต์
aside ในสภาพแวดล้อมการใช้งานจริง ระบบแบ็กเอนด์ของคุณจะมีหน้าที่สร้าง JWT และส่งคืนให้ไคลเอ็นต์ ในโค้ดแล็บนี้ generic_pass.js
สคริปต์จะจำลองลักษณะการทำงานนี้และ "ส่งคืน" โทเค็นให้คุณใช้ในแอปไคลเอ็นต์
8. เพิ่มบัตรลงใน Google Wallet
เมื่อยืนยันว่า Google Wallet API พร้อมใช้งานและสร้าง JWT ที่ลงชื่อแล้ว คุณก็แจ้งให้ผู้ใช้เพิ่มบัตรลงใน Wallet ได้ ในขั้นตอนนี้ คุณจะเพิ่ม Listener ลงในปุ่มเพิ่มลงใน Google Wallet ที่ใช้ Google Wallet API เพื่อบันทึกบัตรใน Wallet ของผู้ใช้
- เปิดไฟล์
app/src/main/CheckoutActivity.kt
- แทนที่ค่าของ
token
ด้วย JWT ที่คุณสร้างไว้ก่อนหน้านี้// TODO: Save the JWT from the backend "response" private val token = "TOKEN"
- สร้างพร็อพเพอร์ตี้คลาสเพื่อจัดเก็บรหัสคำขอ
// TODO: Add a request code for the save operation private val addToGoogleWalletRequestCode = 1000
- ตั้งค่า Listener สำหรับปุ่มเพิ่มลงใน Google Wallet
// TODO: Set an on-click listener on the "Add to Google Wallet" button addToGoogleWalletButton = layout.addToGoogleWalletButton.root addToGoogleWalletButton.setOnClickListener { walletClient.savePassesJwt(token, this, addToGoogleWalletRequestCode) }
เมื่อผู้ใช้เลือกปุ่มเพิ่มลงใน Google Wallet ระบบจะเรียกใช้เมธอด walletClient.savePassesJwt
วิธีนี้จะแจ้งให้ผู้ใช้เพิ่มออบเจ็กต์บัตรใหม่ลงใน Google Wallet
9. จัดการผลลัพธ์ savePassesJwt
ในขั้นตอนสุดท้ายของ Codelab นี้ คุณจะกำหนดค่าแอปให้จัดการผลลัพธ์ของการดำเนินการ walletClient.savePassesJwt
- เปิดไฟล์
app/src/main/CheckoutActivity.kt
- แทนที่เมธอด
onActivityResult
เพื่อให้มีโค้ดต่อไปนี้// TODO: Handle the result override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) { super.onActivityResult(requestCode, resultCode, data) if (requestCode == addToGoogleWalletRequestCode) { when (resultCode) { RESULT_OK -> { // Pass saved successfully. Consider informing the user. } RESULT_CANCELED -> { // Save canceled } PayClient.SavePassesResult.SAVE_ERROR -> data?.let { intentData -> val errorMessage = intentData.getStringExtra(PayClient.EXTRA_API_ERROR_MESSAGE) // Handle error. Consider informing the user. Log.e("SavePassesResult", errorMessage.toString()) } else -> { // Handle unexpected (non-API) exception } } } }
ตอนนี้แอปของคุณสามารถจัดการสถานการณ์ต่อไปนี้ได้แล้ว
- เพิ่มบัตรสำเร็จ
- การยกเลิกของผู้ใช้
- ข้อผิดพลาดที่ไม่คาดคิด
เรียกใช้แอปเพื่อยืนยันว่าคุณเพิ่มบัตรและจัดการผลลัพธ์ได้ตามที่คาดไว้
10. ขอแสดงความยินดี
ขอแสดงความยินดี คุณผสานรวม Google Wallet API ใน Android เรียบร้อยแล้ว
ดูข้อมูลเพิ่มเติม
ดูการผสานรวมที่สมบูรณ์ได้ในที่เก็บ google-pay/wallet-android-codelab บน GitHub
สร้างบัตรและขอสิทธิ์เข้าถึงการผลิต
เมื่อพร้อมที่จะออกบัตรของคุณเองในเวอร์ชันที่ใช้งานจริงแล้ว ให้ไปที่ Google Pay และ Wallet Console เพื่อขอสิทธิ์เข้าถึงเวอร์ชันที่ใช้งานจริงและให้สิทธิ์แอป Android ของคุณ
ดูข้อมูลเพิ่มเติมได้ที่ข้อกำหนดเบื้องต้นของ Android SDK