ตัวอย่างขั้นสูง

ส่วนนี้จะถือว่าคุณได้อ่านคู่มือ Hello World จนจบแล้ว ซึ่งจะนําคุณผ่านขั้นตอนการแปลงข้อมูลนี้เป็นการนําไปใช้จริงอย่างเต็มรูปแบบ โดยมักจะลิงก์ไปยังส่วนข้อมูลอ้างอิงสำหรับการพัฒนาของเอกสารนี้

เปลี่ยนตรรกะจากตัวอย่าง Hello World เป็นตรรกะข้ามโปรไฟล์จริง

คุณไม่ต้องกังวลเรื่องความไม่เป็นระเบียบและแนวทางปฏิบัติแนะนำ เช่น ความสามารถในการทดสอบ ไปก่อน อย่าลืมตรวจสอบว่าใช้งานได้

ซึ่งรวมถึงการแก้ไขคลาสข้ามโปรไฟล์ การเรียกข้ามโปรไฟล์ และผู้ให้บริการ หากต้องการ Context ในเมธอดผู้ให้บริการหรือตัวสร้างคลาสผู้ให้บริการ คุณสามารถเพิ่ม Context นั้นเป็นการพารามิเตอร์ แล้ว SDK จะระบุ Context นั้นให้โดยอัตโนมัติ

คุณจะต้องตัดสินใจว่าการเรียกใช้จะเป็นแบบไม่พร้อมกันหรือพร้อมกัน นอกจากนี้ คุณควรตรวจสอบว่าระบบรองรับพารามิเตอร์และประเภทผลลัพธ์ทั้งหมดที่การเรียกข้ามโปรไฟล์ใช้

ปรับแต่งโค้ดให้ใหม่เพื่อให้มีสถาปัตยกรรมที่ส่งได้

อ่านคำแนะนำด้านสถาปัตยกรรมแต่ละรายการก่อนเพื่อที่คุณจะได้ไม่ต้องทำการรีแฟกทอริงที่ขัดแย้งกันหลายครั้ง เมื่อวางแผนการเปลี่ยนแปลงแล้ว ให้กลับมาทบทวนการเปลี่ยนแปลงนั้นและทำเครื่องหมาย สร้างขึ้นมาใหม่ และทดสอบหลังการเปลี่ยนแปลงแต่ละครั้ง

ตรวจสอบความเป็นส่วนตัวและความปลอดภัยอีกครั้ง

ตรวจสอบอีกครั้งว่าคุณไม่ได้เสี่ยงต่อการจัดเก็บข้อมูลในโปรไฟล์ที่ไม่ถูกต้อง หรือส่งข้อมูลไปยังเซิร์ฟเวอร์ (รวมถึงการบันทึกของเซิร์ฟเวอร์) จากโปรไฟล์ที่ไม่ถูกต้อง

  • ลองกำหนดโปรไฟล์เป็นหลักเพื่อลดความซับซ้อนในการโทร ลองนึกดูว่าจะเกิดอะไรขึ้นหากตรรกะของคุณทำงาน ในโปรไฟล์ใดโปรไฟล์หนึ่ง
  • รีเฟรช UI เมื่อความพร้อมใช้งานของโปรไฟล์อื่นมีการเปลี่ยนแปลง
  • โปรดอ่านการพูดคุยเกี่ยวกับข้อยกเว้นในกรณีที่คุณต้องดำเนินการใดๆ
  • หากคุณคาดว่าผู้ใช้อาจใช้ไอคอนแอปแค่ในโปรไฟล์ใดโปรไฟล์หนึ่งจาก 2 โปรไฟล์ ให้เพิ่มแอตทริบิวต์ไฟล์ Manifest android:crossProfile = "true" ซึ่งจะช่วยป้องกันไม่ให้ระบบมอบหมายแอปที่ผู้ใช้ไม่ได้ใช้โดยตรงไปยังที่เก็บข้อมูลสแตนด์บายของแอปที่ต่ำลง

เพิ่มการทดสอบ

ดูเอกสารประกอบเกี่ยวกับการทดสอบ

พิจารณาสิทธิ์

  • หากแอปมีสถานะยินยอมแบบเต็ม ให้เปลี่ยนสิทธิ์จาก INTERACT_ACROSS_USERS เป็น INTERACT_ACROSS_PROFILES และใช้การขอสิทธิ์จากผู้ใช้ แอปที่ประกาศ INTERACT_ACROSS_PROFILES จะอัปโหลดไปยัง Play Store ไม่ได้จนกว่าจะอยู่ในรายการที่อนุญาต ดังนั้นการเปลี่ยนแปลงไฟล์ Manifest นี้ควรอยู่หลัง Flag จนกว่าการดำเนินการนี้จะเสร็จสมบูรณ์

  • หากแอปได้รับสิทธิ์ล่วงหน้า คุณอาจต้องดำเนินการนี้ด้วยหากต้องการแจ้งให้ผู้ใช้ที่เคยปิดสิทธิ์ดังกล่าวทราบ (แต่โปรดรับผิดชอบและอย่าสแปมผู้ใช้)