การตรวจสอบสิทธิ์สามารถเกิดขึ้นได้ในสภาพแวดล้อมที่แตกต่างกัน 3 แบบ:
- แอป Android ของผู้ผสานการชำระเงิน
- เว็บไซต์บนอุปกรณ์เคลื่อนที่ของผู้รวมการชำระเงิน
- เว็บไซต์บนเดสก์ท็อปของผู้รวมการชำระเงิน
ไม่ว่าขั้นตอนจะเป็นอย่างไร Google จะส่งต่อการโต้ตอบของผู้ใช้ไปยัง "การชำระเงิน" ของผู้รวมระบบ ผู้รวมการชำระเงินสามารถเลือกแสดงให้ผู้ใช้เห็น ของอินเทอร์เฟซหรือส่งคืนทันทีหากมีข้อมูลที่เหมาะสมอยู่แล้ว โฟลว์ทั้งหมดจะส่งผลให้ผู้ผสานรวมสร้าง AuthenticationResponse ช่วงเวลานี้ คำตอบมีการลงนามและส่งกลับไปยัง Google
เว็บไซต์ในอุปกรณ์เคลื่อนที่และเดสก์ท็อปต้องเป็นไปตาม WebRedirect Authentication API ในขณะที่กระบวนการของแอป Android ต้องเป็นไปตาม ข้อกำหนดของ API การตรวจสอบสิทธิ์
ผู้ผสานรวมระบบควรใช้โซลูชัน Android APK เพื่อตรวจสอบสิทธิ์ผู้ใช้ การตรวจสอบสิทธิ์นี้มีรูปแบบที่ต่างกัน แต่มีวัตถุประสงค์เดียวกับ การตรวจสอบสิทธิ์ที่ตั้งค่าโดยเว็บ การตรวจสอบสิทธิ์
ผู้ใช้ตรวจสอบสิทธิ์กับผู้รวบรวมการชำระเงินผ่านAndroid กิจกรรม จะมีการใช้ Intent ในการตรวจสอบสิทธิ์ระหว่างการเชื่อมโยงบัญชีและ อุปสรรคของผู้ใช้ ในการป้องกันไม่ให้ Android สิ้นสุดการใช้งาน Play ใน ระหว่างการตรวจสอบสิทธิ์ ผู้ผสานการทำงานจะต้องรวม ที่ตามมาในธีมกิจกรรม
<item name="android:windowIsTranslucent">true</item>
คำจำกัดความของเมธอด
Intent ต้องมีพร็อพเพอร์ตี้ต่อไปนี้
คุณสมบัติของเมธอด | |
---|---|
การดำเนินการ |
com.google.android.payments.standard.AUTHENTICATE_V1 |
หมวดหมู่ | android.intent.category.DEFAULT |
ส่งคำขอ
ช่อง | |
---|---|
gspAuthenticationRequest
|
AuthenticationRequest
คำขอการตรวจสอบสิทธิ์ |
gspAssociationId
|
string
หากมี ค่านี้จะมีตัวระบุที่ผู้ผสานรวมระบบใช้ดู ข้อมูลเข้าสู่ระบบของผู้ใช้ที่ถูกสอบถาม หากยังไม่มี ผู้ใช้มีตัวเลือกในการเปลี่ยนการระบุบัญชี |
คำตอบ
หลังจากผู้ใช้ตรวจสอบสิทธิ์เสร็จแล้ว แอปพลิเคชันจะต้องส่งผลลัพธ์ ต้องการกลับมาที่ Google ถ้าการตรวจสอบสิทธิ์เสร็จสมบูรณ์ ให้สร้าง Intent และเพิ่ม gspAuthenticationResponse ที่เข้ารหัสเป็นส่วนเพิ่มเติม ถัดไป ให้ตั้งค่าผลลัพธ์กิจกรรมเป็นรหัสผลลัพธ์ที่เหมาะสม
...
result.setExtra("gspAuthenticationResponse", gspAuthenticationResponse);
setResult(Activity.RESULT_OK, result);
...
finish();
ผลลัพธ์
ช่อง | |||||||
---|---|---|---|---|---|---|---|
ผลลัพธ์ |
int
|
เพิ่มเติม
ช่อง | |
---|---|
gspAuthenticationResponse |
AuthenticationResponse
การตอบกลับการตรวจสอบสิทธิ์ ค่าที่เข้ารหัสนี้ต้องไม่เกิน 1 KB |
ข้อกำหนดอื่นๆ เกี่ยวกับกิจกรรม
กิจกรรมที่รองรับการดำเนินการ AUTHENTICATE_V1
ที่กล่าวถึงข้างต้นจะต้อง
และตรวจสอบด้วยว่าการเรียก API มาจากแอปพลิเคชันที่ Google รับรองเท่านั้น
วิธีนี้จะช่วยป้องกันไม่ให้แอปอื่นๆ พยายามเรียกใช้กิจกรรมและ
เรียกโทเค็นประจำตัว ซึ่งสามารถทำได้โดยใช้
StandardPaymentUtils.verifyCallingActivityIsGoogleSigned
ทันทีหลังจาก super.onCreate
ภายใน
กิจกรรม
การใช้งานของคุณ
ตัวอย่างมีดังนี้
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
StandardPaymentsUtils.verifyCallingActivityIsGoogleSigned(this);
....
}
กิจกรรมทั้งหมดที่เรียกใช้ภายในโฟลว์ authenticate
จะต้องระบุกิจกรรม
ธีมที่มี windowIsTranslucent=true
ต้องดำเนินการด้วย
แอตทริบิวต์ android:theme ของ AndroidManifest และไม่ได้ใช้ Context.setTheme()
แบบเป็นโปรแกรม การตั้งค่าธีมทำงานไม่ถูกต้องสำหรับหน้าต่าง
ความโปร่งแสง Google จะบังคับให้กิจกรรมแรกที่เปิดตัวเป็นไปตาม
แต่กิจกรรมย่อยใดๆ ที่เปิดตัวด้วยต้องเป็นไปตาม
รูปแบบ ไม่เช่นนั้น การซื้อจากนักพัฒนาซอฟต์แวร์บุคคลที่สามอาจใช้งานไม่ได้