Posted by Anton Hansson, Software program EngineerAndroid 10 and better help Modular System Elements that enable us to expedite useful and safety updates to the Android ecosystem outdoors of main API stage releases and make new performance backward suitable on already-released Android variations. These enhancements assist make growth extra versatile and broaden the attain for app builders. We have constructed a brand new Extension SDK framework so that you can combine with these APIs, and in the present day, we’re releasing the primary public model of the Extension SDK (Extension Stage 4).
Quicker API and have introductions
Being able to introduce new performance outdoors of main API stage releases permits quicker improvements. As shared in a earlier put up, starting this yr we plan to roll out the preliminary Privateness Sandbox on Android Beta launch to Android 13 gadgets. You can begin utilizing the Extension SDK to combine your options with the AdServices APIs to arrange for restricted manufacturing testing. Study extra on the right way to take part within the Privateness Sandbox Beta launch, and arrange your growth surroundings with a take a look at gadget or emulator.
Backward compatibility
Examine for API availability
enjoyable isPhotoPickerAvailable(): Boolean { |
The choice test, through Construct.VERSION.SDK_INT, would appear to be this:
enjoyable isPhotoPickerAvailable(): Boolean { |
This test remains to be protected and proper, however this perform would return false on some gadgets the place the API is now accessible. Because of this, the SDK_INT test just isn’t optimum, and the extension model test is a greater technique to test for API availability. All gadgets with SDK_INT >= 33 additionally have an R extension model of
>= 2, however there are gadgets with SDK_INT < 33 with R extension variations >= 2.
Equally, the AdServices API reference might point out that it’s “added in Advert Providers Extensions 4”. The Advert Providers extension makes use of the SdkExtensions.AD_SERVICES fixed. The supply test appears to be like like this:
enjoyable isAdServicesAvailable(): Boolean { |
For developer comfort, we’re extending Jetpack to make it simpler to work with extension variations. For instance, you should utilize a Jetpack library perform to test for PhotoPicker availability, which abstracts away the conditional model checks. We anticipate to be releasing extra Jetpack libraries (such because the Privateness Preserving APIs within the Privateness Sandbox) to help the proper use of APIs launched through Extension SDKs.
Tooling help
To assist guarantee app high quality, we added Extension variations tooling help to Android Lint’s NewApi test. Since Android Studio Flamingo, it could possibly auto-generate the proper model checks for APIs which have been launched through SDK extensions. Utilizing these new model checks is totally elective, however adopting them might assist result in extra widespread use of latest APIs once they exist.
Get familiarized with SDK extensions
We’re simply starting the SDK Extension developer journey and plan to make extra options accessible sooner or later. You may get the newest SDK extension 4 accessible within the SDK Supervisor in the present day. Study extra in regards to the SDK Extensions and our documentation on the Privateness Sandbox Beta and the photograph picker.