เวอร์ชัน
วันที่เผยแพร่
หมายเหตุ
23.5.0
20-10-2024
อัปเดตข้อความ Logcat เกี่ยวกับการโหลดโฆษณาไม่สำเร็จซึ่งเปิดตัวในเวอร์ชัน 23.4.0 โดยเปลี่ยนจากข้อผิดพลาดเป็นระดับข้อมูล
การสร้างรายได้ที่ดีขึ้นจากโฆษณาที่ปรับตามโปรไฟล์ของผู้ใช้ในแท็บที่กำหนดเองสำหรับ WebView API สำหรับโฆษณา
23.4.0
30-09-2024
23.3.0
12-08-2024
อัปเดตการใช้ SDK ของแพลตฟอร์มการรับส่งข้อความกับผู้ใช้เป็นเวอร์ชัน 3.0.0
23.2.0
27‐06‐2024
23.1.0
09‐05-2024
ต้องมีcompileSdkVersion
อย่างน้อย 34
อะแดปเตอร์สื่อกลางแบบเนทีฟ : เลิกใช้งาน loadNativeAd
และ loadRtbNativeAd()
แล้วเพื่อใช้ loadNativeAdMapper()
และ loadRtbNativeAdMapper()
อะแดปเตอร์ควรย้ายข้อมูลไปใช้วิธีการโหลดแบบใหม่เหล่านี้และออบเจ็กต์ที่เกี่ยวข้อง
23.0.0
2024‑03‑07
รุ่นนี้เป็นเวอร์ชันอัปเดตครั้งสำคัญที่มีการเปลี่ยนแปลงที่ส่งผลกับส่วนอื่นในระบบหลายรายการ ดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีย้ายข้อมูลได้ที่ย้ายข้อมูลไปยัง SDK v23
การเปลี่ยนแปลงที่ส่งผลกับส่วนอื่นในระบบ
เพิ่มระดับ API ขั้นต่ำของ Android เป็น 21
หากต้องการรวบรวมเมตริกผู้ใช้ใน AdMob ต่อไป ให้ลิงก์แอป AdMob กับ Firebase และผสานรวม SDK ของ Google Analytics สําหรับ Firebase เข้ากับแอป
นำ MobileAds.enableSameAppKey()
API ที่เลิกใช้งานแล้วออกและอัปเดตเมธอดทางเลือก MobileAds.putPublisherFirstPartyIdEnabled()
เพื่อแสดงผลบูลีนว่าการควบคุมต่อเนื่องสำเร็จหรือไม่
Native Ads
:
นำ AdLoader.forUnifiedNativeAd()
ออกแล้ว ให้ใช้ AdLoader.forNativeAd()
แทน
นำ AdLoader.forCustomTemplateAd()
ออกแล้ว โปรดใช้ AdLoader.forCustomFormatAd()
แทน
นำ AdFormat.UNKNOWN
ออกแล้วโดยไม่มีตัวทดแทน แอปที่ใช้ QueryInfo.generate()
ต้องส่งรูปแบบโฆษณา
ตอนนี้คุณสามารถใช้เมธอด AdManagerAdRequest.Builder
ที่รับค่ามาจากเมธอดของคลาสหลักเพื่อต่อเชื่อมเพื่อสร้างออบเจ็กต์จากการเรียกใช้เพียงครั้งเดียว
การเปลี่ยนแปลงนี้จำเป็นต้องมีการเปลี่ยนแปลงโครงสร้างการสืบทอดเพื่อให้ AdManagerAdRequest.Builder
ไม่ได้สืบทอดมาจาก AdRequest.Builder
อีกต่อไป
เพิ่ม MobileAds.registerCustomTabsSession() เพื่อปรับปรุงการสร้างรายได้สำหรับโฆษณาในแท็บที่กำหนดเอง ดูข้อมูลเพิ่มเติมที่เพิ่มประสิทธิภาพแท็บที่กำหนดเอง
อัปเดตการใช้ SDK สำหรับ User Messaging Platform เป็นเวอร์ชัน 2.2.0
22.6.0
06-12-2023
22.5.0
30-10-2023
22.4.0
13‑09‑2023
ต้องมีอย่างน้อย compileSdkVersion
ที่ 33
เครื่องมือตรวจสอบโฆษณา: เพิ่มการรองรับ SDK สําหรับการขอและแสดงโฆษณาที่ขอผ่าน UI ของเครื่องมือตรวจสอบโฆษณา
เพิ่มเมธอด QueryInfo.generate()
ใหม่ที่ใช้รหัสหน่วยโฆษณา
เปิดใช้การทดสอบระยะแรกของ API การรักษาความเป็นส่วนตัว ของ Attribution Reporting รุ่นเบต้าและ Topics รุ่นเบต้า
ดูข้อมูลเพิ่มเติมได้ที่คู่มือ AdMob Privacy Sandbox ใน Android
22.3.0
22‑08‑2023
22.2.0
05‐07-2023
22.1.0
18‑05‑2023
เครื่องมือตรวจสอบโฆษณา: เปิดใช้ความสามารถในการทริกเกอร์คําขอโฆษณาจาก UI เครื่องมือตรวจสอบโฆษณาในอุปกรณ์ที่ไม่มีบริการ Google Play
22.0.0
29‐03‐2023
รุ่นนี้เป็นการอัปเดตเวอร์ชัน MAJOR ที่มีการเปลี่ยนแปลงที่ส่งผลกับส่วนอื่นในระบบหลายรายการ ดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีย้ายข้อมูลได้ที่ย้ายข้อมูลไปยัง SDK v22
การเปลี่ยนแปลงที่ส่งผลกับส่วนอื่นในระบบ
เพิ่ม AdRequest.getRequestAgent()
แล้ว
สื่อกลาง: ค่าที่ส่งกลับสำหรับ Adapter.getVersionInfo()
และ Adapter.getSDKVersionInfo()
เปลี่ยนจากประเภท com.google.android.gms.ads.mediation.VersionInfo
เป็น com.google.android.gms.ads.VersionInfo
เราขอแนะนำให้อะแดปเตอร์ส่งคืนประเภทใหม่เนื่องจาก com.google.android.gms.ads.mediation.VersionInfo
เลิกใช้งานแล้ว
21.5.0
31‐01-2023
โฆษณาเปิดแอป: เลิกใช้งาน AppOpenAd.load()
เมธอดที่ยอมรับพารามิเตอร์การป้อนข้อมูลการวางแนวและเพิ่มเมธอดใหม่ๆ ที่ไม่ได้ใช้อินพุตการวางแนว วิธีการใหม่จะกำหนดการวางแนว ณ เวลาที่ขอ ซึ่งตรงกับลักษณะการทำงานของรูปแบบโฆษณาแบบเต็มหน้าจออื่นๆ
สื่อกลาง: เพิ่มการรองรับสื่อกลางสำหรับโฆษณาเปิดแอป
นำสิทธิ์ RECEIVE_BOOT_COMPLETED
ออกจากทรัพยากร Dependency ของ androidx.work:work-runtime
แล้ว หากคุณใช้ Gradle เวอร์ชันที่เก่ากว่า 7.2.0 และต้องการใช้สิทธิ์สำหรับแอป คุณอาจต้องประกาศสิทธิ์อย่างชัดแจ้งในไฟล์ Manifest ของ Android
21.4.0
14‑12‑2022
ตอนนี้คุณต้องระบุรหัสแอป Ad Manager สำหรับแอป Ad Manager ทั้งหมดและใช้รูปแบบ ca-app-pub-################~##########
โปรดดูรายละเอียดที่หัวข้อกำหนดค่าแอป
เครื่องมือตรวจสอบโฆษณา: ขยายการรองรับ SDK เพื่อแสดงโฆษณาแบนเนอร์และโฆษณาเนทีฟที่ขอผ่าน UI ของเครื่องมือตรวจสอบ
เพิ่มการรองรับรหัสของบุคคลที่หนึ่งของผู้เผยแพร่โฆษณา (ก่อนหน้านี้เรียกว่าคีย์แอปเดียวกัน) เพื่อช่วยให้คุณแสดงโฆษณาที่ปรับตามโปรไฟล์ของผู้ใช้และมีความเกี่ยวข้องมากขึ้นโดยใช้ข้อมูลที่รวบรวมจากแอปของคุณ
เวอร์ชันรุ่นอย่างเป็นทางการสำหรับ QueryInfo
21.3.0
10-2022
เครื่องมือตรวจสอบโฆษณา: เพิ่มการรองรับ SDK สําหรับคําขอและการแสดงโฆษณาที่ขอผ่าน UI ของเครื่องมือตรวจสอบโฆษณา
โฆษณาเนทีฟ:
โฆษณาเนทีฟที่กำหนดเอง
21.2.0
06‐09-2022
เครื่องมือตรวจสอบโฆษณา: เพิ่มการรองรับ SDK สำหรับการส่งออกบันทึกคําขอโฆษณาผ่านชีตการแชร์ของ Android
21.1.0
14‑07‑2022
เพิ่มการรองรับการสร้างรายได้จากโฆษณาภายใน WebView
ดูรายละเอียดเพิ่มเติมได้ที่ผสานรวม WebView API สําหรับโฆษณา
เพิ่ม getResponseExtras()
ไปยัง
ResponseInfo
ซึ่งอาจแสดงข้อมูลเพิ่มเติมเกี่ยวกับการตอบกลับโฆษณา
เบต้า: getResponseExtras()
API อยู่ในเวอร์ชันเบต้า ค่าการแสดงผลอาจเปลี่ยนแปลงหากไม่มีรุ่น SDK
21.0.0
25‐05-2022
รุ่นนี้เป็นเวอร์ชันอัปเดตครั้งสำคัญที่มีการเปลี่ยนแปลงที่ส่งผลกับส่วนอื่นในระบบหลายรายการ ดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีย้ายข้อมูลได้จากคำแนะนำในการย้ายข้อมูลไปยัง SDK v21
การเปลี่ยนแปลงที่ส่งผลกับส่วนอื่นในระบบ
ตอนนี้ Google Mobile Ads SDK กำหนดให้แอปทั้งหมดต้องใช้ Android API ระดับ 19 เป็นอย่างน้อยจึงจะทำงานได้
เพิ่มคำอธิบายประกอบ @NonNull
ในทุกเมธอดที่ไม่ได้กำหนดค่า Nullability อย่างชัดเจนก่อนหน้านี้
นำ AdRequest.Builder.addNetworkExtras()
เมธอดออกแล้ว
โปรดใช้ AdRequest.Builder.addNetworkExtrasBundle()
แทน
นำวิธีการระบุตำแหน่งต่อไปนี้ออกแล้ว
setLocation()
บน
AdRequest.Builder
getLocation()
ใน AdRequest
getLocation()
บน
MediationAdConfiguration
เพิ่มแฟล็กไฟล์ Manifest เพื่อเพิ่มประสิทธิภาพการเริ่มต้นและการโหลดโฆษณา ดูรายละเอียดเพิ่มเติมได้ในคู่มือการเพิ่มประสิทธิภาพการเริ่มต้นและการโหลดโฆษณา
เลิกใช้งาน MobileAds.getVersionString()
ให้ใช้ MobileAds.getVersion()
แทน
เพิ่มเมธอด
getLoadedAdapterResponseInfo()
ใน ResponseInfo
แล้ว
เพิ่มเมธอดต่อไปนี้ใน
AdapterResponseInfo
:
getAdSourceName()
getAdSourceId()
getAdSourceInstanceName()
getAdSourceInstanceId()
เบต้า: API เหล่านี้อยู่ในรุ่นเบต้า ค่าที่แสดงผลอาจเปลี่ยนแปลงหากไม่มีรุ่น SDK
เพิ่มการรองรับเหตุการณ์ที่กำหนดเองในเครื่องมือตรวจสอบโฆษณา
20.6.0
2022‐02
20.5.0
18-11-2021
เพิ่มการรองรับอุปกรณ์ Android 12 สำหรับแอปที่กำหนดเป้าหมายเป็น API 31
เพิ่มการรองรับรหัสชุดแอป
สำหรับ Use Case เช่น การรายงานและการป้องกันการประพฤติมิชอบ
20.4.0
2021‐09
รุ่นนี้และเวอร์ชันก่อนหน้าทั้งหมดต้องมีการพึ่งพา androidx.work:work-runtime:2.7.0
อย่างชัดเจน เพื่อแก้ไขข้อบกพร่องที่ทำให้แอปขัดข้องใน Android S ที่มีสแต็กเทรซต่อไปนี้
Fatal Exception: java.lang.IllegalArgumentException:
com.mycompany.myapp: Targeting S+ (version 10000 and above)
requires that one of FLAG_IMMUTABLE or FLAG_MUTABLE be
specified when creating a PendingIntent.
Strongly consider using FLAG_IMMUTABLE, only use FLAG_MUTABLE
if some functionality depends on the PendingIntent being mutable,
e.g. if it needs to be used with inline replies or bubbles.
at android.app.PendingIntent.checkFlags(PendingIntent.java:386)
at android.app.PendingIntent.getBroadcastAsUser(PendingIntent.java:657)
at android.app.PendingIntent.getBroadcast(PendingIntent.java:644)
at androidx.work.impl.utils.ForceStopRunnable.getPendingIntent(ForceStopRunnable.java:174)
at androidx.work.impl.utils.ForceStopRunnable.isForceStopped(ForceStopRunnable.java:108)
at androidx.work.impl.utils.ForceStopRunnable.run(ForceStopRunnable.java:86)
at androidx.work.impl.utils.SerialExecutor$Task.run(SerialExecutor.java:75)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.lang.Thread.run(Thread.java:920)
หากต้องการแก้ไขข้อบกพร่องนี้ ให้เพิ่มทรัพยากร Dependency ต่อไปนี้สำหรับ SDK โฆษณาในอุปกรณ์เคลื่อนที่ของ Google ลงในไฟล์ Gradle ระดับแอปของโมดูล
dependencies {
implementation 'com.google.android.gms:play-services-ads:20.4.0'
// For apps targeting Android 12, add WorkManager dependency.
constraints {
implementation('androidx.work:work-runtime:2.7.0') {
because '''androidx.work:work-runtime:2.1.0 pulled from
play-services-ads has a bug using PendingIntent without
FLAG_IMMUTABLE or FLAG_MUTABLE and will fail in Apps
targeting S+.'''
}
}
}
ตั้งแต่เวอร์ชัน 20.4.0 เป็นต้นไป SDK โฆษณาในอุปกรณ์เคลื่อนที่ของ Google จะรวมสิทธิ์ com.google.android.gms.permission.AD_ID
ในไฟล์ Manifest ของ SDK ที่เครื่องมือสร้างของ Android ผสานเข้ากับไฟล์ Manifest ของแอปโดยอัตโนมัติ ดูข้อมูลเพิ่มเติมเกี่ยวกับการประกาศสิทธิ์ของ AD_ID
รวมถึงวิธีปิดใช้ได้ที่
บทความช่วยเหลือนี้ของ Play Console
เพิ่ม Callback
onAdClicked()
ไปยัง FullScreenContentCallback
แล้ว
เปิดใช้การโทรกลับ
onAdClicked()
ในคลาส AdListener
สำหรับรูปแบบโฆษณาเนทีฟ
20.3.0
23‑08‑2021
20.2.0
08‐06-2021
เพิ่มการรองรับเครื่องมือตรวจสอบโฆษณา (เบต้า) สำหรับผู้เผยแพร่โฆษณา Google Ad Manager
20.1.0
29‑04‑2021
20.0.0
05‑04‑2021
รุ่นนี้เป็นการอัปเดตเวอร์ชัน MAJOR ที่มีการเปลี่ยนแปลงที่ส่งผลกับส่วนอื่นในระบบหลายรายการ ดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีย้ายข้อมูลได้ในคู่มือเตรียมพร้อมสําหรับ SDK v20
การเปลี่ยนแปลงที่ส่งผลกับส่วนอื่นในระบบ
นำ Interstitial
API เดิมออกแล้ว
นำ RewardedVideoAd
API เดิมออกแล้ว
ชั้นเรียนที่นำออกซึ่งขึ้นต้นด้วย Publisher
(เช่น PublisherAdView
)
นำ CustomRenderedAd
ออกแล้ว
นำ InstreamAd
ออกแล้ว
นำ SearchAdRequest
ออกแล้ว
นำ AdListener.onAdLeftApplication()
ออกแล้ว
นำNativeAppInstallAd
,
NativeContentAd
และUnifiedNativeAd
ออกแล้ว
ตอนนี้มีรูปแบบโฆษณาเนทีฟ 1 รูปแบบชื่อ NativeAd
RewardedAd
เป็นคลาสนามธรรมแล้ว ใช้วิธี static ของ RewardedAd.load()
เพื่อโหลดโฆษณาที่มีการให้รางวัล
เพิ่ม
เครื่องมือตรวจสอบโฆษณา (เบต้า)
เลิกใช้งาน AdSize.SMART_BANNER
แล้วเพื่อใช้โฆษณาแบนเนอร์แบบปรับขนาดได้
เพิ่มคำอธิบายประกอบแบบชัดเจนเกี่ยวกับ Nullability ใน API สาธารณะทั้งหมด
19.8.0
15‑03‑2021
เพิ่ม Dependency ของ
SDK สําหรับแพลตฟอร์มการรับส่งข้อความกับผู้ใช้
เพิ่ม Callback onAdImpression()
ที่
FullScreenContentCallback
แล้ว
เลิกใช้งานรูปแบบ InstreamAd
อะแดปเตอร์สื่อกลาง
เลิกใช้งาน MediationBannerAdapter
, MediationInterstitialAdapter
และ MediationNativeAdapter
แล้ว อะแดปเตอร์ใหม่ควรใช้คลาส Adapter
เพื่อโหลดรูปแบบเหล่านี้ หมายเหตุ: เราจะไม่นําคลาสอะแดปเตอร์สื่อกลางที่เลิกใช้งานเหล่านี้ออกในเวอร์ชัน 20.0.0 เพื่อให้เวลาอะแดปเตอร์สื่อกลางเปลี่ยนไปใช้ API ใหม่
ตอนนี้อะแดปเตอร์การเสนอราคาสามารถใช้วิธีการโหลดที่แตกต่างกันในคลาส Adapter
สำหรับรูปแบบเฉพาะ RTB
19.7.0
2021‑01‑20
การเปลี่ยนแปลงที่สำคัญของสิ่งต่อไปนี้
InterstitialAd
RewardedAd
NativeAd
AppOpenAd
เลิกใช้งาน CustomRenderedAd
เราเลิกใช้งานคลาสและแพ็กเกจที่มีคำนำหน้า Publisher
แล้วแทนที่ด้วยคำนำหน้า AdManager
รุ่นย่อยล่าสุดก่อนเวอร์ชัน 20.0.0 ระบบจะนำ API ทั้งหมดที่ทำเครื่องหมายว่าเลิกใช้งานในรุ่นนี้และรุ่นก่อนหน้าออกในเวอร์ชัน 20.0.0 ดูรายละเอียดเพิ่มเติมได้ในคำแนะนำในการย้ายข้อมูลเวอร์ชัน 20.0.0
19.6.0
04-12-2020
เลิกใช้งานเมธอด onAdLeftApplication() AdListener
แก้ไขข้อบกพร่องที่ระบบจะขอให้ผู้ใช้ในอุปกรณ์ Android 11 เลือกเบราว์เซอร์เมื่อคลิกโฆษณา
19.5.0
2020‐10‐20
โฆษณาแบนเนอร์: ตอนนี้เราเรียกเมธอด onAdImpression()
AdListener
สำหรับโฆษณาแบนเนอร์
เพิ่มเมธอด setHttpTimeoutMillis()
เพื่อปรับแต่งระยะหมดเวลาสำหรับการเรียก HTTPS ที่ดำเนินการโดย Google Mobile Ads SDK
19.4.0
10‐09-2020
เพิ่มการรองรับอุปกรณ์ Android 11 สำหรับแอปที่กำหนดเป้าหมายเป็น API ระดับ 30
โฆษณาเปิดแอป: เปลี่ยนรูปแบบ AppOpenAd
ให้ทำงานเหมือนกับรูปแบบเต็มหน้าจอมากกว่ามุมมองแบนเนอร์ เพิ่มเมธอด getResponseInfo()
และ show()
ลงใน AppOpenAd
แล้ว ชั้นเรียน AppOpenAdView
และ AppOpenAdPresentationCallback
ที่เลิกใช้งานแล้ว
สื่อกลาง: การรายงานสถานะสื่อกลางพร้อมใช้งานแล้ว ใช้ ResponseInfo.getAdapterResponses()
เพื่อรับข้อมูลการตอบกลับของแต่ละเครือข่ายโฆษณาที่เข้าร่วมในคำขอโฆษณา
โฆษณาที่มีการให้รางวัลแบบเดิม: เลิกใช้งาน RewardedVideoAd
แก้ไขข้อบกพร่องที่ MobileAds.initialize()
เรียกตัวแฮนเดิลการเสร็จสมบูรณ์กลับเพียงครั้งเดียว ตอนนี้การเรียกใช้ MobileAds.initialize()
ทุกรายการจะเรียกใช้การเรียกกลับเมื่อเสร็จสมบูรณ์
19.3.0
2020‑07‑20
ข้อควรระวัง: SDK เวอร์ชัน 19.3.0 และต่ำกว่าจะไม่รองรับ Android 11 (API 30) เราขอแนะนำให้ใช้ SDK เวอร์ชัน 19.4.0 ขึ้นไปหากมีแผนจะตั้งค่า
targetSdkVersion
เป็น API 30
เพิ่มเมธอด getDomain()
และ getCause()
ลงใน AdError
แล้ว
เพิ่มการเรียกกลับความล้มเหลวในการโหลดใหม่ไปยังรูปแบบโฆษณาทั้งหมดที่แสดงผล LoadAdError
เช่น onAdFailedToLoad(LoadAdError)
Callback ที่ไม่สำเร็จเกี่ยวกับการโหลดที่เลิกใช้งานแล้วซึ่งแสดงผล Int เช่น onAdFailedToLoad(int)
โฆษณาที่มีการให้รางวัล: เพิ่ม onRewardedAdFailedToShow(AdError)
และเลิกใช้งาน onRewardedAdFailedToShow(int)
สื่อกลางที่มีการให้รางวัล: เพิ่มรหัสข้อผิดพลาดMEDIATION_SHOW_ERROR
ของการแสดงผล ตอนนี้ข้อผิดพลาดในการนำเสนอทั้งหมดที่เกี่ยวข้องกับโฆษณาสื่อกลางจะแสดงผลเป็น MEDIATION_SHOW_ERROR
สําหรับ AdError.getCode()
และ AdError.getCause()
ที่ไม่ใช่ Null ซึ่งแสดงข้อผิดพลาดในการสื่อกลางพื้นฐาน
19.2.0
2020‑06‑18
เพิ่มรูปแบบ RewardedInterstitialAd
แล้ว ปัจจุบันฟีเจอร์นี้อยู่ในเวอร์ชันเบต้าแบบจำกัด โปรดติดต่อผู้จัดการฝ่ายดูแลลูกค้าเพื่อขอสิทธิ์เข้าถึง
โฆษณาเนทีฟ: เพิ่ม UI ของเครื่องมือตรวจสอบโฆษณาเนทีฟในคำขอทดสอบเพื่อช่วยให้คุณตรวจพบและแก้ไขการละเมิดนโยบายเกี่ยวกับโฆษณาเนทีฟได้
เพิ่มเมธอด MobileAds.disableMediationAdapterInitialization()
แล้ว เรียกใช้เมธอดนี้ก่อนที่จะเริ่มต้น Google Mobile Ads SDK เพื่อปิดใช้การเริ่มต้นอะแดปเตอร์สื่อกลาง
คำเตือน: การเรียกใช้วิธีการนี้อาจส่งผลเสียต่อประสิทธิภาพสื่อกลาง Google ควรเรียกวิธีการนี้ก็ต่อเมื่อคุณรวมอะแดปเตอร์สื่อกลางของ Google ไว้ในแอป แต่ไม่ได้เป็นสื่อกลางผ่าน Google ระหว่างเซสชันของแอปที่เจาะจง (เช่น คุณกำลังเรียกใช้การทดสอบสื่อกลาง A/B)
19.1.0
16‐04-2020
19.0.1
2020‑03‑18
โฆษณาเนทีฟ: แก้ไขการรั่วไหลของหน่วยความจำที่เกิดขึ้นเมื่อใช้ NativeCustomTemplateAd
19.0.0
02‐03-2020
รุ่นนี้เป็นอัปเดตเวอร์ชันครั้งสำคัญที่มีการเปลี่ยนแปลงที่ส่งผลกับส่วนอื่นในระบบ ดังนี้
เพิ่มการรองรับการอ่านพารามิเตอร์ความยินยอมจาก TCF เวอร์ชัน 2.0 ของ IAB และสตริง us_privacy
ของ IAB
เพิ่ม setNeighboringContentUrls()
และ getNeighboringContentUrls()
ลงใน AdRequest
แล้ว
เพิ่มคลาส ResponseInfo
ที่ให้ข้อมูลเกี่ยวกับโฆษณาที่โหลด
สำหรับโฆษณาทุกรูปแบบ เลิกใช้งาน getMediationAdapterClassName()
แล้วใช้ getResponseInfo()
แทน
โฆษณาเนทีฟ: เพิ่ม getDuration()
และ getCurrentTime()
เมธอดใน MediaContent
สื่อกลางเนทีฟ: เพิ่มเมธอด getDuration()
และ getCurrentTime()
ลงใน UnifiedNativeAdMapper
เพื่อให้อะแดปเตอร์ใช้งาน
เลิกใช้งาน
AdRequest.Builder.addTestDevice()
โปรดใช้
RequestConfiguration.Builder.setTestDeviceIds()
แทน
18.3.0
05-11-2019
เพิ่ม API สำหรับรูปแบบโฆษณา InstreamAd
แล้ว ปัจจุบันฟีเจอร์นี้อยู่ในเวอร์ชันเบต้าแบบจำกัด โปรดติดต่อผู้จัดการฝ่ายดูแลลูกค้าเพื่อขอสิทธิ์เข้าถึง
แบนเนอร์แบบปรับขนาดได้ : เปลี่ยนวิธีการสร้างแบนเนอร์แบบปรับขนาดได้ในคลาส AdSize
เช่น เปลี่ยนชื่อ AdSize.getCurrentOrientationBannerAdSizeWithWidth()
เป็น AdSize.getCurrentOrientationAnchoredAdaptiveBannerAdSize()
สื่อกลาง : ตอนนี้ Google Mobile Ads SDK จะจับข้อยกเว้นที่เกิดจากอะแดปเตอร์สื่อกลางแล้ว
สื่อกลางที่มีการให้รางวัล : แก้ไขข้อบกพร่องที่หากแคชโฆษณาที่มีการให้รางวัลที่สื่อกลางหลายรายการไว้ ระบบจะแสดงโฆษณาเพียงรายการเดียว
เพิ่มเมธอด
setTestDeviceIds()
เพื่อเปิดใช้การตั้งค่าอุปกรณ์ทดสอบ 1 ครั้งสำหรับคำขอโฆษณาทั้งหมด
18.2.0
29‐08‐2019
เพิ่ม API สำหรับรูปแบบ
AppOpenAd
แล้ว ปัจจุบันฟีเจอร์นี้อยู่ในเวอร์ชันเบต้าแบบจำกัด โปรดติดต่อผู้จัดการฝ่ายดูแลลูกค้าเพื่อขอสิทธิ์เข้าถึง
18.1.1
23‐07-2019
18.1.0
09‐07-2019
18.0.0
2019‑06‑17
การย้ายข้อมูลจากไลบรารีการสนับสนุนของ Android ไปยังไลบรารี Jetpack (AndroidX) ดูข้อมูลเพิ่มเติมในบันทึกประจำรุ่นของบริการ Google Play
เพื่อหลีกเลี่ยงข้อขัดข้องที่เกิดขึ้นในการเปิดใช้ครั้งแรกหลังการติดตั้งแอปจาก Play Store ในรุ่นนี้กำหนดให้ผู้เผยแพร่โฆษณาต้องประกาศทรัพยากร Dependency เพิ่มเติมใน create.gradle ของตน
com.google.android.gms:play-services-measurement:17.0.0
com.google.android.gms:play-services-measurement-sdk:17.0.0
หมายเหตุ: รุ่นนี้เป็นการอัปเดตเวอร์ชัน MAJOR และการเปลี่ยนแปลงที่ส่งผลกับส่วนอื่นในระบบ
17.2.1
21‐05-2019
แก้ไข ANR ที่เกิดขึ้นเมื่อ android.media.AudioManager.getStreamVolume
17.2.0
11‐03-2019
วิดีโอที่มีการให้รางวัล: เพิ่ม API ที่มีการให้รางวัลชุดใหม่ (ดูแพ็กเกจที่มีการให้รางวัล ) ที่ช่วยให้คุณโหลดโฆษณาที่มีการให้รางวัลหลายรายการพร้อมกันได้
สื่อกลาง: เพิ่ม API ของอะแดปเตอร์สื่อกลางชุดใหม่ที่รองรับการเริ่มต้น ตัวแปลงที่ใช้ API ใหม่จะใช้คลาส Adapter
ผู้เผยแพร่โฆษณาที่ใช้ firebase-analytics
ร่วมกับเวอร์ชัน 17.2.0
ของไลบรารีโฆษณา (เช่น com.google.android.gms:play-services-ads:17.2.0
) ต้องใช้ com.google.firebase:firebase-analytics:16.3.0
17.1.3
31‐01-2019
ผู้เผยแพร่โฆษณาที่ใช้ firebase-analytics
ร่วมกับเวอร์ชัน 17.1.3
ของไลบรารีโฆษณา (เช่น com.google.android.gms:play-services-ads:17.1.3
) ต้องใช้ com.google.firebase:firebase-analytics:16.3.0
17.1.2
03‑12‑2018
ผู้เผยแพร่โฆษณาที่ใช้ firebase-analytics
ร่วมกับเวอร์ชัน 17.1.2
ของไลบรารีโฆษณา (เช่น com.google.android.gms:play-services-ads:17.1.2
) ต้องใช้ com.google.firebase:firebase-analytics:16.0.6
17.1.1
12-11-2018
แก้ไขข้อบกพร่องที่การรวม play-services-ads
และ firebase-analytics
บางรายการ (เช่น ads:17.1.0
&
analytics:16.0.5
) ส่งผลให้เกิดข้อผิดพลาด duplicate entry
คอมไพเลอร์
ผู้เผยแพร่โฆษณาที่ใช้ firebase-analytics
ร่วมกับเวอร์ชัน 17.1.1
ของไลบรารีโฆษณา (เช่น com.google.android.gms:play-services-ads:17.1.1
) ต้องใช้ com.google.firebase:firebase-analytics:16.0.5
17.1.0
02-11-2018
17.0.0
05-10-2018
ผู้เผยแพร่โฆษณา AdMob ของ Google จะต้องระบุแท็ก <meta-data>
ด้วยคีย์
com.google.android.gms.ads.APPLICATION_ID
ใน AndroidManifest.xml ของตน ดูรายละเอียดเพิ่มเติมได้จากคำแนะนำในการเริ่มต้นใช้งาน
โฆษณาเนทีฟ: NativeAppInstallAd
, NativeContentAd
และ API ที่เกี่ยวข้องจะเลิกใช้งานเพื่อเปลี่ยนไปใช้ UnifiedNativeAd
โปรดดูวิธีการเพิ่มเติมในการใช้ API ใหม่ในโฆษณาเนทีฟแบบรวมขั้นสูง
โฆษณาเนทีฟ: เพิ่มฟีเจอร์ "ซ่อนโฆษณานี้"
โฆษณาเนทีฟ: บันทึกคำเตือนที่ไม่เป็นอันตราย: "UnconfirmedClickListener ต้องไม่เป็นค่าว่างในขณะที่ตั้งค่า ClickConfirmingView" ไว้แล้ว" ถูกนำออกแล้ว
โฆษณาที่มีการให้รางวัล: เพิ่มเมธอด setAdMetadataListener
ใน
RewardedVideoAd
เพื่อรอฟังการเปลี่ยนแปลงข้อมูลเมตาของโฆษณา
โฆษณาที่มีการให้รางวัล: การเรียกใช้ destroy()
จะลบล้าง Listener
เลิกใช้งานเมธอดต่อไปนี้เมื่อวันที่ AdRequest.Builder
แก้ไขข้อบกพร่องที่ onRewardedVideoCompleted()
ไม่เริ่มทำงานในโปรแกรมจำลอง
16.0.0
2018‑10‑02
ไม่มีการเปลี่ยนแปลงโฆษณา ดูข้อมูลเพิ่มเติมได้ที่บันทึกประจำรุ่น ของบริการ Google Play
15.0.0
12‐04-2018
MRAID v3 เวอร์ชันเบต้า
โฆษณาเนทีฟ: เพิ่ม Unified Native Ad API ซึ่งจะรวม NativeAppInstallAds
และ NativeContentAds
เข้าด้วยกันเป็นประเภทใหม่ UnifiedNativeAd
หมายเหตุ: เมื่อใช้โฆษณาเนทีฟ จะมีคำเตือนที่ไม่เป็นอันตรายแสดงขึ้นในบันทึกเมื่อมีการคลิกโฆษณาเนทีฟดังนี้
"UnconfirmedClickListener ต้องไม่เป็น null ขณะที่ตั้งค่า ClickConfirmingView ไว้ " คุณไม่ต้องสนใจคำเตือนนี้และเราจะนำคำเตือนนี้ออกในรุ่นถัดไป
12.0.1
28‑03‑2018
ไม่มีการเปลี่ยนแปลงโฆษณา ดูรายละเอียดเพิ่มเติมได้ที่บันทึกประจำรุ่น ของบริการ Google Play
12.0.0
20-03‐2018
วิดีโอที่มีการให้รางวัล: เพิ่มonRewardedVideoCompleted()
เมธอด Callback ลงใน RewardedVideoAdListener
แอปต้องลบล้างการเรียกกลับนี้ในการใช้งาน RewardedVideoAdListener
เพื่อหลีกเลี่ยงข้อผิดพลาดในการคอมไพล์เมื่ออัปเดตเป็นเวอร์ชัน 12.0.0
สื่อกลางเนทีฟ: เพิ่มเมธอด trackViews()
ลงใน NativeAdMapper
ซึ่งทำให้อะแดปเตอร์เข้าถึงออบเจ็กต์ View
ที่เกี่ยวข้องกับชิ้นงานโฆษณาเนทีฟแต่ละรายการได้
เลิกใช้งาน trackView()
เพื่อใช้ trackViews()
แทน
11.8.0
18-12-2017
การแก้ไขข้อบกพร่องและการปรับปรุงทั่วไป
11.6.0
07‐11-2017
เพิ่มคลาส NativeAdViewHolder
และวิธีการที่เกี่ยวข้องใน NativeAppInstallAd
และ NativeContentAd
แล้ว
เลิกใช้งาน AdLoader.getMediationAdapterClassName
แล้ว (ผู้เผยแพร่โฆษณาควรใช้เมธอดชื่อเดียวกันใน NativeAppInstallAd
และ NativeContentAd
แทน)
ตอนนี้โฆษณาทดสอบจะแสดงป้ายกำกับที่ด้านบนของโฆษณา ดูรายละเอียดเพิ่มเติมในคู่มือการทดสอบ
11.4.0
19-09-2017
เพิ่มเมธอด getMediationAdapterClassName()
ลงในคลาส NativeAppInstallAd
และ NativeContentAd
แล้ว ระบบจะเลิกใช้งานเมธอดชื่อเดียวกันใน AdLoader
เพิ่มเมธอด onVideoEnd()
ลงในคลาส MediationNativeListener
เมธอด hasVideoContent()
, setHasVideoContent()
และ setMediaView()
ลงในคลาส NativeAdMapper
และเมธอด getAdVolume()
และ isAdMuted()
ลงในคลาส NativeMediationAdRequest
เพื่อรองรับสื่อกลางวิดีโอเนทีฟ
นำชั้นเรียน SearchAdRequest
ออกแล้ว
11.2.2
05‐09-2017
เพิ่มเมธอด loadAd()
ใหม่ที่จะนำออบเจ็กต์ PublisherAdRequest
ไปยังคลาส RewardedVideoAd
11.2.0
14‐08-2017
เพิ่มเมธอด loadAds()
ลงในคลาส AdLoader
ซึ่งช่วยให้แอปโหลดโฆษณาที่ไม่ซ้ำกันหลายรายการในคําขอเดียวได้
เมื่อคุณอัปเกรดแอปไปใช้ SDK โฆษณาในอุปกรณ์เคลื่อนที่ของ Google เวอร์ชัน 11.2.0 ขึ้นไป คุณต้องอัปเดต build.gradle
ของแอปเพื่อระบุ compileSdkVersion
เป็นอย่างน้อย 26
(Android O) ด้วย ซึ่งจะไม่เปลี่ยนแปลงวิธีการทำงานของแอป คุณไม่จำเป็นต้องอัปเดต targetSdkVersion
เริ่มตั้งแต่เวอร์ชัน 11.2.0 เป็นต้นไป SDK โฆษณาในอุปกรณ์เคลื่อนที่ของ Google จะพร้อมใช้งานผ่านที่เก็บ Maven ของ Google ดูข้อมูลเพิ่มเติมได้ที่บันทึกประจำรุ่น ของบริการ Google Play
11.0.0
2017‑06‑07
เพิ่มเมธอด onAdClicked()
และ
onAdImpression()
ลงในคลาส AdListener
ระบบจะใช้วิธีการเหล่านี้กับโฆษณาเนทีฟเพื่อการติดตั้งแอปและโฆษณาเนทีฟแบบคอนเทนต์เท่านั้น
นำเมธอด getInAppPurchaseListener()
และ setInAppPurchaseListener()
ออกจากคลาส AdView
, InterstitialAd
และ NativeExpressAdView
และนำคลาสการซื้อในแอปที่เกี่ยวข้องออกด้วย
เพิ่มเมธอด OnVideoMute()
,
OnVideoPause()
,
OnVideoPlay()
และ OnVideoStart()
ลงในคลาส
VideoController.VideoLifecycleCallbacks
เพิ่มความสามารถในการเปิดใช้โหมดสมจริงในโฆษณาแบบเต็มหน้าจอด้วยการเพิ่มเมธอด setImmersiveMode()
ลงในคลาส PublisherInterstitialAd
และ RewardedVideoAd
เพิ่มอินเทอร์เฟซ OnPublisherAdViewLoadedListener
คลาส PublisherAdViewOptions
และคลาส PublisherAdViewOptions.Builder
สำหรับใช้กับ AdLoader
สำหรับคำขอโฆษณาเนทีฟบวกแบนเนอร์
เพิ่มอินเทอร์เฟซ OnImmersiveModeUpdatedListener
ที่ไม่บังคับซึ่งอะแดปเตอร์สื่อกลางสามารถนำไปใช้เพื่อรับทราบข้อมูลการอัปเดตโหมดสมจริง
เพิ่มเมธอด getMediationAdapterClassName()
ลงในคลาส RewardedVideoAd
เพิ่มกฎ keep
เพื่อเก็บรักษาชื่อคลาสอะแดปเตอร์สื่อกลางไว้โดยอัตโนมัติเมื่อใช้ ProGuard
10.2.0
2017‑2‑15
บริการ Google Play 10.2.x เป็นรุ่นแรกที่ไม่มีการสนับสนุนอย่างเต็มรูปแบบสำหรับ Android เวอร์ชัน 2.3.x (Gingerbread) อีกต่อไป
แอปที่พัฒนาโดยใช้ SDK รุ่น 10.2.x ขึ้นไปต้องมีระดับ API ของ Android ขั้นต่ำที่ 14 และไม่สามารถติดตั้งในอุปกรณ์ที่ใช้ API ระดับต่ำกว่า 14 หากต้องการดูข้อมูลเพิ่มเติมเกี่ยวกับตัวเลือกต่างๆ รวมถึงการสร้าง APK หลายรายการเพื่อขยายการรองรับแอปสำหรับ Android Gingerbread โปรดดู
บล็อกของนักพัฒนาแอป Android
เพิ่มการรองรับชิ้นงานวิดีโอสําหรับเนื้อหาขั้นสูงของเนทีฟและโฆษณาเทมเพลตที่กําหนดเอง
เพิ่มเมธอด getVideoController()
, setVideoOptions()
และ getVideoOptions()
ลงในคลาส PublisherAdView
แล้ว
เพิ่มชั้นเรียน AdChoicesView
แล้ว
เพิ่มเมธอด getAdChoicesContent()
และ setAdChoicesContent()
ลงในคลาส NativeAdMapper
แล้ว
เพิ่มอินเทอร์เฟซ InitializableMediationRewardedVideoAdAdapter
สำหรับอะแดปเตอร์สื่อกลางวิดีโอที่มีการให้รางวัลที่ต้องการเลือกใช้การเริ่มต้นล่วงหน้าก่อนที่จะมีการส่งคำขอโฆษณา
เพิ่มการรองรับการแสดงตัวอย่างในแอปและการแก้ปัญหาใน Google Ad Manager
10.0.1
2016-11‐21
แก้ไขข้อบกพร่องและปรับปรุงทั่วไป
9.8.0
20-10-2016
MobileAds.Initialize(Context)
เลิกเลิกใช้งานแล้ว
ผู้เผยแพร่โฆษณา Google Ad Manager ควรเรียกใช้เมธอดนี้เมื่อเริ่มต้น
แอปของตน ผู้เผยแพร่โฆษณา AdMob ควรใช้ MobileAds.Initialize(Context, String)
และส่งรหัสการสมัครต่อไป
9.6.0
22‑09‑2016
เพิ่มคลาส
MediaView
สำหรับโฆษณาวิดีโอเนทีฟขั้นสูงแล้ว
เพิ่มเมธอด
openDebugMenu()
ลงในคลาส
MobileAds
สำหรับการแสดงตัวอย่างครีเอทีฟโฆษณาและการแก้ปัญหาของหน่วยโฆษณา Ad Manager
เพิ่มการสนับสนุนสำหรับกิจกรรมที่กำหนดเองของวิดีโอที่มีการให้รางวัล
9.4.0
2016‑08‑01
แก้ไขข้อบกพร่องและปรับปรุงทั่วไป
9.2.0
27‐06-2016
9.0.1
26‑05‑2016
แก้ไขปัญหา ProGuard ที่พบใน 9.0.0
ผู้เผยแพร่โฆษณาไม่ต้องการตัวเลือก keep
สำหรับ com.google.android.gms.common.util.DynamiteApi
อีกต่อไป
9.0.0
2016‑05‑18
8.4.0
2015‑12‑18
เพิ่มวิธีการสาธารณะ MobileAds.setAppVolume()
เพื่อแจ้ง SDK โฆษณาในอุปกรณ์เคลื่อนที่เกี่ยวกับระดับเสียงในปัจจุบันของแอป
แก้ไขข้อบกพร่องและปรับปรุงด้านต่างๆ แล้ว
8.3.0
6 พ.ย. 2015
เพิ่มการรองรับโฆษณาวิดีโอที่มีการให้รางวัล
เพิ่มเมธอด isLoading()
ลงใน PublisherAdView
และ PublisherInterstitialAd
เพื่อตรวจสอบว่าคําขอโฆษณาอยู่ระหว่างดำเนินการหรือไม่
เพิ่มวิธีการ setIsDesignedForFamilies()
ลงใน AdRequest.Builder
และ PublisherAdRequest.Builder
เพิ่มวิธีการ destroy()
ไปยัง NativeAdView
แล้ว
8.1.0
24‑09‑2015
แก้ไขข้อบกพร่องหลายรายการ
7.8.0
13‐08-2015
เวอร์ชันอย่างเป็นทางการของ MRAID v2
เพิ่มเมธอด isLoading()
ลงใน AdLoader
, AdView
และ InterstitialAd
เพื่อตรวจสอบว่าคําขอโฆษณาอยู่ระหว่างดำเนินการหรือไม่
เลิกใช้งาน PublisherAdRequest.Builder#setManualImpressionsEnabled()
ให้ใช้ PublisherAdView#setManualImpressionsEnabled()
แทน
7.5.0
28‐05-2015
เพิ่มการรองรับรูปแบบโฆษณาเนทีฟเพื่อการติดตั้งแอปและเนื้อหาใน AdMob และ Ad Manager
เพิ่มการรองรับรูปแบบโฆษณาเนทีฟที่กำหนดเอง ซึ่งพร้อมใช้งานในการจองใน Ad Manager
7.3.0
28‐04‐2015
แก้ไขข้อบกพร่องหลายรายการ
7.0.0
19-03-2015
เพิ่มเมธอด addCustomTargeting()
และ addCategoryExclusion()
ลงใน PublisherAdRequest.Builder
แล้ว
แก้ไขปัญหาที่ทำให้ PublisherAdView.recordManualImpression()
บันทึกการแสดงผลหลายรายการใน Ad Manager เมื่อใช้การนับการแสดงผลด้วยตนเอง
แก้ไขปัญหาที่ทําให้โฆษณาแสดงผลไม่ถูกต้องเมื่อใช้แอตทริบิวต์ android:largestWidthLimitDp
ในแท็ก <supports-screens>
เพิ่มเมธอด setRequestAgent()
ใน AdRequest.Builder
และ PublisherAdRequest.Builder
แล้ว
ควรใช้วิธีการนี้เพื่อแสดงที่มาของคำขอโฆษณาโดยบุคคลที่สามที่เป็นสื่อกลางไปยัง SDK โฆษณาในอุปกรณ์เคลื่อนที่
6.5.87
2014‑12‑08
เปิดตัวสถาปัตยกรรม JAR แบบแยก--ตอนนี้นักพัฒนาแอป Android Studio สามารถ
รวมเฉพาะส่วนโฆษณาของบริการ Google Play ได้ โดยขึ้นอยู่กับ
com.google.android.gms:play‑services‑ads :6.+
หมายเหตุ: แอปที่สร้างโฆษณาแบนเนอร์ใน XML ยังคงต้องอ้างอิงถึงไลบรารีทั้งหมด com.google.android.gms:play‑services :6.+
แก้ไขข้อบกพร่องหลายรายการ
6.1
08‐10-2014
เพิ่มเมธอด getLocation()
ลงใน com.google.android.gms.ads.MediationAdRequest
แล้ว
เพิ่มคำอธิบายเนื้อหาลงในปุ่มปิดโฆษณาคั่นระหว่างหน้าเพื่อการเข้าถึง
นำการบันทึก "ไม่พบทรัพยากร Google Play" ออกเมื่อลิงก์โปรเจ็กต์คลังอย่างถูกต้องแล้ว
เพิ่ม getMediationAdapterClassName()
ลงใน AdView
เพื่อรับชื่อคลาสของอะแดปเตอร์สื่อกลางของเครือข่ายโฆษณาที่แสดงโฆษณาอยู่
5.0
25‐06‐2014
เพิ่ม API ใหม่เพื่อใช้เหตุการณ์ที่กําหนดเอง
เพิ่มขั้นตอนการซื้อเริ่มต้นสำหรับการซื้อในแอปโดยใช้ Google Play Billing API
4.4
07‐05-2014
เพิ่ม Mediation Adapter API ใหม่
เพิ่มโฆษณา LARGE_BANNER
รูปแบบ 320x100 ใหม่สำหรับทั้งโทรศัพท์และแท็บเล็ต
เพิ่มรูปแบบโฆษณาคั่นระหว่างหน้าใหม่สําหรับการซื้อในแอป ตั้งค่า InAppPurchaseListener
ใน InterstitialAd
เพื่อฟังเหตุการณ์การซื้อในแอป
การแก้ไขข้อบกพร่องสำหรับ SecurityException
ขัดข้องเนื่องจากการอ่าน gservices โดยไม่ได้รับอนุญาต
4.3
17‐03-2014
ตอนนี้ InterstitialAd
จะทํางานหากมีการส่งผ่านบริบทแอปพลิเคชัน
เพิ่มเมธอด setContentUrl()
ลงใน PublisherAdRequest.Builder
แล้ว
แก้ไขหาข้อยกเว้นเมื่อไม่ได้ลงทะเบียนบริการ
4.2
03‐02-2014
แก้ไขข้อบกพร่องหลายรายการ
4.1
2014‑01‑16
เพิ่มการรองรับ Ad Manager และโฆษณา Search สำหรับแอปบนอุปกรณ์เคลื่อนที่
ตอนนี้ AdRequest.Builder
มีเมธอด setLocation()
แล้ว
แก้ไขข้อขัดข้องที่เกิดขึ้นหากมีการขอโฆษณาคั่นระหว่างหน้า แต่ไม่ได้ระบุ AdActivity
ในไฟล์ Manifest
4.0
31-10-2013
ขณะนี้ Google Mobile Ads API เป็นส่วนหนึ่งของบริการ Google Play แล้ว
การอัปเดตในอนาคตสำหรับ Google Mobile Ads API จะได้รับการพุชไปยังอุปกรณ์โดยอัตโนมัติผ่านบริการ Google Play
ระบบยังไม่รองรับ Ad Manager และโฆษณา Search สําหรับแอปบนอุปกรณ์เคลื่อนที่