API รันไทม์ของ SDK: คู่มือการผสานรวม

ขณะอ่านในเอกสารประกอบของ Privacy Sandbox ใน Android ให้ใช้ปุ่มเวอร์ชันตัวอย่างสำหรับนักพัฒนาซอฟต์แวร์หรือเบต้าเพื่อเลือกเวอร์ชันของโปรแกรมที่คุณใช้งานอยู่ ซึ่งวิธีการอาจแตกต่างกันไป


คู่มือนี้จะให้มุมมองที่ครอบคลุมเกี่ยวกับกระบวนการผสานรวม เพื่อช่วยเหลือคุณในการวางแผนการผสานรวม ซึ่งอาจรวมถึงฟีเจอร์ต่างๆ ที่ยังไม่ได้ใช้ในขั้นปัจจุบันของ Privacy Sandbox ใน Android Developer Preview ในกรณีเหล่านี้จะมีคำแนะนำด้านลำดับเวลา

แผนภูมิด้านล่างแสดงเวิร์กโฟลว์การพัฒนาที่อัปเดตสำหรับการผสานรวมรันไทม์ของ SDK ส่วนที่ระบุไว้ในคอลัมน์เดียวกันนั้นสามารถทำงานควบคู่กันไปได้ เช่น การมีส่วนร่วมกับพาร์ทเนอร์สามารถทำควบคู่กับการตั้งค่าสภาพแวดล้อมการทดสอบได้

แผนภาพเวิร์กโฟลว์การผสานรวมรันไทม์ของ SDK
เวิร์กโฟลว์สำหรับการผสานรวมรันไทม์ของ SDK

สิ่งที่ต้องมีก่อนและการตั้งค่า

การกรอกข้อมูลในส่วน "ก่อนดำเนินการ" นี้จะทำให้คุณเข้าใจรันไทม์ของ SDK เป็นอย่างดี และจะช่วยให้คุณพร้อมได้ผลลัพธ์ที่มีประโยชน์เมื่อใช้ API ในระบบนิเวศของเทคโนโลยีโฆษณา

ทำความคุ้นเคยกับ API

เริ่มต้นด้วยการอ่านข้อเสนอการออกแบบเพื่อทำความคุ้นเคยกับรันไทม์ของ SDK, ความสามารถ และข้อจำกัดของ SDK

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

โปรดส่งความคิดเห็นที่คุณมีเกี่ยวกับเอกสาร โดยเฉพาะอย่างยิ่งเกี่ยวกับคำถามที่ยังไม่ได้ตอบ

ลงชื่อสมัครใช้เพื่อรับข้อมูลอัปเดตเกี่ยวกับ Privacy Sandbox ใน Android ซึ่งจะช่วยให้คุณตามทัน ฟีเจอร์ใหม่ๆ ที่จะเปิดตัวในรุ่นต่อๆ ไป

ตั้งค่าและทดสอบแอปตัวอย่าง

เมื่อคุณพร้อมที่จะเริ่มต้นการผสานรวมแล้ว ให้ดาวน์โหลดตัวอย่างสำหรับนักพัฒนาซอฟต์แวร์เวอร์ชันล่าสุดใน Android Studio โดยทำตามวิธีการที่นี่ คู่มือนี้ต้องใช้ Android Studio เวอร์ชัน Canary เวอร์ชันล่าสุด คุณสามารถใช้งาน Android Studio เวอร์ชันนี้ควบคู่ไปกับเวอร์ชันอื่นๆ ที่คุณใช้ได้ ดังนั้น โปรดแจ้งให้เราทราบหากข้อกำหนดนี้ใช้ไม่ได้ผลสำหรับคุณ

แยกและเรียกใช้โค้ดในแอปตัวอย่างเพื่อทำความคุ้นเคยกับการติดตั้ง RE SDK ชื่อ "example-sdk" และแอปไคลเอ็นต์ที่เรียกว่า "client-app" ในอุปกรณ์หรือโปรแกรมจำลองที่ช่วยให้มั่นใจว่าโฆษณาตัวอย่างจะโหลดขึ้นมา

ปรับ SDK ที่มีอยู่ให้เข้ากับรันไทม์ของ SDK

เป้าหมายของส่วนนี้คือการใช้ฟังก์ชันการทำงานต่างๆ เช่น การแสดงโฆษณาแบนเนอร์จาก SDK ที่มีอยู่ใน SDK ที่เปิดใช้รันไทม์ (RE SDK) ที่มีอยู่ และตั้งค่าการสื่อสารระหว่างแอปและ RE SDK

  • สร้างหรืออัปเดตตัวอย่าง SDK และการใช้งาน SDK เพื่อใช้ฟังก์ชันการทำงานใน RE SDK

  • ในแง่สถาปัตยกรรม ให้พิจารณาเพิ่ม RE SDK เป็นทรัพยากร Dependency ไปยัง SDK ที่มีอยู่ ซึ่งทำหน้าที่เป็น Wrapper ซึ่งจะทำให้แอปไคลเอ็นต์เรียกใช้ SDK ที่มีอยู่หรือ Wrapper ได้โดยตรง Wrapper SDK อาจกำหนดเส้นทางการเรียก API โดยอิงตามกลยุทธ์ต่างๆ ที่ระบุไว้ด้านล่าง

