Comment on page
Flutter SDK Versions
31.10.2023
Flutter SDK 2.3.2 has been released. Here are the version notes:
- Android 3.10.4 and iOS 3.18.0 versions have been added.
⭐ FEATURE
- The
fetchCoupon
feature has been integrated into Flutter SDK.
- The Android
baseUrl
crash issue has been resolved.
20.09.2023
⭐ IMPROVEMENTS
- Android core and FCM 3.10.2 versions have been integrated into the Flutter SDK.
- The Target API level of the Android module has been raised to 33.
- The
'startDataTransfer'
and'stopDataTransfer'
methods have been added to the plugin.
Flutter version 2.3.0, which includes Android 3.10.1 and iOS 3.16.0 versions, has been released.
- Push action callbacks were moved in foreground thread.
It appears that you have callback methods in your application, where the developer can provide their own custom methods to be executed. These callback methods allow you to receive specific information or perform certain actions requested from Netmera. For example, you can receive push payloads through these callbacks.
In Flutter, there is a problem where callbacks cannot run in the background as the application kills the cross-compiled code to preserve resources. To avoid this issue, you can utilize the "isolate" feature to run the existing callback methods in a separate thread. However, it's important to note that since these callbacks are running in a background thread, they cannot perform long-running tasks or have persistent operations. Once the task in the thread is completed, the thread terminates. This behavior is due to the nature of different threads operating independently. The methods have been moved to the foreground.
- onPushReceiveBackground callback was created for background messages.
Only theonPushReceiverBackground
handling process is performed in the background.
- Flutter iOS event channel issue was fixed.
- Push action callbacks context issue was fixed.
- The section below from the AppDelegate should be removed.
func registerPlugins(registry: FlutterPluginRegistry) {
GeneratedPluginRegistrant.register(with: registry)
};
- The following line should be removed from the AppDelegate → didFinishLaunchingWithOptions method.
NetmeraFlutterSdkPlugin.setPluginRegistrantCallback(registerPlugins)
- The inside of the AppDelegate → didReceiveRemoteNotification method should be changed as follows.
~~FNetmeraService.handleWork(ON_PUSH_RECEIVE, dict:["userInfo" : userInfo])~~
if UIApplication.shared.applicationState == .active {
FNetmeraService.handleWork(ON_PUSH_RECEIVE, dict:["userInfo" : userInfo])
} else {
FNetmeraService.handleWork(ON_PUSH_RECEIVE_BACKGROUND, dict:["userInfo" : userInfo])
}
- There is no change in Android integration.
- The
NetmeraPushBroadcastReceiver().initialize()
method in the main.dart file can now be called anywhere. - In order for background messages to be processed, the following method must be added first, outside the
main
veMyApp
blocks.
@pragma('vm:entry-point')
void _onPushReceiveBackgroundHandler(Map<dynamic, dynamic> bundle) async {
print("onPushReceiveBackground: $bundle");
}
- Then this function should be given to
onPushReceiveBackground
inmain
before therunApp
method as follows.
NetmeraPushBroadcastReceiver.onPushReceiveBackground(_onPushReceiveBackgroundHandler);
For more detailed information, you can see the example usage in the example project. https://github.com/Netmera/Netmera-Flutter-Example/tree/master
⭐ FEATURE
- Netmera Android SDK version was upgraded to 3.9.14.
🛠 BUGFIX
- Decryption failed issue was fixed. (VF crash fixed.)
- Android core SDK version 3.9.12 and FCM version 3.9.4 have been added to the Flutter SDK.
- Android 13 notification permission methods have been added to the Flutter SDK and integrated with the existing iOS methods. The
areNotificationsEnabled
andrequestPushNotificationAuthorization
methods can now be used for both iOS and Android devices.
If you don't request notification permission at runtime, you can request it by calling the
requestPushNotificationAuthorization()
method. Note: Notification runtime permissions are required on Android 13 (API 33) or higher. Therefore, before calling the method, make sure your project targets an API of 33 and above.Netmera.requestPushNotificationAuthorization();
You can call the
areNotificationsEnabled()
method if you need to know the status of permissions.Netmera.areNotificationsEnabled().then((enabled) {
// Use the enabled status of permission as boolean
});
Usage details of
areNotificationsEnabled
and requestPushNotificationAuthorization
methods have been added to the Readme file.Last modified 18d ago