เข้าสู่ระบบด้วยคู่มือเริ่มต้นใช้งาน Amazon สำหรับ Android
เข้าสู่ระบบด้วย Amazon: คู่มือเริ่มต้นใช้งานสำหรับ Android
ลิขสิทธิ์© 2016 Amazon.com, Inc. หรือ บริษัท ในเครือ สงวนลิขสิทธิ์. Amazon และโลโก้ Amazon เป็นเครื่องหมายการค้าของ Amazon.com, Inc. หรือ บริษัท ในเครือ เครื่องหมายการค้าอื่น ๆ ทั้งหมดที่ไม่ได้เป็นของ Amazon ถือเป็นทรัพย์สินของเจ้าของที่เกี่ยวข้อง
เริ่มต้นใช้งาน Android
ในคู่มือนี้เราจะแสดงวิธีเพิ่มการเข้าสู่ระบบด้วย Amazon ไปยังแอป Android ของคุณ หลังจากทำตามคำแนะนำนี้เสร็จแล้วคุณควรมีปุ่มเข้าสู่ระบบด้วย Amazon ที่ใช้งานได้ในแอปของคุณเพื่อให้ผู้ใช้เข้าสู่ระบบด้วยข้อมูลประจำตัวของ Amazon
การติดตั้งเครื่องมือสำหรับนักพัฒนาซอฟต์แวร์ Android
การเข้าสู่ระบบด้วย Amazon SDK สำหรับ Android จะช่วยคุณเพิ่มการเข้าสู่ระบบด้วย Amazon ไปยังแอปพลิเคชัน Android ของคุณ เราขอแนะนำให้คุณใช้การเข้าสู่ระบบด้วย Amazon SDK สำหรับ Android จาก developer.amazon.com ด้วย Android Studio อย่างไรก็ตามคุณสามารถใช้ Eclipse กับปลั๊กอิน ADT ได้เช่นกัน สำหรับขั้นตอนในการติดตั้ง Android Studio และการตั้งค่า Android SDK โปรดดู รับ Android SDK ใน developer.android.com
เมื่อติดตั้ง Android SDK แล้วให้ค้นหาไฟล์ ตัวจัดการ SDK แอปพลิเคชันในการติดตั้ง Android ของคุณ ในการพัฒนาสำหรับการเข้าสู่ระบบด้วย Amazon คุณต้องใช้ SDK Manager เพื่อติดตั้งแพลตฟอร์ม SDK สำหรับ Android 2.2 ขึ้นไป (API เวอร์ชัน 8) ดู การเพิ่มแพ็คเกจ SDK ใน developer.android.com สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการใช้ SDK
หลังจากติดตั้ง SDK แล้วให้ตั้งค่า Android Virtual Device (AVD) สำหรับเรียกใช้แอปของคุณ ดู การจัดการ อุปกรณ์เสมือนจริง ใน developer.android.com สำหรับคำแนะนำในการตั้งค่าอุปกรณ์เสมือน
เมื่อสภาพแวดล้อมการพัฒนาของคุณถูกตั้งค่าคุณสามารถทำได้ ติดตั้งเข้าสู่ระบบด้วย Amazon SDK สำหรับ Android or วิ่งเอสampแอพ leตามที่อธิบายไว้ด้านล่าง
ติดตั้งเข้าสู่ระบบด้วย Amazon SDK สำหรับ Android
การเข้าสู่ระบบด้วย Amazon SDK สำหรับ Android มาในสองแพ็คเกจ อันแรกประกอบด้วยไลบรารี Android และเอกสารประกอบ ที่สองประกอบด้วย asampแอปพลิเคชันที่อนุญาตให้ผู้ใช้เข้าสู่ระบบและแสดง pro . ของตนfile ข้อมูล.
หากคุณยังไม่ได้ติดตั้ง Android SDK หรือ Android Development Tools โปรดดูที่ไฟล์ การติดตั้ง เครื่องมือสำหรับนักพัฒนาซอฟต์แวร์ Android ส่วนข้างบนนี้
- ดาวน์โหลด ซิป และสกัดเอา fileไปยังไดเร็กทอรีบนฮาร์ดไดรฟ์ของคุณ
คุณควรเห็น เอกสาร และก ลิบ ไดเรกทอรีย่อย - เปิด doc / index.html ถึง view การเข้าสู่ระบบด้วย Amazon Android API
- ดู ติดตั้งการเข้าสู่ระบบด้วย Amazon Library สำหรับคำแนะนำในการเพิ่มไลบรารีและเอกสารประกอบใน Android
เมื่อติดตั้งเข้าสู่ระบบด้วย Amazon SDK สำหรับ Android แล้วคุณสามารถทำได้ สร้างการเข้าสู่ระบบใหม่ด้วย Amazon โครงการ, หลังจาก การลงทะเบียนด้วยการเข้าสู่ระบบกับ Amazon .
วิ่งเอสampแอพ le
เพื่อเรียกใช้ sampแอปพลิเคชันนำเข้า sampลงในเวิร์กสเปซ AndroidStudio (หากคุณใช้ Eclipse คุณต้องเพิ่มที่เก็บคีย์การดีบักแบบกำหนดเองลงในเวิร์กสเปซด้วย ดู เพิ่ม Custom Debug ที่เก็บคีย์ใน Eclipse ส่วนด้านล่าง) คีย์ API ที่ sampแอปพลิเคชันที่ใช้ต้องการพื้นที่ทำงานเพื่อใช้ที่เก็บคีย์ที่มาพร้อมกับ sampเลอ หากไม่ได้ติดตั้งที่เก็บคีย์ที่กำหนดเอง ผู้ใช้จะไม่สามารถเข้าสู่ระบบโดยใช้ sampเลอ ระบบจะรับที่เก็บคีย์โดยอัตโนมัติหากคุณใช้ AndroidStudio
- ดาวน์โหลด SampleLoginWithAmazonAppForAndroid-src.zip และสกัดเอา fileไปยังไดเร็กทอรีบนฮาร์ดของคุณ
- เริ่ม Android Studio แล้วเลือก เปิดโครงการ Android Studio ที่มีอยู่
- เรียกดูไฟล์ Sampเข้าสู่ระบบด้วย AmazonApp ไดเร็กทอรีที่ได้รับหลังจากแตกไฟล์ zip ที่ดาวน์โหลดมา file ในขั้นตอน
- จาก สร้าง เมนู คลิก สร้างโครงการและรอให้โปรเจ็กต์
- จาก วิ่ง เมนู คลิก วิ่ง จากนั้นคลิก Sampเข้าสู่ระบบด้วย AmazonApp.
- เลือกโปรแกรมจำลองหรืออุปกรณ์ Android ที่เชื่อมต่อแล้วคลิก วิ่ง.
เพิ่มที่เก็บคีย์การดีบักแบบกำหนดเองใน Eclipse
หากคุณใช้ Eclipse ให้ทำตามคำแนะนำด้านล่างเพื่อเพิ่มที่เก็บคีย์การดีบักแบบกำหนดเอง:
- ใน การตั้งค่า กล่องโต้ตอบ เลือก แอนดรอยด์ และ สร้าง.
- ถัดจาก กำหนดเอง ดีบัก Keystore, คลิก ค้นหา.
- นำทางไปยัง sampไดเรกทอรีแอปและเลือก 3p.คีย์สโตร์แล้วคลิก OK.
การลงทะเบียนด้วยการเข้าสู่ระบบกับ Amazon
ก่อนที่คุณจะสามารถใช้งานการเข้าสู่ระบบด้วย Amazon บน webไซต์หรือในแอปมือถือ คุณต้องลงทะเบียนแอปพลิเคชันด้วย Login with Amazon แอปพลิเคชัน Login with Amazon ของคุณคือการลงทะเบียนที่มีข้อมูลพื้นฐานเกี่ยวกับธุรกิจของคุณ และข้อมูลเกี่ยวกับแต่ละ webไซต์หรือแอปมือถือที่คุณสร้างซึ่งรองรับการเข้าสู่ระบบด้วย Amazon ข้อมูลธุรกิจนี้จะแสดงให้ผู้ใช้เห็นทุกครั้งที่ใช้การเข้าสู่ระบบด้วย Amazon บน webเว็บไซต์หรือแอพมือถือ ผู้ใช้จะเห็นชื่อแอปพลิเคชัน โลโก้ของคุณ และลิงก์ไปยังนโยบายความเป็นส่วนตัวของคุณ ขั้นตอนเหล่านี้สาธิตวิธีการลงทะเบียนแอปพลิเคชันเข้าสู่ระบบด้วย Amazon และเพิ่มแอป Android ลงในบัญชีนั้น
ดูหัวข้อต่อไปนี้:
- ลงทะเบียนเข้าสู่ระบบของคุณด้วยแอปพลิเคชัน Amazon
- ลงทะเบียนแอป Android ของคุณ
- เพิ่มแอพ Android สำหรับ Amazon Appstore
- เพิ่มแอพ Android โดยไม่มี Appstore
- ลายเซ็นแอป Android และคีย์ API
- การกำหนดลายเซ็นแอป Android
- การดึงคีย์ API ของ Android
ลงทะเบียนเข้าสู่ระบบของคุณด้วยแอปพลิเคชัน Amazon
- ไปที่ https://login.amazon.com.
- หากคุณเคยสมัครเข้าสู่ระบบกับ Amazon มาก่อนให้คลิก App Console Appมิฉะนั้นให้คลิก สมัครสมาชิก. คุณจะถูกเปลี่ยนเส้นทางไปยัง Seller Central ซึ่งจัดการการลงทะเบียนแอปพลิเคชันสำหรับการเข้าสู่ระบบด้วยหากนี่เป็นครั้งแรกที่คุณใช้ Seller Central คุณจะถูกขอให้ตั้งค่าบัญชี Seller Central
- คลิก ลงทะเบียนสมัครใหม่. การ ลงทะเบียนใบสมัครของคุณ แบบฟอร์มจะปรากฏขึ้น:
a. ใน ลงทะเบียนใบสมัครของคุณ แบบฟอร์มป้อนไฟล์ ชื่อ และก คำอธิบาย สำหรับการใช้งานของคุณ
การ ชื่อ คือชื่อที่แสดงบนหน้าจอความยินยอมเมื่อผู้ใช้ตกลงที่จะแบ่งปันข้อมูลกับแอปพลิเคชันของคุณ ชื่อนี้ใช้ได้กับ Android, iOS และ webเวอร์ชันไซต์ของแอปพลิเคชันของคุณ
b. เข้าสู่ ประกาศความเป็นส่วนตัว URL สำหรับแอปพลิเคชันของคุณ
การ ประกาศความเป็นส่วนตัว URL คือที่ตั้งของนโยบายความเป็นส่วนตัวของบริษัทหรือแอปพลิเคชันของคุณ (เช่นampเล, http://www.example.com/privacy.html). ลิงก์นี้จะแสดงต่อผู้ใช้บนหน้าจอคำยินยอม
c. หากคุณต้องการเพิ่ม รูปภาพโลโก้ สำหรับการสมัครของคุณคลิก ค้นหา และค้นหารูปภาพที่ใช้ได้
โลโก้นี้แสดงอยู่ในหน้าจอลงชื่อเข้าใช้และยินยอมเพื่อแสดงถึงธุรกิจของคุณหรือ webงาน. โลโก้จะถูกย่อให้มีความสูง 50 พิกเซล หากสูงกว่า 50 พิกเซล ไม่จำกัดความกว้างของโลโก้ - คลิก บันทึก. สของคุณampการลงทะเบียนควรมีลักษณะคล้ายกับนี้:
หลังจากบันทึกการตั้งค่าแอปพลิเคชั่นพื้นฐานของคุณแล้ว คุณสามารถเพิ่มการตั้งค่าสำหรับเฉพาะได้ webเว็บไซต์และแอพมือถือที่จะใช้การเข้าสู่ระบบด้วยบัญชี Amazon
ลงทะเบียนแอป Android ของคุณ
ในการลงทะเบียนแอพ Android คุณมีทางเลือกในการลงทะเบียนแอพผ่าน Amazon Appstore (เพิ่มแอพ Android สำหรับ Amazon Appstore, หน้า 8) หรือเข้าสู่ระบบโดยตรงกับ Amazon (เพิ่ม Android แอพที่ไม่มี Appstore, หน้า 9). เมื่อแอปของคุณได้รับการลงทะเบียนคุณจะสามารถเข้าถึงคีย์ API ที่จะอนุญาตให้แอปของคุณเข้าถึงบริการการอนุญาตเข้าสู่ระบบด้วย Amazon
บันทึก: หากคุณวางแผนที่จะใช้ Amazon Device Messaging ภายในแอป Android ของคุณโปรดติดต่อ ลวา- support@amazon.com กับ:
- ที่อยู่อีเมลของบัญชี Amazon ที่คุณใช้ในการสมัครเข้าสู่ระบบด้วย Amazon
- ที่อยู่อีเมลของบัญชี Amazon ที่คุณใช้ในการสมัครใช้งาน Amazon Appstore (หากแตกต่างกัน)
- ชื่อในบัญชี Seller Central ของคุณ (ใน Seller Central คลิก การตั้งค่า> ข้อมูลบัญชี> ข้อมูลผู้ขายและใช้ ชื่อที่แสดง).
- ชื่อในบัญชีผู้พัฒนา Amazon Appstore ของคุณ (ในไซต์ Mobile App Distribution ให้คลิก การตั้งค่า > บริษัท โปรfile และใช้ ชื่อผู้พัฒนาหรือชื่อ บริษัท ).
เพิ่มแอพ Android สำหรับ Amazon Appstore
ขั้นตอนต่อไปนี้จะเพิ่มแอป Amazon Appstore ในการเข้าสู่ระบบด้วยบัญชี Amazon ของคุณ:
- จากหน้าจอแอปพลิเคชัน คลิก การตั้งค่าระบบแอนดรอยด์. หากคุณมีแอป Android ที่ลงทะเบียนแล้วให้มองหาไฟล์ เพิ่มคีย์ API ปุ่มใน การตั้งค่าระบบแอนดรอยด์
การ รายละเอียดแอปพลิเคชัน Android แบบฟอร์มจะปรากฏขึ้น: - เลือก ใช่ เพื่อตอบคำถาม“ แอปพลิเคชันนี้เผยแพร่ผ่าน Amazon Appstore หรือไม่”
- เข้าสู่ ฉลาก ของแอพ Android ของคุณ ไม่จำเป็นต้องเป็นชื่ออย่างเป็นทางการของแอป มันระบุแอพ Android นี้โดยเฉพาะระหว่างแอพและ webไซต์ที่ลงทะเบียนเข้าสู่ระบบด้วยแอปพลิเคชัน Amazon ของคุณ
- เพิ่มของคุณ รหัส Amazon Appstore
- หากคุณลงนามแอปด้วยตนเองให้เพิ่มข้อมูลการลงนามด้วยตนเอง สิ่งนี้จะช่วยให้คุณได้รับคีย์ API ระหว่างการพัฒนาโดยไม่ต้องใช้ Appstore โดยตรง:
a. หากแอปของคุณไม่ได้รับการลงชื่อผ่าน Amazon Appstore ให้เลือกใช่ในคำตอบสำหรับคำถาม“ แอปพลิเคชันนี้ลงนามด้วยตนเองหรือไม่”
การ รายละเอียดแอปพลิเคชัน Android แบบฟอร์มจะขยาย:
b. ป้อนของคุณ ชื่อแพ็กเกจ
ต้องตรงกับชื่อแพ็กเกจของโปรเจ็กต์ Android ของคุณ ในการกำหนดชื่อแพ็กเกจของโครงการ Android ของคุณให้เปิดโครงการในเครื่องมือสำหรับนักพัฒนาซอฟต์แวร์ Android ที่คุณเลือก
เปิด AndroidManifest.XML ใน Package Explorer และเลือกไฟล์ แสดงเจตนา แท็บ รายการแรกคือชื่อแพ็กเกจ
c. เข้าสู่แอป ลายเซ็น.
นี่คือค่าแฮช SHA-256 ที่ใช้เพื่อยืนยันแอปพลิเคชันของคุณ ลายเซ็นต้องอยู่ในรูปแบบเลขฐานสิบหก 32 คู่คั่นด้วยเครื่องหมายทวิภาค (เช่นampเลอ: 01:23:45:67:89:ab:cd:ef:01:23:45:67:89:ab:cd:ef:01:23:45:67:89:ab:cd:ef:01: 3:45:67:89:a b:cd:ef). ดู ลายเซ็นแอป Android และคีย์ API สำหรับขั้นตอนที่คุณสามารถใช้เพื่อดึงลายเซ็นออกจากโปรเจ็กต์ของคุณ - คลิก บันทึก.
หากเวอร์ชันต่างๆของแอปของคุณมีลายเซ็นหรือชื่อแพ็กเกจที่แตกต่างกันเช่นเวอร์ชันทดสอบอย่างน้อย XNUMX เวอร์ชันและเวอร์ชันที่ใช้งานจริงแต่ละเวอร์ชันต้องใช้คีย์ API จาก การตั้งค่าระบบแอนดรอยด์ ของแอปของคุณคลิก เพิ่มคีย์ API ปุ่มเพื่อสร้างคีย์เพิ่มเติมสำหรับแอปของคุณ (หนึ่งปุ่มต่อเวอร์ชัน)
ลายเซ็นแอป Android และคีย์ API
ลายเซ็นของแอปคือค่าแฮช SHA-256 ที่ใช้กับทุกแอป Android เมื่อสร้างขึ้น Amazon ใช้ลายเซ็นของแอปเพื่อสร้างคีย์ API ของคุณ คีย์ API ช่วยให้บริการของ Amazon จดจำแอปของคุณได้ หากคุณใช้ Amazon Appstore เพื่อลงนามแอปคีย์ API จะให้โดยอัตโนมัติ หากคุณไม่ได้ใช้ Amazon Appstore คุณจะต้องจัดการคีย์ API ด้วยตนเอง
ลายเซ็นของแอปจะถูกเก็บไว้ในที่เก็บคีย์ โดยทั่วไปสำหรับแอป Android จะมีที่เก็บคีย์การดีบักและที่เก็บคีย์รุ่น ที่เก็บคีย์การดีบักถูกสร้างขึ้นโดยปลั๊กอิน Android Development Tools สำหรับ Eclipse และถูกใช้โดยค่าเริ่มต้น คุณสามารถค้นหาตำแหน่งของที่เก็บคีย์การดีบักใน Eclipse ได้โดยคลิก หน้าต่างแล้วจึงเลือก ค่ากำหนด> Android> สร้าง. จากหน้าจอนั้นคุณยังสามารถเพิ่มที่เก็บคีย์การดีบักของคุณเองได้ สำหรับ Android Studio จากไฟล์ สร้าง เมนู เลือก แก้ไขประเภทการสร้างแล้วไปที่ การลงนาม และค้นหาที่เก็บคีย์การดีบักใน เก็บ File สนาม.
โดยปกติ ที่เก็บคีย์ของรุ่นจะถูกสร้างขึ้นเมื่อคุณส่งออกแอป Android เพื่อสร้าง APK . ที่ลงชื่อ file.
ในขั้นตอนการส่งออกหากคุณกำลังสร้างที่เก็บคีย์รีลีสใหม่คุณจะเลือกตำแหน่งของมัน โดย
ค่าเริ่มต้นจะถูกวางไว้ในตำแหน่งเดียวกับ KeyStore ดีบักเริ่มต้นของคุณ
หากคุณลงทะเบียนแอปของคุณโดยใช้ลายเซ็นแก้ไขข้อบกพร่องในระหว่างการพัฒนาคุณจะต้องเพิ่มการตั้งค่า Android ใหม่ให้กับแอปพลิเคชันของคุณเมื่อคุณพร้อมที่จะปล่อยแอป การตั้งค่าแอพใหม่ต้องใช้ลายเซ็นจากที่เก็บคีย์รีลีส
ดู การลงนามแอปพลิเคชันของคุณ ใน developer.android.com สำหรับข้อมูลเพิ่มเติม
กำหนดลายเซ็นแอป Android
- หากคุณมี APK . ที่ลงชื่อแล้ว file:
a. เปิดเครื่องรูด APK file และสารสกัด CERT.RSA. (คุณสามารถเปลี่ยนชื่อส่วนขยาย APK เป็น ZIP ได้หากจำเป็น)
b. จากบรรทัดคำสั่งเรียกใช้:เครื่องมือคีย์ -printcert -file CERT.RSA คีย์ทูลิส ตั้งอยู่ใน ถังขยะ ไดเร็กทอรีของการติดตั้ง Java ของคุณ
- หากคุณมีที่เก็บคีย์ file:
a. จากบรรทัดคำสั่งเรียกใช้:keytool -list -v -alias -keystorefileชื่อ> คีย์ทูล อยู่ในไดเร็กทอรี bin ของการติดตั้ง Java ของคุณ นามแฝงคือชื่อของคีย์ที่ใช้ในการลงนามแอป
b. ป้อนรหัสผ่านสำหรับคีย์แล้วกด เข้า. - ภายใต้ ลายนิ้วมือใบรับรอง คัดลอก เอสเอชเอ256 ค่า.
ดึงคีย์ API ของ Android
เมื่อคุณลงทะเบียนการตั้งค่า Android และให้ลายเซ็นแอปแล้ว คุณสามารถดึงคีย์ API จากหน้าการลงทะเบียนสำหรับแอปพลิเคชันเข้าสู่ระบบด้วย Amazon ของคุณ คุณจะต้องวางคีย์ API นั้นลงใน a file ในโครงการ Android ของคุณ แอปจะไม่ได้รับอนุญาตให้สื่อสารกับบริการอนุญาตการเข้าสู่ระบบด้วย Amazon จนกว่าคุณจะดำเนินการดังกล่าว
- ไปที่ https://login.amazon.com.
- คลิก App Console App.
- ใน แอปพลิเคชั่น ทางด้านซ้ายเลือกไฟล์
- ค้นหาแอพ Android ของคุณภายใต้ การตั้งค่าระบบแอนดรอยด์ (หากคุณยังไม่ได้ลงทะเบียนแอป Android โปรดดูที่ เพิ่มแอพ Android สำหรับ Amazon Appstore).
- คลิก สร้างค่าคีย์ API. หน้าต่างป๊อปอัปจะแสดงคีย์ API ของคุณ ในการคัดลอกคีย์ให้คลิก เลือกทั้งหมด เพื่อเลือกทั้งไฟล์
บันทึก: ค่าคีย์ API บางส่วนขึ้นอยู่กับเวลาที่สร้างขึ้น ดังนั้นค่าคีย์ API ที่ตามมาที่คุณสร้างอาจแตกต่างไปจากเดิม คุณสามารถใช้ค่าคีย์ API เหล่านี้ในแอปของคุณได้เนื่องจากถูกต้องทั้งหมด - ดู เพิ่มรหัส API ของคุณในโครงการของคุณ สำหรับคำแนะนำในการเพิ่มคีย์ API ลงใน Android ของคุณ
การสร้างการเข้าสู่ระบบด้วย Amazon Project
ในส่วนนี้คุณจะได้เรียนรู้วิธีสร้างโปรเจ็กต์ Android ใหม่สำหรับการเข้าสู่ระบบด้วย Amazon กำหนดค่าโปรเจ็กต์และเพิ่มโค้ดในโปรเจ็กต์เพื่อลงชื่อเข้าใช้ผู้ใช้ด้วยล็อกอินด้วย Amazon เราจะอธิบายขั้นตอนสำหรับ Android Studio แต่คุณสามารถใช้ขั้นตอนที่คล้ายคลึงกับเครื่องมือพัฒนา IDE หรือ Android ที่คุณเลือกได้
ดูหัวข้อต่อไปนี้:
- สร้างการเข้าสู่ระบบใหม่ด้วยโครงการ Amazon
- ติดตั้งการเข้าสู่ระบบด้วย Amazon Library
- เปิดใช้งาน Content Assist สำหรับการเข้าสู่ระบบด้วย Amazon Library
- ตั้งค่าสิทธิ์เครือข่ายสำหรับแอปของคุณ
- เพิ่มรหัส API ของคุณในโครงการของคุณ
- ถอด Sampที่เก็บคีย์ดีบักแบบกำหนดเองของแอป
- จัดการการเปลี่ยนแปลงการกำหนดค่าสำหรับกิจกรรมของคุณ
- เพิ่มกิจกรรมการให้สิทธิ์ในโครงการของคุณ
- เพิ่มการเข้าสู่ระบบด้วยปุ่ม Amazon ในแอปของคุณ
- จัดการปุ่มเข้าสู่ระบบและรับ Profile ข้อมูล
- ตรวจสอบการเข้าสู่ระบบของผู้ใช้เมื่อเริ่มต้น
- ล้างสถานะการอนุญาตและออกจากระบบผู้ใช้
- โทรหา Amazon Authorization Manager Methods แบบซิงโครนัส
สร้างการเข้าสู่ระบบใหม่ด้วยโครงการ Amazon
หากคุณยังไม่มีโครงการแอปสำหรับใช้เข้าสู่ระบบด้วย Amazon ให้ทำตามคำแนะนำด้านล่างเพื่อสร้าง หากคุณมีแอพอยู่แล้วให้ข้ามไปที่ ติดตั้งการเข้าสู่ระบบด้วย Amazon Library .
- ปล่อย เครื่องมือพัฒนา Android.
- จาก File เมนู เลือก ใหม่ และ โครงการ.
- ป้อน a ชื่อแอปพลิเคชั่น และ ชื่อบริษัท สำหรับคุณ
- เข้าสู่ ใบสมัครและชื่อ บริษัท ตรงกับชื่อแพ็กเกจที่คุณเลือกเมื่อคุณลงทะเบียนแอปของคุณด้วยการเข้าสู่ระบบด้วย Amazon
หากคุณยังไม่ได้ลงทะเบียนแอปของคุณให้เลือกไฟล์ ชื่อแพ็คเกจ จากนั้นทำตามคำแนะนำในไฟล์ การลงทะเบียนด้วยการเข้าสู่ระบบกับ Amazon หลังจากที่คุณสร้างโครงการของคุณ หากชื่อแพ็กเกจของแอปของคุณไม่ตรงกับชื่อแพ็กเกจที่ลงทะเบียนไว้การเข้าสู่ระบบด้วยการโทรของ Amazon จะไม่สำเร็จ - เลือก SDK ขั้นต่ำที่จำเป็น ของ API 8: Android 2 (Froyo) หรือสูงกว่าแล้วคลิก ต่อไป.
- เลือกประเภทกิจกรรมที่คุณต้องการสร้างแล้วคลิก ต่อไป.
- กรอกรายละเอียดที่เกี่ยวข้องแล้วคลิก เสร็จ.
ตอนนี้คุณจะมีโปรเจ็กต์ใหม่ในพื้นที่ทำงานของคุณที่คุณสามารถใช้เพื่อโทรเข้าสู่ระบบด้วย Amazon
ติดตั้งการเข้าสู่ระบบด้วย Amazon Library
หากคุณยังไม่ได้ดาวน์โหลดการเข้าสู่ระบบด้วย Amazon SDK สำหรับ Android โปรดดู ติดตั้งเข้าสู่ระบบด้วย Amazon SDK สำหรับ Android (หน้า 4)
- เมื่อโครงการของคุณเปิดในเครื่องมือสำหรับนักพัฒนาซอฟต์แวร์ Android ใน โครงการสำรวจ คลิกขวาที่ไฟล์ โครงการ.
- หากเรียกโฟลเดอร์ ห้องสมุด ไม่มีอยู่แล้วให้สร้าง
- คัดลอก เข้าสู่ระบบด้วย amazon-sdk.jar file จาก File ระบบแล้ววางลงในไฟล์ ห้องสมุด ไดเรกทอรีภายใต้โครงการ / แอปของคุณ
- คลิกขวา เข้าสู่ระบบด้วย amazon-sdk.jarและตรวจสอบ เพิ่มเป็นไลบรารี
เปิดใช้งาน Content Assist สำหรับการเข้าสู่ระบบด้วย Amazon Library ใน Eclipse
ในการเปิดใช้งานการสนับสนุนเนื้อหาช่วยเหลือ Eclipse ในโปรเจ็กต์ Android จำเป็นต้องใช้ไฟล์ .คุณสมบัติ file. สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการช่วยเหลือด้านเนื้อหา โปรดดูที่ Content / Code Assist onhelp.eclipse.org
ในการเปิดใช้งานการสนับสนุนเนื้อหาช่วยเหลือ Eclipse ในโปรเจ็กต์ Android จำเป็นต้องใช้ไฟล์ .คุณสมบัติ file. สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการช่วยเหลือด้านเนื้อหา โปรดดูที่ Content / Code Assist onhelp.eclipse.org
- In วินโดวส์เอ็กซ์พลอเรอร์, นำทางไปที่ เอกสาร โฟลเดอร์สำหรับเข้าสู่ระบบด้วย Amazon SDK สำหรับ Android และคัดลอกโฟลเดอร์ไปที่ไฟล์
- เมื่อโปรเจ็กต์ของคุณเปิดอยู่ให้ไปที่ แพ็คเกจเอ็กซ์พลอเรอร์ และเลือก ห้องสมุด คลิก แก้ไข จากเมนูหลักและเลือก แปะ. ตอนนี้คุณควรมีไฟล์ libs \ docs ไดเรกทอรี
- เลือก ห้องสมุด คลิก File จากเมนูหลักและเลือก ใหม่ และFile.
- ใน ใหม่ File กล่องโต้ตอบ เข้าสู่ เข้าสู่ระบบด้วย amazon-sdk.jar.properties และคลิก เสร็จ.
- Eclipse ควรเปิดขึ้น เข้าสู่ระบบด้วย amazon-sdk.jar.properties ในโปรแกรมแก้ไขข้อความ ในเท็กซ์เอดิเตอร์ เพิ่มบรรทัดต่อไปนี้ไปที่ file:
doc = เอกสาร - จาก File เมนู คลิก บันทึก.
- คุณอาจต้องรีสตาร์ท Eclipse เพื่อให้การเปลี่ยนแปลงมีผล
ตั้งค่าสิทธิ์เครือข่ายสำหรับแอปของคุณ
เพื่อให้แอปของคุณใช้เข้าสู่ระบบด้วย Amazon แอปจะต้องเข้าถึงอินเทอร์เน็ตและเข้าถึงข้อมูลสถานะเครือข่าย แอปของคุณต้องยืนยันสิทธิ์เหล่านี้ในรายการ Android ของคุณหากยังไม่มี
บันทึก: ขั้นตอนโพรซีเดอร์ด้านล่างนี้เฉพาะสำหรับการเพิ่มสิทธิ์ใน Eclipse หากคุณใช้ Android Studio หรือ IDE อื่นคุณสามารถข้ามขั้นตอนตัวเลขทั้งหมดด้านล่างนี้ได้ ให้คัดลอกบรรทัดของโค้ดที่แสดงด้านล่างภาพหน้าจอแทนและวางลงในไฟล์ แอนดรอยด์ Manifest.xml fileนอกบล็อกแอปพลิเคชัน
- In บรรจุุภัณฑ์ นักสำรวจ, ดับเบิลคลิก เอ็กซ์เอ็มแอล.
- บน การอนุญาต แท็บ คลิก เพิ่ม.
- เลือก ใช้สิทธิ์ และคลิก OK.
- ทางด้านขวาของ การอนุญาต, ค้นหา แอตทริบิวต์สำหรับการใช้สิทธิ์
- ใน ชื่อ ให้ป้อน การอนุญาต อินเทอร์เน็ต หรือเลือกจากเมนูแบบเลื่อนลง
- บน การอนุญาต แท็บ คลิก เพิ่ม
- เลือก ใช้สิทธิ์ และคลิก OK.
- ใน ชื่อ ให้ป้อน อนุญาต ACCESS_NETWORK_STATE หรือเลือกจากเมนูแบบเลื่อนลง
- จาก File เมนู คลิก บันทึก.
สิทธิ์รายการของคุณควรมีค่าดังต่อไปนี้:
ใน แอนดรอยด์ Manifest.xml ตอนนี้คุณควรเห็นรายการเหล่านี้ภายใต้องค์ประกอบรายการ:
เพิ่มรหัส API ของคุณในโครงการของคุณ
เมื่อคุณลงทะเบียนแอปพลิเคชัน Android ของคุณด้วยการเข้าสู่ระบบด้วย Amazon คุณจะได้รับคีย์ API นี่คือตัวระบุที่ Amazon Authorization Manager จะใช้เพื่อระบุแอปพลิเคชันของคุณในการเข้าสู่ระบบด้วยบริการอนุญาตของ Amazon หากคุณใช้ Amazon Appstore เพื่อลงนามแอปของคุณ Appstore จะให้คีย์ API โดยอัตโนมัติ หากคุณไม่ได้ใช้ Amazon Appstore Amazon Authorization Manager จะโหลดค่านี้ที่รันไทม์จากไฟล์ api_key.txt file ใน สินทรัพย์ ไดเรกทอรี
- หากคุณยังไม่มีคีย์ API ให้ทำตามคำแนะนำใน ดึงคีย์ API ของ Android (หน้า 11)
- เมื่อโปรเจ็กต์ ADT ของคุณเปิดจากไฟล์ File เมนู คลิก ใหม่ และเลือก ข้อความไม่มีชื่อ File. ตอนนี้คุณควรมีหน้าต่างตัวแก้ไขสำหรับข้อความ file ชื่อ ไม่มีชื่อ 1. เพิ่มคีย์ API ของคุณลงในข้อความ
- จาก File เมนู คลิก บันทึกเป็น.
- ใน บันทึกเป็น กล่องโต้ตอบให้เลือกไฟล์ สินทรัพย์ ไดเรกทอรีของโครงการของคุณเป็นโฟลเดอร์หลัก สำหรับ File ชื่อ, เข้า ข้อความ.
ถอด Sampที่เก็บคีย์ดีบักแบบกำหนดเองของแอป
บันทึก: ขั้นตอนนี้จำเป็นต่อเมื่อคุณใช้ Eclipse; หากคุณใช้ Android Studio ให้ข้ามหัวข้อนี้ไป
หากคุณติดตั้งการเข้าสู่ระบบด้วย Amazon สำหรับ Android sampลงในเวิร์กสเปซเดียวกันกับที่คุณใช้สำหรับแอพ Android คุณอาจมีชุดที่เก็บคีย์สำหรับดีบักแบบกำหนดเองสำหรับเวิร์กสเปซ คุณต้องล้างที่เก็บคีย์การดีบักแบบกำหนดเองเพื่อใช้คีย์ API ของคุณเอง
- จากเมนูหลักคลิก หน้าต่าง และเลือก การตั้งค่า.
- ใน การตั้งค่า กล่องโต้ตอบ เลือก แอนดรอยด์ และ สร้าง.
- เคลียร์ กำหนดเอง ดีบักที่เก็บคีย์
- คลิก OK.
จัดการการเปลี่ยนแปลงการกำหนดค่าสำหรับกิจกรรมของคุณ
หากผู้ใช้เปลี่ยนการวางแนวหน้าจอหรือเปลี่ยนสถานะแป้นพิมพ์ของอุปกรณ์ในขณะที่กำลังเข้าสู่ระบบระบบจะแจ้งให้รีสตาร์ทกิจกรรมปัจจุบัน การรีสตาร์ทนี้จะปิดหน้าจอเข้าสู่ระบบโดยไม่คาดคิด เพื่อป้องกันปัญหานี้คุณควรตั้งค่ากิจกรรมที่ใช้วิธีการอนุญาตเพื่อจัดการกับการเปลี่ยนแปลงการกำหนดค่าเหล่านั้นด้วยตนเอง การดำเนินการนี้จะป้องกันการเริ่มต้นกิจกรรมใหม่
- In บรรจุุภัณฑ์ นักสำรวจ, ดับเบิลคลิก เอ็กซ์เอ็มแอล.
- ใน แอปพลิเคชัน ส่วน ค้นหากิจกรรมที่จะจัดการกับการเข้าสู่ระบบด้วย Amazon (เช่นampเล, กิจกรรมหลัก).
- เพิ่มแอตทริบิวต์ต่อไปนี้ในกิจกรรมที่คุณพบในขั้นตอนที่ 2:
android: configChanges =” คีย์บอร์ด | keyboardHidden | orientation” หรือสำหรับ API 13 ขึ้นไป:
android: configChanges =” คีย์บอร์ด | keyboardHidden | การวางแนว | screenSize” - จาก File เมนู คลิก บันทึก
ตอนนี้เมื่อมีการเปลี่ยนแปลงการวางแนวแป้นพิมพ์หรืออุปกรณ์ Android จะเรียกไฟล์ onConfigurationChange วิธีการสำหรับกิจกรรมของคุณ คุณไม่จำเป็นต้องใช้ฟังก์ชันนี้เว้นแต่จะมีส่วนของการเปลี่ยนแปลงการกำหนดค่าเหล่านี้ที่คุณต้องการจัดการสำหรับแอปของคุณ
เมื่อผู้ใช้คลิกปุ่มเข้าสู่ระบบด้วย Amazon API จะเปิด a web เบราว์เซอร์เพื่อแสดงหน้าเข้าสู่ระบบและยินยอมให้กับผู้ใช้ เพื่อให้กิจกรรมเบราว์เซอร์นี้ทำงานได้ คุณต้องเพิ่ม AuthorizationActivity ลงในรายการของคุณ
- In บรรจุุภัณฑ์ นักสำรวจ, ดับเบิลคลิก เอ็กซ์เอ็มแอล.
- ใน แอปพลิเคชัน ส่วน เพิ่มรหัสต่อไปนี้ แทนที่ “com.example.app” พร้อมชื่อแพ็คเกจของคุณสำหรับแอพนี้:
<กิจกรรม android:name=
“ com.amazon.identity.auth.device.authorization.AuthorizationActivity” android: theme =” @ android: style / Theme.NoDisplay” android: allowTaskReparenting =” true” android: launchMode =” singleTask”>
<การกระทำ android:name=”android.intent.actionVIEW-
<ข้อมูล
android:host=”com.example.app” android:scheme=”amzn” />
แอปของคุณ ส่วนนี้จะให้ขั้นตอนในการดาวน์โหลดล็อกอินอย่างเป็นทางการด้วยอิมเมจ Amazon และจับคู่กับ Android ImageButton
- เพิ่ม ImageButton มาตรฐานให้กับแอปของคุณ
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับปุ่ม Android และคลาส ImageButton โปรดดู ปุ่ม ใน developer.android.com - ให้รหัสของคุณกับปุ่ม
ในการประกาศปุ่ม XML ให้ตั้งค่าแอตทริบิวต์ android:id เป็น @+id/login_with_amazon สำหรับอดีตampเลอ:Android: id =” @ + id / login_with_amazon” - เลือกภาพปุ่ม
ปรึกษาการเข้าสู่ระบบของเรากับ Amazon แนวทางสไตล์ สำหรับรายการปุ่มที่คุณสามารถใช้ในแอปของคุณ ดาวน์โหลดสำเนาของไฟล์ LWA_Android.zip file. แยกสำเนาของปุ่มที่คุณต้องการสำหรับแต่ละความหนาแน่นของหน้าจอที่แอพของคุณรองรับ (xxhdpi, xhdpi, hdpi, mdpi หรือ tvdpi) สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการรองรับความหนาแน่นของหน้าจอที่หลากหลายใน Android โปรดดูที่ เค้าโครงทางเลือก ในหัวข้อ“ การสนับสนุนหลายหน้าจอ” ondeveloper.android.com - คัดลอกรูปภาพปุ่มที่เหมาะสม fileไปที่โครงการของคุณ
สำหรับความหนาแน่นของหน้าจอแต่ละรายการที่คุณรองรับ (xhdpi, hdpi, mdpi หรือ ldpi) ให้คัดลอกปุ่มที่ดาวน์โหลดไปยัง res / วาดได้ ไดเร็กทอรีสำหรับความหนาแน่นของหน้าจอนั้น - ประกาศภาพปุ่ม
ในการประกาศปุ่ม XML ให้ตั้งค่าแอตทริบิวต์ android:src เป็นชื่อของปุ่มที่คุณเลือก สำหรับอดีตampเลอ:Android: src =” @ drawable / btnlwa_gold_loginwithamazon.png” 6. โหลดแอพของคุณและตรวจสอบว่าตอนนี้ปุ่มมีล็อกอินด้วยอิมเมจของ Amazon แล้ว คุณควรตรวจสอบว่าปุ่มแสดงอย่างเหมาะสมสำหรับความหนาแน่นของหน้าจอแต่ละรายการที่คุณรองรับ
ส่วนนี้อธิบายวิธีการเรียกผู้อนุญาตและ getProfile API เพื่อเข้าสู่ระบบผู้ใช้และดึงข้อมูลโปรfile ข้อมูล. ซึ่งรวมถึงการสร้างฟัง onClick สำหรับปุ่มเข้าสู่ระบบด้วย Amazon ของคุณในวิธีการ onCreate ของแอปของคุณ
- เพิ่มการเข้าสู่ระบบด้วย Amazon ในโครงการ Android ของคุณ ดู ติดตั้งการเข้าสู่ระบบด้วย Amazon Library .
- นำเข้าการเข้าสู่ระบบด้วย Amazon API ไปยังแหล่งที่มาของคุณ
ในการนำเข้าการเข้าสู่ระบบด้วย Amazon API ให้เพิ่มคำสั่งการนำเข้าต่อไปนี้ไปยังแหล่งที่มาของคุณ file:นำเข้า com.amazon.identity.auth.device.AuthError; นำเข้า
com.amazon.identity.auth.device.authorization.api
AmazonAuthorizationManager; นำเข้า
com.amazon.identity.auth.device.authorization.api AuthorizationListener; นำเข้า com.amazon.identity.auth.device.authorization.api.AuthzConstants; - การเริ่มต้น AmazonAuthorizationManager
คุณจะต้องประกาศไฟล์ AmazonAuthorizationManager ตัวแปรและสร้างอินสแตนซ์ใหม่ของคลาส การสร้างอินสแตนซ์ใหม่ต้องการเฉพาะบริบทแอปพลิเคชันปัจจุบันของคุณและบันเดิลว่าง สถานที่ที่ดีที่สุดในการเริ่มต้น AmazonAuthorizationManager อยู่ใน บนสร้าง วิธีกิจกรรมของคุณ สำหรับอดีตampเลอ: - สร้าง AuthorizeLiistener
อนุญาต Listener ใช้อินเทอร์เฟซ AuthorizatioinListener และจะประมวลผลผลลัพธ์ของไฟล์ Authorizecall. ประกอบด้วยสามวิธี: oinSuccess, ในข้อผิดพลาด และ onCanceil แต่ละวิธีจะได้รับ Bundle หรือ ข้อผิดพลาดในการตรวจสอบสิทธิ์ วัตถุ.คลาสส่วนตัว AuthorizeListener ใช้ AuthorizationListener {
/ * การอนุมัติเสร็จสมบูรณ์ * /
@แทนที่
โมฆะสาธารณะ onSuccess (การตอบกลับ Bundle) {
}
/ * เกิดข้อผิดพลาดระหว่างการพยายามอนุญาตแอปพลิเคชัน
*/
@แทนที่
โมฆะสาธารณะ onError (AuthError ae) {
}
/ * การอนุมัติถูกยกเลิกก่อนที่จะเสร็จสมบูรณ์ * /
@แทนที่
โมฆะสาธารณะ onCancel (Bundle cause) {
}
} - เรียก AmazonAuthorizationManager.authorize
ใน ออนคลิก ตัวจัดการสำหรับปุ่มเข้าสู่ระบบด้วย Amazon โทรอนุญาตเพื่อแจ้งให้ผู้ใช้เข้าสู่ระบบและอนุญาตแอปพลิเคชันของคุณ
วิธีนี้มีหน้าที่ในการให้สิทธิ์ลูกค้าด้วยวิธีใดวิธีหนึ่งดังต่อไปนี้:- สลับไปที่เบราว์เซอร์ระบบและให้ลูกค้าลงชื่อเข้าใช้และยินยอมตามที่ร้องขอ
- สลับไปที่ web view ในบริบทที่ปลอดภัยเพื่อให้ลูกค้าลงชื่อเข้าใช้และยินยอมตามที่ร้องขอ
บริบทที่ปลอดภัยสำหรับ #2 นี้มีให้บริการเป็นแอป Amazon Shopping บนอุปกรณ์ Android อุปกรณ์ที่สร้างโดย Amazon ที่ใช้ Fire OS (เช่นample Kindle Fire, Fire Phone และ Fire TV) ใช้ตัวเลือกนี้เสมอแม้ว่าจะไม่มีแอป Amazon Shopping บนอุปกรณ์ก็ตาม ด้วยเหตุนี้ หากลูกค้าลงชื่อเข้าใช้แอป Amazon Shopping แล้ว API นี้จะข้ามหน้าลงชื่อเข้าใช้ นำไปสู่ การลงชื่อเข้าใช้ครั้งเดียว ประสบการณ์สำหรับลูกค้า
เมื่อแอปพลิเคชันของคุณได้รับอนุญาตแอปพลิเคชันจะได้รับอนุญาตสำหรับชุดข้อมูลอย่างน้อยหนึ่งชุดที่เรียกว่า ขอบเขต. พารามิเตอร์แรกคืออาร์เรย์ของขอบเขตที่รวมข้อมูลผู้ใช้ที่คุณร้องขอจากการเข้าสู่ระบบด้วย Amazon ครั้งแรกที่ผู้ใช้ลงชื่อเข้าใช้แอปของคุณ พวกเขาจะแสดงรายการข้อมูลที่คุณร้องขอและขอการอนุมัติ การเข้าสู่ระบบด้วย Amazon ปัจจุบันรองรับสามขอบเขต: profileซึ่งประกอบด้วยชื่อผู้ใช้ ที่อยู่อีเมล และรหัสบัญชี Amazon โปรfile:user_id, ซึ่งมีเฉพาะรหัสบัญชี Amazon และ รหัสไปรษณีย์, ซึ่งมีรหัสไปรษณีย์ของผู้ใช้
วิธีที่ดีที่สุดในการเรียกใช้ Authorize คือแบบอะซิงโครนัสดังนั้นคุณไม่จำเป็นต้องบล็อกเธรด UI หรือสร้างเธรดผู้ปฏิบัติงานของคุณเอง โทร ได้รับอนุญาต ส่งผ่านวัตถุที่รองรับไฟล์ การอนุญาต เป็นพารามิเตอร์สุดท้าย:AmazonAuthorizationManager ส่วนตัว mAuthManager; @แทนที่
การป้องกันช่องว่าง onCreate(Bundle savedInstanceState) {
super.onCreate (saveInstanceState);
mAuthManager = AmazonAuthorizationManager ใหม่ (นี่คือ Bundle.EMPTY);// ค้นหาปุ่มที่มีรหัส login_with_amazon
// และตั้งค่าตัวจัดการคลิก
mLoginButton = (ปุ่ม) ค้นหาViewById(R.id.login_with_amazon);
mLoginButton.setOnClickListener (ใหม่ OnClickListener () {
@แทนที่
โมฆะสาธารณะ onClick(View วี) {
mAuthManager.authorize (
สตริงใหม่ []{“โปรfile","รหัสไปรษณีย์"},
Bundle.EMPTY, AuthorizeListener ใหม่ ());
}
-
} - สร้าง โปรfileผู้ฟัง
โปรfileผู้ฟัง เป็นชื่อของเราสำหรับคลาสที่ใช้ APIListener และจะประมวลผลผลลัพธ์ของไฟล์ รับโปรfile เรียก. APIListener มีสองวิธี: ความสำเร็จ และ onError (ไม่รองรับไฟล์ เปิดยกเลิก เพราะไม่มีวิธียกเลิกไฟล์ รับโปรfile โทร). ความสำเร็จ รับวัตถุ Bundle ด้วยprofile ข้อมูลในขณะที่ หนึ่งErior ได้รับไฟล์ ข้อผิดพลาดในการตรวจสอบสิทธิ์ วัตถุที่มีข้อมูลเกี่ยวกับข้อผิดพลาดคลาสส่วนตัว ProfileListener ใช้ APIListener{ /*getProfile สำเร็จลุล่วงไปด้วยดี */ @แทนที่
โมฆะสาธารณะ onSuccess (การตอบกลับ Bundle) {}
/* มีข้อผิดพลาดในระหว่างการพยายามรับโปรfile. */ @แทนที่
โมฆะสาธารณะ onError (AuthError ae) {
}
} - ดำเนินการ ความสำเร็จ สำหรับคุณ AuthorizeListener
In เมื่อประสบความสำเร็จ เรียก AmazonAuthorizationManager.getProfile เพื่อเรียกลูกค้า profile. รับโปรfile, เช่นอนุญาตใช้อินเทอร์เฟซสำหรับผู้ฟังแบบอะซิงโครนัส สำหรับ รับโปรfile, อินเทอร์เฟซนั้นคือ APIListener ไม่ใช่AuthorizationListener
/ * การอนุมัติเสร็จสมบูรณ์ */ @แทนที่
โมฆะสาธารณะ onSuccess (การตอบกลับ Bundle) {
mAuthManager.getProfile(โปรใหม่fileผู้ฟัง());} - ดำเนินการ บนSuccessfor ของคุณ โปรfileผู้ฟัง
บนความสำเร็จ สองงานหลัก: เพื่อดึงโปรfile ข้อมูลจาก Bundle การตอบสนองและส่งข้อมูลไปยัง UI อัพเดทโปรfileดาต้า ฟังก์ชันสมมติที่แอปของคุณสามารถใช้เพื่อแสดงโปรfile รายละเอียด. setLogedInState, ฟังก์ชั่นสมมุติฐานอื่นจะระบุว่าผู้ใช้เข้าสู่ระบบและให้วิธีการ ออกจากระบบ.
เพื่อดึงโปรfile ข้อมูลจาก Bundle เราใช้ชื่อที่จัดเก็บโดย ค่าคงที่ Authz ชั้นเรียน ความสำเร็จ บันเดิลประกอบด้วยโปรfile ข้อมูลใน BUNDLE_KEY.PROFILE มัด.
ภายในโปรfile บันเดิล ข้อมูลขอบเขตถูกจัดทำดัชนีภายใต้ โปรFILE_KEY.NAME โปรFILE_KEY.EMAIL โปรFILE_KEY.USER_ID, และ โปรFILE_KEY.POSTAL_CODE มือโปรFILE_KEY.POSTAL_CODE จะรวมเฉพาะในกรณีที่คุณขอไฟล์ รหัสไปรษณีย์ ขอบเขต.@แทนที่
โมฆะสาธารณะ onSuccess (การตอบกลับ Bundle) {
// ดึงข้อมูลที่เราต้องการจาก Bundle Bundle profileBundle = response.getBundle (
AuthzConstants.BUNDLE_KEY.PROFILE.วาล);
ชื่อสตริง = profileBundle.getString(
AuthzConstants.PROFILE_KEY.NAME.val);
อีเมลสตริง = profileBundle.getString(
AuthzConstants.PROFILE_KEY.EMAIL.val);
บัญชีสตริง = profileBundle.getString(
AuthzConstants.PROFILE_KEY.USER_ID.val);
รหัสไปรษณีย์สตริง = profileBundle.getString(
AuthzConstants.PROFILE_KEY.POSTAL_CODE.val);
runOnUiThread (Runnable ใหม่ () {@Override
โมฆะสาธารณะ run () {
อัพเดทโปรfileข้อมูล (ชื่อ อีเมล บัญชี รหัสไปรษณีย์);
}
-
} - ดำเนินการ มีข้อผิดพลาด สำหรับคุณ โปรfileผู้ฟัง
มีข้อผิดพลาด รวมถึง ข้อผิดพลาดในการตรวจสอบสิทธิ์ วัตถุที่มีรายละเอียดเกี่ยวกับข้อผิดพลาด/* มีข้อผิดพลาดในระหว่างการพยายามรับโปรfile. */ @แทนที่
โมฆะสาธารณะ onError (AuthError ae) {
/ * ลองอีกครั้งหรือแจ้งให้ผู้ใช้ทราบถึงข้อผิดพลาด * /
} - ดำเนินการ บนข้อผิดพลาดสำหรับ ของคุณ AuthorizeListener
/ * เกิดข้อผิดพลาดระหว่างการพยายามอนุญาตแอปพลิเคชัน
*/
@แทนที่
โมฆะสาธารณะ onError (AuthError ae) {
/ * แจ้งให้ผู้ใช้ทราบถึงข้อผิดพลาด * /
} - ดำเนินการ บนยกเลิกสำหรับ ของคุณ AuthorizeListener
เนื่องจากขั้นตอนการอนุญาตแสดงหน้าจอเข้าสู่ระบบ (และอาจเป็นหน้าจอยินยอม) ให้กับผู้ใช้ใน a web เบราว์เซอร์ (หรือ a webview), ผู้ใช้จะมีโอกาสยกเลิกการเข้าสู่ระบบหรือออกจาก web หน้าหนังสือ. หากพวกเขายกเลิกกระบวนการเข้าสู่ระบบอย่างชัดแจ้ง เปิดยกเลิก ถูกเรียก. ถ้า บนยกเลิก เรียกว่าคุณจะต้องรีเซ็ต UI ของคุณ/ * การอนุมัติถูกยกเลิกก่อนที่จะเสร็จสมบูรณ์ * /
@แทนที่
โมฆะสาธารณะ onCancel (Bundle cause) {
/ * รีเซ็ต UI เป็นสถานะพร้อมเข้าสู่ระบบ * /
}บันทึก: หากผู้ใช้ออกจากหน้าจอเข้าสู่ระบบในเบราว์เซอร์หรือ web view และสลับกลับไปที่แอปของคุณ SDK จะไม่ตรวจพบว่าการเข้าสู่ระบบไม่เสร็จสมบูรณ์ หากคุณตรวจพบกิจกรรมของผู้ใช้ในแอปของคุณก่อนที่การเข้าสู่ระบบจะเสร็จสมบูรณ์ คุณสามารถสันนิษฐานได้ว่าผู้ใช้ได้ออกจากเบราว์เซอร์และตอบสนองตามนั้น
ตรวจสอบการเข้าสู่ระบบของผู้ใช้เมื่อเริ่มต้น
หากผู้ใช้ล็อกอินเข้าสู่แอพของคุณปิดแอพและรีสตาร์ทแอพในภายหลังแสดงว่าแอพนั้นยังคงได้รับอนุญาตให้ดึงข้อมูล ผู้ใช้ไม่ได้ออกจากระบบโดยอัตโนมัติ เมื่อเริ่มต้นคุณสามารถแสดงผู้ใช้ว่าลงชื่อเข้าใช้หากแอปของคุณยังได้รับอนุญาต ส่วนนี้อธิบายวิธีใช้ getToken เพื่อดูว่าแอปยังได้รับอนุญาตหรือไม่
- สร้าง TokenListener
TokenListener ใช้ APIListener อินเทอร์เฟซและจะประมวลผลผลลัพธ์ของการโทร getToken APIListener มีสองวิธี: ความสำเร็จ และ มีข้อผิดพลาด (ไม่รองรับ เปิดยกเลิก เพราะไม่มีวิธียกเลิกไฟล์ รับโทเค็น โทร). ความสำเร็จ รับอ็อบเจ็กต์ Bundle พร้อมข้อมูลโทเค็นในขณะที่ มีข้อผิดพลาด ได้รับไฟล์ ข้อผิดพลาดในการตรวจสอบสิทธิ์ วัตถุที่มีข้อมูลเกี่ยวกับข้อผิดพลาดTokenListener คลาสส่วนตัวใช้ APIListener { / * getToken เสร็จสมบูรณ์ */ @แทนที่
โมฆะสาธารณะ onSuccess (การตอบกลับ Bundle) {
}
/ * เกิดข้อผิดพลาดระหว่างการพยายามรับโทเค็น */ @แทนที่
โมฆะสาธารณะ onError (AuthError ae) {
}
} - ใน บนเริ่ม วิธีการทำกิจกรรมของคุณโทร รับโทเค็น เพื่อดูว่าแอปพลิเคชันยังได้รับอนุญาตหรือไม่
รับโทเค็น ดึงโทเค็นการเข้าถึงดิบที่ AmazonAuthorizationManager ใช้เพื่อเข้าถึงโปรลูกค้าfile. หากค่าโทเค็นไม่เป็นโมฆะ แสดงว่าแอปยังคงได้รับอนุญาตและมีการเรียกไปยัง รับโปรfile ควรประสบความสำเร็จ รับโทเค็นต้องการ ขอบเขตเดียวกันกับที่คุณร้องขอในการโทรเพื่ออนุญาต
รับโทเค็นสนับสนุน การโทรแบบอะซิงโครนัสในลักษณะเดียวกับgetProfileดังนั้นคุณจึงไม่ต้องบล็อกเธรด UI หรือสร้างเธรดผู้ปฏิบัติงานของคุณเอง ในการเรียก getToken แบบอะซิงโครนัส ให้ส่งอ็อบเจ็กต์ที่รองรับ APIListener อินเทอร์เฟซเป็นพารามิเตอร์สุดท้าย@แทนที่
โมฆะป้องกัน onStart () {
super.onStart
();mAuthManager.getToken(สตริงใหม่ []{“profile","รหัสไปรษณีย์"},
ใหม่
TokenListener ());
} - ดำเนินการ ความสำเร็จ สำหรับคุณ TokenListener
บนความสำเร็จ สองงาน: เพื่อดึงโทเค็นจาก Bundle และหากโทเค็นถูกต้องให้เรียก รับโปรfile.
ในการดึงข้อมูลโทเค็นจาก Bundle เราใช้ชื่อที่จัดเก็บโดย ค่าคงที่ Authz ชั้นเรียน ความสำเร็จ บันเดิลมีข้อมูลโทเค็นในค่า BUNDLE_KEY.TOKEN ถ้าค่านั้นไม่เป็นโมฆะ ex . นี้ampเลอ โทร รับโปรfile โดยใช้ฟังก์ชั่นเดียวกับที่คุณประกาศในส่วนก่อนหน้า (ดูขั้นตอนที่ 7 และ 8)/ * getToken เสร็จสมบูรณ์ * /
@แทนที่
โมฆะสาธารณะ onSuccess (การตอบกลับ Bundle) {
สตริงสุดท้าย authzToken =
response.getString (AuthzConstants.BUNDLE_KEY.TOKEN.val);
ถ้า (! TextUtils.isEmpty (authzToken))
{
// ดึงโปรfile ข้อมูล
mAuthManager.getProfile(โปรใหม่fileผู้ฟัง ());
}
}
วิธีการ clearAuthorizationState จะล้างข้อมูลการให้สิทธิ์ของผู้ใช้จากที่จัดเก็บข้อมูลในเครื่องของ AmazonAuthorizationManager ผู้ใช้จะต้องเข้าสู่ระบบอีกครั้งเพื่อให้แอปสามารถเรียกโปรfile ข้อมูล. ใช้วิธีนี้เพื่อออกจากระบบผู้ใช้ หรือเพื่อแก้ไขปัญหาการเข้าสู่ระบบในแอป
- ใช้การออกจากระบบ
เมื่อผู้ใช้เข้าสู่ระบบสำเร็จแล้ว คุณควรจัดเตรียมกลไกการออกจากระบบเพื่อให้สามารถล้างโปรได้file ข้อมูลและขอบเขตที่ได้รับอนุญาตก่อนหน้านี้ กลไกของคุณอาจเป็นไฮเปอร์ลิงก์หรือรายการเมนู สำหรับอดีตนี้ampเราจะสร้าง ออนคลิก วิธีการสำหรับปุ่ม - ในตัวจัดการการออกจากระบบของคุณโทร clearAuthorizationState clearAuthorizationState จะลบข้อมูลการอนุญาตของผู้ใช้ (โทเค็นการเข้าถึง, profile) จากร้านค้าในพื้นที่ clearAuthorizationStatakes ไม่มีพารามิเตอร์ยกเว้นไฟล์ APIListener เพื่อคืนความสำเร็จหรือ
- ประกาศแบบไม่ระบุตัวตน APIListener
คลาสที่ไม่ระบุชื่อเป็นทางเลือกที่มีประโยชน์ในการประกาศคลาสใหม่ที่จะนำไปใช้ APIListener ดู จัดการปุ่มเข้าสู่ระบบและรับ Profile ข้อมูล (หน้า 17) สำหรับ exampLethat ประกาศชั้นเรียนผู้ฟัง - ดำเนินการ ความสำเร็จ ข้างใน APIListener
เมื่อไร สถานะการอนุญาตที่ชัดเจน ประสบความสำเร็จคุณควรอัปเดต UI ของคุณเพื่อลบการอ้างอิงถึงผู้ใช้และระบุกลไกการเข้าสู่ระบบที่ผู้ใช้สามารถใช้เพื่อเข้าสู่ระบบอีกครั้ง - ดำเนินการ มีข้อผิดพลาด ข้างใน APIListener
If clearAuthorizationStateturns เกิดข้อผิดพลาดคุณสามารถให้ผู้ใช้ลองออกจากระบบอีกครั้ง@แทนที่
การป้องกันช่องว่าง onCreate(Bundle savedInstanceState) {
super.onCreate (saveInstanceState);
/ * ก่อนหน้า onCreate การประกาศที่ละไว้ * /
// ค้นหาปุ่มที่มี ID การออกจากระบบและตั้งค่าตัวจัดการการคลิก
mLogoutButton = (ปุ่ม) ค้นหาViewById (R.id.logout);
mLogoutButton.setOnClickListener (ใหม่ OnClickListener () {
@แทนที่
โมฆะสาธารณะ onClick(View วี) {
mAuthManager.clearAuthorizationState (ใหม่
APIListener () {
@แทนที่
โมฆะสาธารณะ onSuccess (ผลลัพธ์ Bundle) {
// ตั้งค่าสถานะออกจากระบบใน UI
}
@แทนที่
โมฆะสาธารณะ onError (AuthError authError) {
// บันทึกข้อผิดพลาด
}
-
}
-
}
บาง AmazonAuthorizationManager วิธีการส่งคืนวัตถุในอนาคต วิธีนี้ช่วยให้คุณเรียกใช้เมธอดแบบซิงโครนัสแทนการส่งฟังเป็นพารามิเตอร์ได้ หากคุณใช้วัตถุในอนาคต คุณไม่ควรใช้วัตถุนั้นในเธรด UI หากคุณบล็อกเธรด UI นานกว่าห้าวินาที คุณจะได้รับข้อความแจ้ง ANR (แอปพลิเคชันไม่ตอบสนอง) ในการจัดการปุ่มเข้าสู่ระบบและรับ Profile ข้อมูลเช่นampเลอ , the ความสำเร็จ วิธีการสำหรับ อนุญาต Listener ถูกเรียกด้วยเธรดผู้ปฏิบัติงานที่สร้างขึ้นโดย AmazonAuthorizationManager ซึ่งหมายความว่าปลอดภัยที่จะใช้เธรดนั้นเพื่อเรียก getPirofile พร้อมกัน หากต้องการโทรแบบซิงโครนัส ให้กำหนดค่าที่ส่งกลับจาก รับปิโรfile ไปยังวัตถุในอนาคตและเรียกไฟล์ วิธีการ บนวัตถุนั้นเพื่อรอจนกว่าเมธอดจะเสร็จสมบูรณ์
Future.get ส่งคืนอ็อบเจ็กต์ Bundle ที่มีไฟล์ FUTURE_TYPE มูลค่าของ ความสำเร็จข้อผิดพลาด or ยกเลิก. หากวิธีการสำเร็จ บันเดิลเดียวกันจะมีPROFILE_KEY ค่าสำหรับโปรfile ข้อมูล. สำหรับอดีตampเลอ:
/ * การอนุมัติเสร็จสมบูรณ์ * / @แทนที่ โมฆะสาธารณะ onSuccess (การตอบกลับ Bundle) { อนาคต<มัด> อนาคต = mAuthManager.getProfile(โมฆะ); Bundle result = future.get();// ค้นหาว่าการโทรสำเร็จหรือไม่ และดึงข้อมูลโปรfile วัตถุ future_type = result.get (AuthzConstants.BUNDLE_KEY.FUTURE.val); ถ้า (future_type == AuthzConstants.FUTURE_TYPE.SUCCESS) { ชื่อสตริง = result.getString ( AuthzConstants.PROFILE_KEY.NAME.val); อีเมลสตริง = result.getString ( AuthzConstants.PROFILE_KEY.EMAIL.val); บัญชีสตริง = result.getString ( AuthzConstants.PROFILE_KEY.USER_ID.val); รหัสไปรษณีย์ของสตริง = result.getString ( AuthzConstants.PROFILE_KEY.POSTAL_CODE.val); runOnUiThread (Runnable ใหม่ () {@Override โมฆะสาธารณะ () { updateProfileข้อมูล (ชื่อ อีเมล บัญชี รหัสไปรษณีย์); } - } อื่นถ้า (future_type == AuthzConstants.FUTURE_TYPE.ERROR) { // รับวัตถุข้อผิดพลาด AuthError authError = AuthError.extractError (ผลลัพธ์); / * ใช้ authError เพื่อวินิจฉัยข้อผิดพลาด * / } |
เข้าสู่ระบบด้วยคู่มือเริ่มต้นใช้งาน Amazon สำหรับ Android - ดาวน์โหลด [ปรับให้เหมาะสม]
เข้าสู่ระบบด้วยคู่มือเริ่มต้นใช้งาน Amazon สำหรับ Android - ดาวน์โหลด