An open API service indexing awesome lists of open source software.

https://github.com/hms-core/hms-xamarin-bindings

This repo contains all of Xamarin HMS plugins.
https://github.com/hms-core/hms-xamarin-bindings

hms hmscore xamarin xamarin-android-binding xamarin-ios-binding

Last synced: 4 days ago
JSON representation

This repo contains all of Xamarin HMS plugins.

Awesome Lists containing this project

README

        

# HMS Xamarin Bindings
[![license](https://img.shields.io/badge/license-Apache--2.0-green)](./LICENCE)

This repo contains the source code for HMS Xamarin first-party plugins, which are developed by the HMS Core team.

These plugins enable access to using kit-specific APIs. For more information about plugins, and how to use them, see
[Official Documentations](https://developer.huawei.com/consumer/en/doc/overview/HMS-Core-Plugin?ha_source=hms1).

## Plugins
These are the available plugins in this repository.

| Plugin | Version | Download | Documentation |
|--------|-----|-----|-----|
| [Location](./android/source/location) | [![version](https://img.shields.io/nuget/v/Huawei.Hms.Location?style=for-the-badge)](https://www.nuget.org/packages/Huawei.Hms.Location) | [![version](https://img.shields.io/nuget/dt/Huawei.Hms.Location?style=for-the-badge)](./android/source/location) | [Getting Started](https://developer.huawei.com/consumer/en/doc/development/HMS-Plugin-Guides/preparedevenv-0000001050140270?ha_source=hms1)
[API Reference](https://developer.huawei.com/consumer/en/doc/development/HMS-Plugin-References/overview-0000001135675135?ha_source=hms1) |
| [Push](./android/source/push) | [![version](https://img.shields.io/nuget/v/Huawei.Hms.Push?style=for-the-badge)](https://www.nuget.org/packages/Huawei.Hms.Push) | [![version](https://img.shields.io/nuget/dt/Huawei.Hms.Push?style=for-the-badge)](./android/source/push) | [Getting Started](https://developer.huawei.com/consumer/en/doc/development/HMS-Plugin-Guides/preparedevenv-0000001050136492?ha_source=hms1)
[API Reference](https://developer.huawei.com/consumer/en/doc/development/HMS-Plugin-References/overview-0000001096871993?ha_source=hms1) |
| [Account](./android/source/hwid) | [![version](https://img.shields.io/nuget/v/Huawei.Hms.Hwid?style=for-the-badge)](https://www.nuget.org/packages/Huawei.Hms.Hwid) | [![version](https://img.shields.io/nuget/dt/Huawei.Hms.Hwid?style=for-the-badge)](./android/source/hwid) | [Getting Started](https://developer.huawei.com/consumer/en/doc/development/HMS-Plugin-Guides/preparing-development-environment-0000001050765753?ha_source=hms1)
[API Reference](https://developer.huawei.com/consumer/en/doc/development/HMS-Plugin-References/overview-0000001050731906?ha_source=hms1) |
| [IAP](./android/source/iap) | [![version](https://img.shields.io/nuget/v/Huawei.Hms.Iap?style=for-the-badge)](https://www.nuget.org/packages/Huawei.Hms.Iap) | [![version](https://img.shields.io/nuget/dt/Huawei.Hms.Iap?style=for-the-badge)](./android/source/iap) | [Getting Started](https://developer.huawei.com/consumer/en/doc/development/HMS-Plugin-Guides/preparedevenv-0000001051088608?ha_source=hms1)
[API Reference](https://developer.huawei.com/consumer/en/doc/development/HMS-Plugin-References-V1/overview-0000001061670763-V1?ha_source=hms1) |
| [Maps](./android/source/maps) | [![version](https://img.shields.io/nuget/v/Huawei.Hms.Maps?style=for-the-badge)](https://www.nuget.org/packages/Huawei.Hms.Maps) | [![version](https://img.shields.io/nuget/dt/Huawei.Hms.Maps?style=for-the-badge)](./android/source/maps) | [Getting Started](https://developer.huawei.com/consumer/en/doc/development/HMS-Plugin-Guides-V1/preparations-0000001050141074-V1?ha_source=hms1)
[API Reference](https://developer.huawei.com/consumer/en/doc/development/HMS-Plugin-References-V1/overview-0000001061343659-V1?ha_source=hms1) |
| [Analytics](./android/source/hianalytics) | [![version](https://img.shields.io/nuget/v/Huawei.Hms.Hianalytics?style=for-the-badge)](https://www.nuget.org/packages/Huawei.Hms.Hianalytics) | [![version](https://img.shields.io/nuget/dt/Huawei.Hms.Hianalytics?style=for-the-badge)](./android/source/hianalytics) | [Getting Started](https://developer.huawei.com/consumer/en/doc/development/HMS-Plugin-Guides/introduction-0000001050139636?ha_source=hms1)
[API Reference](https://developer.huawei.com/consumer/en/doc/development/HMS-Plugin-References-V1/overview-0000001062576888-V1?ha_source=hms1) |
| [Site](./android/source/site) | [![version](https://img.shields.io/nuget/v/Huawei.Hms.Site?style=for-the-badge)](https://www.nuget.org/packages/Huawei.Hms.Site) | [![version](https://img.shields.io/nuget/dt/Huawei.Hms.Site?style=for-the-badge)](./android/source/site) | [Getting Started](https://developer.huawei.com/consumer/en/doc/development/HMS-Plugin-Guides/preparedevenv-0000001050140558?ha_source=hms1)
[API Reference](https://developer.huawei.com/consumer/en/doc/development/HMS-Plugin-References-V1/overview-0000001126551109-V1?ha_source=hms1) |
| [Ads](./android/source/ads-identifier) | [![version](https://img.shields.io/nuget/v/Huawei.Hms.AdsIdentifier?style=for-the-badge)](https://www.nuget.org/packages/Huawei.Hms.AdsIdentifier) | [![version](https://img.shields.io/nuget/dt/Huawei.Hms.AdsIdentifier?style=for-the-badge)](./android/source/ads-identifier) | [Getting Started](https://developer.huawei.com/consumer/en/doc/development/HMS-Plugin-Guides/preparing-development-environement-0000001050418813?ha_source=hms1)
[API Reference](https://developer.huawei.com/consumer/en/doc/development/HMS-Plugin-References-V1/xamarin-apis-overview-0000001050285576-V1?ha_source=hms1) |
| [ML](./android/source/ml-computer-vision-cloud) | [![version](https://img.shields.io/nuget/v/Huawei.Hms.MlComputerVisionCloud?style=for-the-badge)](https://www.nuget.org/packages/Huawei.Hms.MlComputerVisionCloud) | [![version](https://img.shields.io/nuget/dt/Huawei.Hms.MlComputerVisionCloud?style=for-the-badge)](./android/source/ml-computer-vision-cloud) | [Getting Started](https://developer.huawei.com/consumer/en/doc/development/HMS-Plugin-Guides/prepare-dev-env-0000001052968081?ha_source=hms1)
[API Reference](https://developer.huawei.com/consumer/en/doc/development/HMS-Plugin-References-V1/overview-0000001052991421-V1?ha_source=hms1) |
| [Scan](./android/source/scan) | [![version](https://img.shields.io/nuget/v/Huawei.Hms.Scan?style=for-the-badge)](https://www.nuget.org/packages/Huawei.Hms.Scan) | [![version](https://img.shields.io/nuget/dt/Huawei.Hms.Scan?style=for-the-badge)](./android/source/scan) | [Getting Started](https://developer.huawei.com/consumer/en/doc/development/HMS-Plugin-Guides/introduction-0000001057554169?ha_source=hms1)
[API Reference](https://developer.huawei.com/consumer/en/doc/development/HMS-Plugin-References-V1/overview-0000001057541182-V1?ha_source=hms1) |
| [AR](./android/source/arenginesdk) | [![version](https://img.shields.io/nuget/v/Huawei.Hms.Arenginesdk?style=for-the-badge)](https://www.nuget.org/packages/Huawei.Hms.Arenginesdk) | [![version](https://img.shields.io/nuget/dt/Huawei.Hms.Arenginesdk?style=for-the-badge)](./android/source/arenginesdk) | [Getting Started](https://developer.huawei.com/consumer/en/doc/development/HMS-Plugin-Guides-V1/preparing-dev-environment-0000001058937900-V1?ha_source=hms1)
[API Reference](https://developer.huawei.com/consumer/en/doc/development/HMS-Plugin-References-V1/overview-0000001058415701-V1?ha_source=hms1) |
| [Dtm](./android/source/dtm-api) | [![version](https://img.shields.io/nuget/v/Huawei.Hms.Dtmapi?style=for-the-badge)](https://www.nuget.org/packages/Huawei.Hms.Dtmapi) | [![version](https://img.shields.io/nuget/dt/Huawei.Hms.Dtmapi?style=for-the-badge)](./android/source/dtm-api) | [Getting Started](https://developer.huawei.com/consumer/en/doc/development/HMS-Plugin-Guides-V1/dev-process-0000001057354673-V1?ha_source=hms1)
[API Reference](https://developer.huawei.com/consumer/en/doc/development/HMS-Plugin-References-V1/overview-0000001057667873-V1?ha_source=hms1) |
| [Safety Detect](./android/source/safetydetect) | [![version](https://img.shields.io/nuget/v/Huawei.Hms.Safetydetect?style=for-the-badge)](https://www.nuget.org/packages/Huawei.Hms.Safetydetect) | [![version](https://img.shields.io/nuget/dt/Huawei.Hms.Safetydetect?style=for-the-badge)](./android/source/safetydetect) | [Getting Started](https://developer.huawei.com/consumer/en/doc/development/HMS-Plugin-Guides/preparing-dev-environment-0000001058928448?ha_source=hms1)
[API Reference](https://developer.huawei.com/consumer/en/doc/development/HMS-Plugin-References/overview-0000001062957468?ha_source=hms1) |
| [Contact Shield](./android/source/contactshield) | [![version](https://img.shields.io/nuget/v/Huawei.Hms.Contactshield?style=for-the-badge)](https://www.nuget.org/packages/Huawei.Hms.Contactshield) | [![version](https://img.shields.io/nuget/dt/Huawei.Hms.Contactshield?style=for-the-badge)](./android/source/contactshield) | [Getting Started](https://developer.huawei.com/consumer/en/doc/development/HMS-Plugin-Guides/dev-process-0000001061291689?ha_source=hms1)
[API Reference](https://developer.huawei.com/consumer/en/doc/development/HMS-Plugin-References-V1/xamarin-apis-overview-0000001062235522-V1?ha_source=hms1) |
| [Awareness](./android/source/awareness) | [![version](https://img.shields.io/nuget/v/Huawei.Hms.Awareness?style=for-the-badge)](https://www.nuget.org/packages/Huawei.Hms.Awareness) | [![version](https://img.shields.io/nuget/dt/Huawei.Hms.Awareness?style=for-the-badge)](./android/source/awareness) | [Getting Started](https://developer.huawei.com/consumer/en/doc/development/HMS-Plugin-Guides/preparing-the-development-environment-0000001061419917?ha_source=hms1)
[API Reference](https://developer.huawei.com/consumer/en/doc/development/HMS-Plugin-References/overview-0000001063192165?ha_source=hms1) |
| [Health](./android/source/health) | [![version](https://img.shields.io/nuget/v/Huawei.Hms.Health?style=for-the-badge)](https://www.nuget.org/packages/Huawei.Hms.Health) | [![version](https://img.shields.io/nuget/dt/Huawei.Hms.Health?style=for-the-badge)](./android/source/health) | [Getting Started](https://developer.huawei.com/consumer/en/doc/development/HMS-Plugin-Guides/preparedevenv-0000001073721939?ha_source=hms1)
[API Reference](https://developer.huawei.com/consumer/en/doc/development/HMS-Plugin-References-V1/overview-0000001072603831-V1?ha_source=hms1) |
| [Nearby Service](./android/source/nearby) | [![version](https://img.shields.io/nuget/v/Huawei.Hms.Nearby?style=for-the-badge)](https://www.nuget.org/packages/Huawei.Hms.Nearby) | [![version](https://img.shields.io/nuget/dt/Huawei.Hms.Nearby?style=for-the-badge)](./android/source/nearby) | [Getting Started](https://developer.huawei.com/consumer/en/doc/development/HMS-Plugin-Guides/preparedevenv-0000001088299068?ha_source=hms1)
[API Reference](https://developer.huawei.com/consumer/en/doc/development/HMS-Plugin-References-V1/overview-0000001062363591-V1?ha_source=hms1) |
| [FidoFido2](./android/source/fido-fido2) | [![version](https://img.shields.io/nuget/v/Huawei.Hms.FidoFido2?style=for-the-badge)](https://www.nuget.org/packages/Huawei.Hms.FidoFido2) | [![version](https://img.shields.io/nuget/dt/Huawei.Hms.FidoFido2?style=for-the-badge)](./android/source/fido-fido2) | [Getting Started](https://developer.huawei.com/consumer/en/doc/development/HMS-Plugin-Guides/prepare-dev-env-0000001077711574?ha_source=hms1)
[API Reference](https://developer.huawei.com/consumer/en/doc/development/HMS-Plugin-References/overview-0000001114489741?ha_source=hms1) |
| [FidoBioauthn](./android/source/fido-bioauthn) | [![version](https://img.shields.io/nuget/v/Huawei.Hms.FidoBioauthn?style=for-the-badge)](https://www.nuget.org/packages/Huawei.Hms.FidoBioauthn) | [![version](https://img.shields.io/nuget/dt/Huawei.Hms.FidoBioauthn?style=for-the-badge)](./android/source/fido-bioauthn) | [Getting Started](https://developer.huawei.com/consumer/en/doc/development/HMS-Plugin-Guides/prepare-dev-env-0000001077711574?ha_source=hms1)
[API Reference](https://developer.huawei.com/consumer/en/doc/development/HMS-Plugin-References/overview-0000001114489741?ha_source=hms1) |
| [FidoBioauthnAndroidX](./android/source/fido-bioauthn-androidx) | [![version](https://img.shields.io/nuget/v/Huawei.Hms.FidoBioauthnAndroidX?style=for-the-badge)](https://www.nuget.org/packages/Huawei.Hms.FidoBioauthnAndroidX) | [![version](https://img.shields.io/nuget/dt/Huawei.Hms.FidoBioauthnAndroidX?style=for-the-badge)](./android/source/fido-bioauthn-androidx) | [Getting Started](https://developer.huawei.com/consumer/en/doc/development/HMS-Plugin-Guides/prepare-dev-env-0000001077711574?ha_source=hms1)
[API Reference](https://developer.huawei.com/consumer/en/doc/development/HMS-Plugin-References/overview-0000001114489741?ha_source=hms1) |
| [Drive](./android/source/drive) | [![version](https://img.shields.io/nuget/v/Huawei.Hms.Drive?style=for-the-badge)](https://www.nuget.org/packages/Huawei.Hms.Drive) | [![version](https://img.shields.io/nuget/dt/Huawei.Hms.Drive?style=for-the-badge)](./android/source/drive) | [Getting Started](https://developer.huawei.com/consumer/en/doc/development/HMS-Plugin-Guides/prepare-dev-env-0000001077870416?ha_source=hms1)
[API Reference](https://developer.huawei.com/consumer/en/doc/development/HMS-Plugin-References/overview-0000001117408245?ha_source=hms1) |
| [Wallet](./android/source/wallet) | [![version](https://img.shields.io/nuget/v/Huawei.Hms.Wallet?style=for-the-badge)](https://www.nuget.org/packages/Huawei.Hms.Wallet) | [![version](https://img.shields.io/nuget/dt/Huawei.Hms.Wallet?style=for-the-badge)](./android/source/wallet) | [Getting Started](https://developer.huawei.com/consumer/en/doc/development/HMS-Plugin-Guides/preparing-dev-enviroenment-0000001078258878?ha_source=hms1)
[API Reference](https://developer.huawei.com/consumer/en/doc/development/HMS-Plugin-References-V1/namespace-overview-0000001096685665-V1) |

## Building

### Prerequisites

The build script for this project uses [Cake](http://cakebuild.net). To run the build, you can use one of the bootstrapper files either for Mac or Windows.

The bootstrapper script will automatically download Cake.exe and all the required tools and files into the `./tools/` folder.

```sh
dotnet tool install -g cake.tool
```

When building on macOS, you may also need to install CocoaPods:

```sh
# Homebrew
brew install cocoapods

# Ruby Gems
gem install cocoapods
```

### Compiling

You can either build all the libraries and samples in the repository from the root:

```sh
dotnet cake
```

Or, you can build each component separately:

```sh
# iOS
cd ios
dotnet cake

# Android
cd android
dotnet cake
```

The following targets can be specified using the `--target=`:

- `build` builds the class library bindings (depends on `externals`)
- `externals` downloads and builds the external dependencies
- `samples` builds all of the samples
- `nuget` builds the nuget packages
- `clean` cleans up everything

**Note:** In the `main-components.cake` and `dependency.cake`, there are only latest versions specified. You can change the versions and compile the projects as you like.

## Question or issues
If you want to evaluate more about HMS Core, [r/HMSCore on Reddit](https://www.reddit.com/r/HuaweiDevelopers/) is for you to keep up with latest news about HMS Core, and to exchange insights with other developers.

If you have questions about how to use HMS samples, try the following options:
- [Stack Overflow](https://stackoverflow.com/questions/tagged/huawei-mobile-services) is the best place for any programming questions. Be sure to tag your question with
`huawei-mobile-services`.
- [Huawei Developer Forum](https://forums.developer.huawei.com/forumPortal/en/home?fid=0101187876626530001?ha_source=hms1) HMS Core Module is great for general questions, or seeking recommendations and opinions.

If you run into a bug in our samples, please submit an [issue](https://github.com/HMS-Core/hms-xamarin-bindings/issues) to the Repository. Even better you can submit a [Pull Request](https://github.com/HMS-Core/hms-xamarin-bindings/pulls) with a fix.