👨‍💻 HMS Core: What have we done in August 2022?

Sinem SEVİLMİŞ
Huawei Developers
Published in
6 min readSep 1, 2022

Hello everyone!

As HMS Core team, we continue to post updates of cross-platform plugins monthly and we did great things again in August 2022!

In this month, we have updated 9 plugins. In addition to official release of August, we have updated 5 plugins as an urgent patch.

Urgent Patch 🚑

Let’s get started!

We have updated Contact Shield Plugin in four platforms: React Native, Cordova, Xamarin and Flutter.

What is Contact Shield?

Contact Shield is a COVID-19 contact tracing service developed based on the Bluetooth low energy (BLE) technology.

Global public health institutions can authorize developers to develop COVID-19 contact diagnosis apps using Contact Shield APIs. These apps can interact with other devices while protecting user privacy to check whether a user has been in contact with a person tested positive for COVID-19. If so, the user will be notified and instructed to take relevant measures, effectively controlling the spread of the virus.

What have we updated in Contact Shield? 🔍

We have added a new feature for contact diagnosis. With this feature, signature verification is supported in Window mode. Contacts of people with each other is kept on the diagnosis server as a key list file. After, these shared keys are sent to Contact Shield for processing. The SDK performs signature verification on the key file. The most distinctive difference of this feature is that tokens are not required while verification.

Besides this new feature, we have added TypeScript support in React Native.

For more detailed information, please check our documentation.

What have we done in Xamarin?

We have updated Scan Plugin.

What is Scan?

Scan Plugin scans, parses, and generates major 1D and 2D barcodes, helping you quickly build barcode scanning functions into your apps.

Scan Plugin automatically detects, magnifies, and recognizes barcodes from a distance, and is also able to scan a very small barcode in the same way. It works even in suboptimal situations, such as in dim light condition or when the barcode is reflective, dirty, blurry, or printed on a cylindrical surface. This leads to a high scanning success rate, and an improved user experience.

What have we updated in Scan? 🔍

We have added getOriginalBitmap method to obtain the image scanned after a successful scanning. This function must be enabled with the enableReturnBitmap method. We have added new feature to set a QR code center icon. Please don’t forget, this method applies only to QR code generation. Also, with this release, solved the issue of occasional first frame overexposure on some device models, to improve the barcode recognition rate caused by Native SDK.

What have we done in Flutter?

We have updated 5 plugins as considering the 3.x release of Flutter. Besides updates, we have added null-safety support in Game Service and Awareness Plugins. 🎉

What is Awareness and what have we updated? 🔍

Awareness plugin, provides your app with the ability to obtain contextual information including users’ current time, location, behavior, audio device status, ambient light, weather, and nearby beacons.

Since Awareness is one of the actively used plugins of HMS Core, we have made some breaking changes regarding its quality. From now on, the constant variable names of the plugin are corrected as lowerCamelCase to adapt the convention. Further, the internal structure of the plugin has changed which causes some dart pages to be inaccessible. Please use ‘package:huawei_awareness/huawei_awareness.dart’ as import not to deal with any errors related to this.

What is Game Service and what have we updated? 🔍

With Game Service Plugin, you can promote your game quickly and efficiently to Huawei’s vast user base by having users sign in using their HUAWEI IDs.

As the Awareness Plugin, the internal structure of the Game Service Plugin has also changed. Please use ‘package:huawei_gameservice/huawei_gameservice.dart’ as import not to deal with any errors related to this.

What is Nearby Service and what have we updated? 🔍

Nearby Service Plugin, includes Nearby Data Communication and Contact Shield. Nearby Data Communication allows apps to easily discover nearby devices and set up communication channels with them using technologies such as Bluetooth and Wi-Fi.

With this release, NearbyPermissionHandler class which contains the methods defined for the permissions required by the Nearby Service has been removed. From now on, you are expected to handle required permissions on your own. You can learn more about the required permissions from our official documentations. We have added new Bluetooth permissions that come with Android 12. Also, with this release, Google Play Store publishing issue caused by Native SDK has been resolved.

What is Site and what have we updated? 🔍

Site Plugin, provides place search services including keyword search, nearby place search, place detail search, and place search suggestion, helping your app provide convenient place-related services to attract more users and improve user loyalty.

As the other plugins, the internal structure of the Site Plugin has also changed. Please use ‘package:huawei_site/huawei_site.dart’as import not to deal with any errors related to this. With this release, the internal memory has optimized.

As I mentioned before, we have updated five of our plugins as an urgent patch in order to provide quick solution to the known bugs 🚀

In React Native, we have updated Push Plugin. We have fixed the drop data from intent issue and made some improvements for adapting to Android 12.

In Xamarin, we have updated Map and ML Plugins. We have fixed the issue that prevents building the apps on Map Plugin by fixing the 3rd party package name. Further, the Xamarin ML Plugin was buggy due to Java.Interop versions and this issue has been also fixed with this urgent patch release.

In Flutter, we have updated Ads and Ads Prime Plugins. We have solved the issue that prevents initiating the plugin without user’s action. Moreover, the Ads and Ads Prime plugins have some known issues such as bugs on destroy flow of the NativeAd or RewardAd and InterstitialAd listener issues, which are also resolved with this patch version.

Keep following our plugins! See you next month. Bye! 🤗

--

--