แผนภาพของสถาปัตยกรรมระบบหลังจากผสานรวมรันไทม์ของ SDK
สถาปัตยกรรมของระบบหลังจากผสานรวมรันไทม์ของ SDK

สำหรับกรณีการใช้งานที่ต้องใช้ข้อมูลที่กำหนดเอง เช่น การเรียกใช้ไปยัง PPAPI คุณจะต้องสร้างการกำหนด API โดยใช้ IPC ใช้ IBinder และ AIDL ของ Android เพื่อสร้างโปรโตคอลการสื่อสารเพื่อส่งข้อมูลไปยัง SDK ที่เปิดใช้รันไทม์สำหรับข้อมูลหรือการดำเนินการที่จำเป็น ดูข้อมูลเพิ่มเติมได้ในคู่มือนักพัฒนาซอฟต์แวร์เกี่ยวกับรันไทม์ของ SDK ที่นี่

กำหนดเส้นทางการรับส่งข้อมูลไปยัง SDK ที่เปิดใช้รันไทม์

กลยุทธ์การกำหนดเส้นทางสำหรับการเรียก API

เราขอแนะนำให้กำหนดเส้นทางการเรียก SDK ผ่าน SDK ที่มีอยู่และเส้นทางโค้ด RE SDK ทั้งนี้ขึ้นอยู่กับกรณีการใช้งานของคุณ ซึ่งจะช่วยให้คุณใช้การทดสอบ A/B ในการเปิดตัวในระยะแรกได้ เพื่อลดความซับซ้อนในการผสานรวมแอป คู่มือนี้จะคำนึงว่าแอปจะขึ้นอยู่กับ RE SDK และมอบสิทธิ์ให้กับ SDK ที่มีอยู่เมื่อเหมาะสม ลองพิจารณากลยุทธ์ต่อไปนี้

กำหนดเส้นทางเปอร์เซ็นต์ของการเรียก SDK ไปยัง RE SDK

กำหนดเส้นทางเฉพาะเปอร์เซ็นต์ของการเรียก SDK ไปยัง RE SDK เท่านั้น กำหนดเส้นทางที่เหลือไปยังเส้นทาง โค้ด SDK ที่มีอยู่ ตัวอย่างเช่น พิจารณากลยุทธ์นี้ในกรณีที่จำเป็นต้องทำตามคำขอ SDK เพียงครั้งเดียว เช่น การแสดงโฆษณาแบนเนอร์

  • แก้ไข SDK ที่มีอยู่เพื่อกำหนดเส้นทางเปอร์เซ็นต์ของคำขอไปยัง RE SDK ตัวอย่างเช่น ใช้แฟล็กการกำหนดค่าแบบไดนามิกบนเซิร์ฟเวอร์ เช่น การกำหนดค่าระยะไกลของ Firebase เพื่อควบคุมเกณฑ์การเบี่ยงเบนแบบไดนามิก
  • ซึ่งทำให้ SDK ที่มีอยู่เป็นเพียงอินเทอร์เฟซเดียวที่แอปโต้ตอบด้วยและรับผิดชอบการกำหนดเส้นทางคำขอ SDK ไปยัง RE SDK ใหม่
  • โค้ดควรเปลี่ยนเส้นทางเฉพาะคำขอที่ RE SDK จัดการได้ เช่น ตรวจสอบว่ารันไทม์ของ SDK รองรับรูปแบบโฆษณานี้
  • ทำตามวิธีการเหล่านี้เพื่ออัปเดตโค้ด SDK ให้โต้ตอบกับ RE SDK

โค้ดที่ไม่ระบุตัวบุคคลสำหรับตรรกะการกำหนดเส้นทาง

void showAd(AdRequest request) {
  if (request.isBannerAd() && enableRuntimeSdkDiversion() == true) {
    // Call showAd() from the RE SDK
  } else {
    // Call showAd() using the existing SDK code path
  }
}

กำหนดเส้นทางการเรียก SDK ทั้งหมดไปยังทั้ง SDK ที่มีอยู่และ RE SDK

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

  • แก้ไขโค้ดเพื่อกำหนดเส้นทางการเรียก SDK ทั้งหมดไปยังเส้นทางโค้ด SDK ที่มีอยู่และเส้นทางของโค้ด RE SDK คุณควรตรวจสอบว่ารันไทม์ของ SDK รองรับฟังก์ชันนี้และโหลด RE SDK เรียบร้อยแล้ว

โค้ดที่ไม่ระบุตัวบุคคลสำหรับตรรกะการกำหนดเส้นทาง

void reportAttribution(AdRequest request) {
  if (request.isFeatureSupported() && isSdkLoaded() == true) {
    // Call RE SDK
  }

  // Call existing SDK code path
}

เวอร์ชันเบต้าแบบปิดสำหรับการเผยแพร่ SDK ที่เปิดใช้รันไทม์

Google Play มีโปรแกรมเบต้าแบบปิดสำหรับ SDK ที่เกี่ยวข้องกับโฆษณาสำหรับนักพัฒนาซอฟต์แวร์ที่ลงชื่อสมัครใช้โปรแกรมเบต้าและได้ทำการทดสอบในเครื่อง หากคุณสนใจเข้าร่วม โปรดลงทะเบียนที่นี่