[[Notice]]Android Target API 31 (Android 12) Update
Follow
Upcoming Android 12 update
On June 2022 Google announce to Android Developer that all of app that service on Google Play must update Android app's Target API Level 30 to 31.
If you don't update Target API app may refuse to update.
- New Apps on Google Play : Starting from August 2022.
- App Update : Starting from November 2022.
For security and safety purpose, Google recommends to update Target API Level every year. Please follow the instruction for these update.
.
Update Android 12 SDK
To using and testing Android 12 API, developer must update app's Android SDK. If you are using Android Studio (or other IDE) please set your Target API 31.
SDK install
Please follow the instruction for update Android 12 SDK.
- Go to the menu on Tools > SDK Manager on Android Studio.
- On SDK Platforms select Android 12.
- On SDK Tools tap select Android SDK Build-Tools 31.
- Click the OK button to install the SDK.
- Go to the build.gradle on Apps folder and update following script.
android {
compileSdkVersion 31
defaultConfig {
targetSdkVersion 31
}
}
Update DFINERY SDK
Please update newest DFINERY SDK for Android 12 SDK. If you don't have this update some of features for SDK may not working.
Install the SDK
On [build.gradle (Module: app)] add following dependency.
android {
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
dependencies {
implementation 'com.google.android.gms:play-services-ads-identifier:18.0.1'
implementation 'com.android.installreferrer:installreferrer:2.2'
implementation 'io.dfinery:android-sdk:2.4.0.3'
}
android {
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
dependencies {
implementation 'com.google.android.gms:play-services-ads-identifier:18.0.1'
implementation 'com.android.installreferrer:installreferrer:2.2'
implementation('io.dfinery:android-sdk:2.4.0.3'){
exclude group: 'com.android.support'
}
}
Deeplink / Applink Activity
If your Android app's component has intent-filter on AndroidManifest.xml these component require android:exported options.
If these component calls from another app's value must set true
<activity
android:name=".MyDeeplinkGateActivity"
android:exported="true"> <!-- <<< set true -->
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="my_scheme"android:host="my_host"/>
</intent-filter>
</activity>
<activity
android:name="com.igaworks.v2.core.application.AbxDefaultDeeplinkActivity"
android:label="@string/app_name"
android:launchMode="singleTask"
android:noHistory="true"
android:exported="true"> <!-- <<< set true -->
<intent-filter android:label="@string/app_name">
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="your_scheme" android:host="your_host" />
</intent-filter>
<meta-data android:name="AbxRedirectActivity" android:value="com.my.Activity"/>
</activity>
Push Receiver
If your Android app's component has intent-filter on AndroidManifest.xml these component require android:exported options.
If these component calls from another app's value must set true
So please update set android:exported option as true on DFINERY push receiver
<receiver
android:name="com.igaworks.v2.core.push.notification.AbxPushReceiver"
android:exported="true" <!-- <<< set true -->
android:permission="com.google.android.c2dm.permission.SEND">
<intent-filter>
<action android:name="com.google.android.c2dm.intent.RECEIVE" />
<action android:name="com.igaworks.v2.core.pushServiceImplement.CLIENT_PUSH_RECEIVE" />
</intent-filter>
</receiver>
If you have any question, please send e-mail.
DFINERY Customer Support : support-tracker@adbrixsupport.zendesk.com