Key concepts | Set up your development environment | Build an RE SDK | Consume the RE SDK | Testing, and building for distribution |
สร้างและกำหนดค่าแอปทดสอบ
ส่วนนี้จะอธิบายวิธีการตั้งค่าและเตรียมแอปเพื่อใช้งานเวอร์ชันที่เปิดใช้รันไทม์ SDK สำหรับการทดสอบในเครื่อง
เตรียมแอปของคุณ
ขั้นแรก ให้สร้างโปรเจ็กต์หรือโมดูลแบบสแตนด์อโลนแยกต่างหาก
ในสถานการณ์นี้ แอปจะไม่มีโค้ด SDK ก็ประกาศว่าเป็น การขึ้นต่อกันของ Maven แทน
การสร้างแอปที่ใช้ SDK ที่เปิดใช้รันไทม์จำเป็นต้องใช้ Android Studio Ladybug Canary 1 ขึ้นไป และ Android Gradle Plugin (AGP) 8.7.0-alpha01 ขึ้นไป
- ทำตามขั้นตอนเดียวกับที่อธิบายไว้ก่อนหน้านี้เพื่อตั้งค่า สภาพแวดล้อมในการพัฒนาซอฟต์แวร์ และ อุปกรณ์/โปรแกรมจำลองสำหรับการทดสอบ
เปิดใช้รันไทม์ของ SDK โดยใช้แฟล็กที่อธิบายไว้ใน ขั้นตอนที่ 3: เตรียมส่วน SDK
# This enables the Privacy Sandbox for your project on Android Studio. android.experimental.privacysandboxsdk.enable=true android.experimental.privacysandboxsdk.requireServices=false
เพิ่ม URL ของ Privacy Sandbox Maven ไปยังbuild.gradle ระดับบนสุดของโปรเจ็กต์
allprojects { repositories { google() maven { url "https://maven.privacysandbox.com/v1/repository" } } }
คงทรัพยากร Dependency ของ Maven ไว้ในเป้าหมาย Maven ที่มีอยู่ของไลบรารีโฆษณา (SDK ที่ใช้รันไทม์)
เพิ่มบล็อก PrivacySandbox ไปยัง Build.gradle ของโปรเจ็กต์ที่มีทรัพยากร Dependency ในไลบรารี SDK แล้วตั้งค่าเป็น "จริง"
plugins { id 'com.android.application' id 'org.jetbrains.kotlin.android' } android { //... privacySandbox { enable true } //... } dependencies { // SDK library dependency implementation(<maven coordinates to SDK library>) }
ตอนนี้แอปสามารถใช้ API ของ SDK ได้ในลักษณะเดียวกันกับ ดังที่อธิบายไว้ในส่วนการใช้งาน API
สร้างแอปของคุณ
คุณสร้างแอปเป็น Android App Bundle (AAB) ได้ตามปกติ
ทดสอบ SDK ในเครื่อง
หากต้องการเรียกใช้แอปทดสอบ ให้ติดตั้ง SDK และแอปที่เปิดใช้รันไทม์ลงในการทดสอบ อุปกรณ์หรือโปรแกรมจำลอง โดยใช้ Android Studio
- เปิดโปรเจ็กต์ Android Studio สำหรับแอปทดสอบ
- ไปที่เรียกใช้ > แก้ไขการกำหนดค่า ไฟล์ "เรียกใช้/แก้ไขข้อบกพร่อง" หน้าต่างการกำหนดค่า จะปรากฏขึ้น คุณทำให้ใช้งานได้เป็น "APK เริ่มต้น" หรือ "APK จาก Bundle"
- ในส่วนตัวเลือกการเปิดตัว ให้ตั้งค่าการเปิดตัวเป็นกิจกรรมที่ระบุ
- คลิกเมนู 3 จุดข้างกิจกรรม แล้วเลือกแผง กิจกรรมสำหรับลูกค้า
- คลิกใช้ แล้วคลิกตกลง
- คลิก Run เพื่อติดตั้งแอปไคลเอ็นต์และ SDK ในอุปกรณ์ทดสอบ
สร้าง SDK เพื่อการเผยแพร่
คุณต้องสร้าง SDK เป็น Android SDK Bundle (ASB) ก่อนที่จะเผยแพร่ใน App Store ASB เป็นสื่อเผยแพร่ที่ไม่ได้ลงนาม ที่เทียบเท่ากับ Android App Bundle
ASB หรืออนุพันธ์ของ Android SDK Archive (ASAR) ร่วมกัน ด้วย AAB ของแอปได้เปลี่ยนจาก Bundletool เป็นชุด APK ที่ติดตั้งได้ แอป นักพัฒนาซอฟต์แวร์สามารถใช้ BundleTool ได้โดยตรงใน Android Studio (ปัจจุบันคือ Canary version) เพื่อส่งออกรูปแบบ APK ทั้งหมด
Bundletool ต้องใช้ AAB และ ASB และสามารถเอาต์พุตชุดตัวแปร APK ได้ ดังนี้
- APK ที่สร้างขึ้นเพื่อการทำงานในโหมดที่เข้ากันได้แบบย้อนหลังของรันไทม์ของ SDK สำหรับ อุปกรณ์ที่เข้ากันไม่ได้กับรันไทม์ของ SDK (Android 13 และต่ำกว่า) APK นี้มีโค้ดทั้งหมดที่จำเป็นสำหรับทั้งแอปและ SDK
- APK ที่สร้างขึ้นสำหรับการเรียกใช้โหมดรันไทม์ของ SDK สำหรับอุปกรณ์ที่เข้ากันได้กับ รันไทม์ของ SDK (Android 14 ขึ้นไป) APK นี้มีเฉพาะ ด้วยสตับ API สําหรับ SDK ที่เปิดใช้รันไทม์
- SDK APK ซึ่งมีโค้ด SDK ที่เปิดใช้รันไทม์ โดยมีเป้าหมายให้ติดตั้งก่อน APK ของแอปที่อธิบายไว้ในขั้นตอนก่อนหน้า
คุณสามารถสร้าง ASB ได้ 2 วิธีดังนี้
- Android Studio
- สร้างโปรเจ็กต์ ซึ่งทำได้ด้วยการเรียกใช้ Build > สร้างโปรเจ็กต์อีกครั้ง
- ไฟล์ ASB อยู่ในโมดูล ASB ที่เปิดใช้งานรันไทม์อยู่ใต้
build/outputs/asb/single/<your-asb-module-name>.asb
- บรรทัดคำสั่งของ Bundletool - ทำตาม วิธีการเหล่านี้
คุณต้องรับรอง SDK ด้วยคีย์การอัปโหลดก่อนจึงจะเผยแพร่ได้ ใช้ร่างคำตอบนี้ คีย์การอัปโหลดเพื่อลงนาม ASB ของคุณและอัปโหลดไปยัง SDK Console Google ใช้ ใบรับรองการอัปโหลดเพื่อยืนยันตัวตนของคุณ
ต่อไปนี้เป็นภาพรวมเกี่ยวกับสิ่งที่คุณต้องทำเพื่อลงนาม ASB
- สร้างคีย์สโตร์และคีย์การอัปโหลด ข้อมูลนี้เหมือนกับ การสร้างคีย์สโตร์และคีย์การอัปโหลดสำหรับแอป
- ลงนาม ASB ของคุณด้วยคีย์การอัปโหลด หากต้องการดำเนินการนี้ ให้เพิ่มบล็อก SigningConfig ลงในไฟล์build.gradle ของคุณ โดยระบุคีย์ที่สร้างใหม่และคีย์สโตร์
android {
signingConfig {
storeFile file(path-to-keystore.jks)
storePassword "keystorePassword"
keyAlias "UploadKey"
keyPassword "keyPassword"
}
}
App Store สามารถพัฒนากลยุทธ์ต่างๆ เพื่อใช้คอมโพเนนต์เหล่านี้ในการสนับสนุน การเผยแพร่แอปที่เปิดใช้รันไทม์ รันไทม์ของ SDK ทำงานกับแอปอย่างต่อเนื่อง เพื่อขยายการรองรับ SDK ที่เปิดใช้รันไทม์