Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> ระบบ >> Android

ย้ายแอปไปใช้ Play Core Library ล่าสุดเพื่อความเข้ากันได้กับ Android 14

คุณอาจได้รับอีเมลจาก Google Play Store ล่าสุดที่ระบุไว้ดังนี้:

อัปเดต Play Core Maven dependency เป็นเวอร์ชันที่เข้ากันได้กับ Android 14! Play Core library ปัจจุบันของคุณไม่เข้ากันได้กับ targetSdkVersion 34 (Android 14) ซึ่งนำการเปลี่ยนแปลงที่ไม่เข้ากันได้ย้อนหลัง (backwards-incompatible change) มาสู่ broadcast receivers เพื่อปรับปรุงความปลอดภัยของผู้ใช้ ตามที่ระบุไว้ จากวันที่ 31 สิงหาคม Google Play กำหนดให้การเผยแพร่แอปใหม่ทั้งหมดต้อง target Android 14 อัปเดตเป็น Play Core library dependency เวอร์ชันล่าสุดเพื่อหลีกเลี่ยงการแครชของแอป: https://developer.android.com/guide/playcore#playcore-migration

คุณอาจไม่สามารถเผยแพร่เวอร์ชันอนาคตของแอปด้วย SDK version นี้ไปยัง production หรือ open testing ได้

ดูน่ากลัว ไม่ใช่ไหม?

อย่ากังวลมากจนเกินไป มันจริงๆ แล้วง่ายกว่าที่คิด

การเปลี่ยนแปลงนี้เกี่ยวกับอะไรจริงๆ

พื้นฐานแล้ว Google หยุดปล่อยเวอร์ชันใหม่ของ play core library ตั้งแต่ต้นปี 2022

ย้ายแอปไปใช้ Play Core Library ล่าสุดเพื่อความเข้ากันได้กับ Android 14 เวอร์ชันล่าสุดของ play core library ที่ปล่อยออกมา

และตั้งแต่เมษายน 2022 พวกเขาแยก play core library เดิมออกเป็น 4 ไลบรารีแยกกัน:

  • Play Assets Delivery Library
  • Play Feature Delivery Library
  • Play In-App Reviews Library
  • Play In-App Updates Library

แต่ละไลบรารีมี functionality และ responsibility ของตัวเอง

เนื่องจาก play core library เก่าเพียงรองรับ API level จนถึงระดับหนึ่ง คุณจึงต้องย้ายแอปพลิเคชันไปใช้ไลบรารีใหม่ที่มีการรองรับ API level ล่าสุด

โดยปุ๋มคุณต้อง 알아ว่า functionality ไหนของ play core library เดิมที่คุณใช้ และดาวน์โหลดส่วนที่ถูกต้อง ตัวอย่างเช่น หากคุณมี logic แจ้งเตือนผู้ใช้เมื่อมีเวอร์ชันใหม่ของแอปพลิเคชัน คุณต้องใช้ Play In-App-Updates library

เราจะนำเสนอ 2 use cases:

  • Native Android application
  • Flutter application

Use Case – Native Android App

หากคุณมี native Android application ไม่ว่าจะเขียนด้วย Kotlin หรือ Java คุณต้องทำดังนี้:

  1. เปิดไฟล์ build.gradle ระดับแอปพลิเคชัน (application level)
  2. มากที่สุดคุณจะเห็นภายใต้บล็อก dependencies บรรทัดนี้:
implementation 'com.google.android.play:core-ktx:1.8.1'
  1. คุณต้องลบมันและแทนที่ตามสิ่งที่คุณใช้ใน core library เดิม

  2. หากคุณต้องการ Play In-App-Updates library ให้เพิ่มลงในบล็อก dependencies:

implementation 'com.google.android.play:app-update:2.1.0'
// เพิ่ม dependency ด้านล่างหากคุณใช้ Kotlin ในแอปพลิเคชัน
implementation 'com.google.android.play:app-update-ktx:2.1.0'
  1. Rebuild แอปพลิเคชันของคุณและตรวจสอบว่าทุกอย่างทำงานได้ตามปกติ

✋ คุณอาจต้องเปลี่ยน import statements จาก import com.google.android.play.core.tasks.*; เป็น import com.google.android.gms.tasks.*; ด้วย

Use Case – Flutter Application

เนื่องจาก Flutter เป็นเฟรมเวิร์กที่รองรับทั้ง Android และ iOS สถานการณ์นี้จึงต่างจากข้างบนเล็กน้อย หากคุณได้รับคำเตือนให้อัปเกรด core play library ในแอป Flutter ของคุณ คุณต้องดูที่ไลบรารีที่คุณใช้ในไฟล์ pubspec.yaml:

dependencies:
  flutter:
    sdk: flutter
  ...
  in_app_update: ^3.0.0

เห็นได้ว่าข้างต้น แอปพลิเคชันขึ้นอยู่กับไลบรารี in_app_update ซึ่งเกี่ยวกับการแจ้งเตือนผู้ใช้เมื่อมีเวอร์ชันใหม่ของแอปพลิเคชัน เมื่อเราไปที่หน้า changelog ของ in_app_update บน pub.dev เราจะเห็นว่า:

ย้ายแอปไปใช้ Play Core Library ล่าสุดเพื่อความเข้ากันได้กับ Android 14 version 4.1.0 เพิ่มการรองรับที่จำเป็น

ดังนั้นเราต้องอัปเดตไฟล์ pubspec.yaml ให้ใช้เวอร์ชันนั้น (อย่างน้อย)

dependencies:
  flutter:
    sdk: flutter
  ...
  in_app_update: ^4.1.0

รัน Pub get และคุณควรพร้อมใช้งานแล้ว

เรียนรู้การเขียนโค้ดฟรี หลักสูตรโอเพนซอร์สของ freeCodeCamp ช่วยให้ผู้คนมากกว่า 40,000 คนได้งานเป็นนักพัฒนา เริ่มต้นเลยวันนี้