ปัญหาได้รับการแก้ไข ปิดการใช้ประโยชน์แล้ว
เราจะปิดข้อบกพร่องนี้เนื่องจากการเข้าสู่ระบบ Android เวอร์ชัน Preview หากปัญหายังคงมีความเกี่ยวข้องและทำซ้ำได้ในรุ่นประชาชนล่าสุด (Android Q) โปรดจับภาพรายงานข้อบกพร่องและข้อผิดพลาดเข้าสู่ระบบในhttps://source.android.com/setup/contribute/report-bugs หากไม่ได้รับคำตอบภายใน 14 วันถัดไปปัญหานี้จะถูกปิด ขอขอบคุณสำหรับความเข้าใจของคุณ.
ปรับปรุงล่าสุด:
นี่เป็นข้อบกพร่องและGoogleจะแก้ไขในการอัปเดตครั้งต่อไป
เราได้รอปัญหานี้เพื่อพิจารณาในรุ่นต่อ ๆ ไป ขอขอบคุณที่สละเวลาเพื่อปรับปรุง Android ให้ดีขึ้น
คำตอบนี้กลายเป็นการรวมกลุ่มของแนวคิดและได้รับการแก้ไขเพื่อรวมข้อมูลจากการสนทนาในความคิดเห็น
androidmarket
API จะเป็นที่กำหนดเองAPIที่เขียนโดยนักพัฒนา ไม่สามารถใช้ได้กับสาธารณะ
เพื่อตอบข้อกังวลของคุณในความคิดเห็น นักพัฒนาจะใช้ apis ปัจจุบันที่มีอยู่ผ่าน Android Developer และ Google เพื่อสร้างโครงการที่จัดการสิ่งเหล่านี้ทั้งหมด
สำหรับการเข้าถึงFull Account Access
ฉันไม่แน่ใจว่านักพัฒนาเหล่านี้ประสบความสำเร็จได้อย่างไร
ผมอยากแนะนำให้ใช้AccountManagerซึ่งเป็นส่วนหนึ่งของ android.accounts, มีการเข้าถึงสิทธิและวิธีการgetUserData ผู้จัดการบัญชีสามารถเข้าถึงรหัสผ่านและสามารถสร้างและลบบัญชีได้ สิ่งนี้อาจใช้กับผู้ให้บริการเนื้อหา
ดูUdinic SyncAdapter รับรองความถูกต้อง
ในการตอบกลับความคิดเห็นของคุณ:
บล็อกนี้จะช่วยคุณในการเริ่มต้น เขียนของคุณ Authenticator
แอพเหล่านี้ทำงานอย่างไรฉันไม่สามารถบอกคุณได้ นอกจากนี้ยังอาจมีการนำไปใช้งานที่แตกต่างกัน (เว้นแต่จะเป็นการทำงานร่วมกันเบื้องหลังพวกเขาจะแตกต่างออกไปอย่างแน่นอน)
หนึ่งเดา ประการแรกใช้GoogleSignInAccountกับ com.google.android.gms.auth.api.signin
มีคำจำกัดความสำหรับขอบเขตเพื่อกำหนดขอบเขตของการอนุญาตที่แอปได้รับ
การใช้ requestScopes ()ไฟล์
โปรไฟล์สตริงสุดท้ายแบบคงที่สาธารณะ
... / ช่วยให้เว็บแอปของคุณเข้าถึงการติดตั้งแอป Android แบบ over-the-air
สำหรับตัวอย่างเช่น :
GoogleSignInOptions gso =
new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
.requestEmail().
.requestScopes(new Scope("https://www.googleapis.com/auth/contacts.readonly"))
.build();
หากการเข้าถึงแบบเต็มสามารถรับรายชื่อแอปทั้งหมดที่เจ้าของบัญชีใช้งานได้และเปรียบเทียบกับสิ่งที่อยู่ในอุปกรณ์
ตัวจัดการแพ็คเกจจะดึงรายการแอพทั้งหมดที่ติดตั้งบนอุปกรณ์ในปัจจุบัน
PackageInfoให้รายละเอียดเกี่ยวกับแอพ
INSTALL_REASON_USER จะกรองแอปที่ผู้ใช้ติดตั้งอยู่ออกไป
คุณอาจต้องการที่จะดูที่com.google.firebase.appindexingและเข้าสู่ระบบกระทำของผู้ใช้ สามารถติดตามการกระทำที่แตกต่างกันได้
ประวัติความเป็นมาของบัญชีผู้ใช้จะพบได้ที่https://myactivity.google.com/myactivity
ลิงค์ที่เป็นประโยชน์เป็นOAuth 2.0 สนามเด็กเล่น
github repo node-google-play ที่ใช้โหนดนี้เป็นปัจจุบันและจะเรียก Google Play APIs เช่นเดียวกับที่เก็บถาวรที่ใช้เป็น api "ไม่เป็นทางการ" คือandroid-market-apiเพื่อค้นหาตำแหน่งทางการตลาด
แอป 1
แอปอ้างว่าจะใช้สิทธิ์ต่อไปนี้:
เวอร์ชัน 2.1.8 สามารถเข้าถึง: การซื้อในแอป
$
อื่น ๆ
- รับข้อมูลจากอินเทอร์เน็ต
- ดูการเชื่อมต่อเครือข่าย
- การเข้าถึงเครือข่ายเต็มรูปแบบ
- ใช้บัญชีบนอุปกรณ์
- ป้องกันไม่ให้อุปกรณ์นอนหลับ
- อ่านการกำหนดค่าบริการของ Google
ที่น่าสังเกตคือแอปไม่ได้ตั้งค่าการอนุญาตใด ๆ เมื่อมีพื้นฐานติดตั้ง ฉันไม่สามารถใช้คุณสมบัติใด ๆ ได้เนื่องจากฉันไม่มีแอปแบบชำระเงิน ดังนั้นสำหรับการค้นหาครั้งแรก - ไม่จำเป็นต้องมีสิทธิ์ใด ๆ ซึ่งจะบ่งชี้ว่าแอปไม่สามารถเข้าถึงบัญชีของฉันได้
ฉันตรวจสอบสิทธิ์ - ไม่มีการตั้งค่าใด ๆ ดังนั้นสิ่งเดียวที่ต้องมีคือยอมรับป๊อปอัปดังที่ปรากฏในคำถามของคุณ
แอป 2
แอปอื่น ๆ ที่คุณอ้างถึงซึ่งทำในลักษณะเดียวกันคือข้อมูลที่เข้าถึงได้โดยตรงมากกว่า
แอปที่ต้องชำระเงินของฉัน
ประกาศความปลอดภัย / ความเป็นส่วนตัว
ครั้งแรกที่คุณเรียกใช้แอพนี้แอพนี้จะขออนุญาตบัญชี Google ของคุณ นี่เป็นวิธีเดียวที่จะเข้าถึงข้อมูลที่จำเป็น ไม่มีการจัดเก็บข้อมูลส่วนบุคคลไม่มีการแบ่งปันข้อมูลเกี่ยวกับแอปของคุณกับผู้พัฒนาแอปนี้หรือแบ่งปันกับบุคคลที่สาม ทุกอย่างจะถูกเก็บไว้ในโทรศัพท์ของคุณเท่านั้น
ฉันได้ลงรายละเอียดเกี่ยวกับแอปเหล่านี้ในบล็อกโพสต์ซึ่งมีไว้สำหรับโครงการหลักของมหาวิทยาลัย (ไม่มีผลประโยชน์ทางการเงิน) ฉันมีแนวโน้มที่จะคิดว่านี่เป็นการใช้ประโยชน์จาก API และไม่ใช่สถานะตามการออกแบบโดย Google เนื่องจากไม่มีการเรียก API เพื่อดึงข้อมูลการซื้อแอปนอกเหนือจากแอปของผู้พัฒนาเอง ฉันตั้งสมมติฐานว่าเป็นการใช้ประโยชน์จาก Zero day ซึ่งในกรณีนี้ไม่มีวิธีที่ถูกต้องในการเข้าถึงข้อมูลนี้