Xamarin Components for Google APIs for iOS
Xamarin creates and maintains Xamarin.iOS bindings for the Google APIs for iOS Libraries, including:
Active Libraries
Deprecated Libraries
Firebase APIs for iOS current global version
Here's a table that shows in which global version is located each component of Firebase at this point of history:
Component Name | Component Version | Global Version |
---|---|---|
Firebase A/B Testing | 8.10.0 | 8.10.0 |
Firebase AdMob | 8.10.0 | 8.10.0 |
Firebase Analytics | 8.10.0 | 8.10.0 |
Firebase Auth | 8.10.0 | 8.10.0 |
Firebase Cloud Firestore | 8.10.0 | 8.10.0 |
Firebase Cloud Functions | 8.10.0 | 8.10.0 |
Firebase Cloud Messaging | 8.10.0 | 8.10.0 |
Firebase Core | 8.10.0 | 8.10.0 |
Firebase Crashlytics | 8.10.0 | 8.10.0 |
Firebase Database | 8.10.0 | 8.10.0 |
Firebase Dynamic Links | 8.10.0 | 8.10.0 |
Firebase In App Messaging | 8.10.0 | 8.10.0 |
Firebase Installations | 8.10.0 | 8.10.0 |
Firebase Performance Monitoring | 8.10.0 | 8.10.0 |
Firebase RemoteConfig | 8.10.0 | 8.10.0 |
Firebase Storage | 8.10.0 | 8.10.0 |
Google User Messaging Platform | 1.1.0.0 | 8.10.0 |
Google Cast | 4.7.0.0 | 8.10.0 |
Google Sign-In | 5.0.2.2 | 8.10.0 |
Google Tag Manager | 7.4.0.0 | 8.10.0 |
Ad Id Support
By default Firebase includes Ad Id Support, however, it can be disabled by adding the below property group to your project file.
<PropertyGroup>
<FirebaseWithoutAdIdSupport>True</FirebaseWithoutAdIdSupport>
</PropertyGroup>
Building
Prerequisites
Before building the libraries and samples in this repository, you will need to install .NET Core and the Cake .NET Core Tool:
Currently requires a version of Cake less than 1.0 (due to dependencies).
dotnet tool install -g cake.tool --version 0.38.5
When building on macOS, you may also need to install CocoaPods:
# 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:
dotnet cake
Or, you can specify the components and its dependencies to be build by using the --names=Key1,Key2,...
:
// Firebase keys
Firebase.ABTesting
Firebase.AdMob
Firebase.Analytics
Firebase.Auth
Firebase.CloudFirestore
Firebase.CloudFunctions
Firebase.CloudMessaging
Firebase.Core
Firebase.Crashlytics
Firebase.Database
Firebase.DynamicLinks
Firebase.InAppMessaging
Firebase.Installations
Firebase.PerformanceMonitoring
Firebase.RemoteConfig
Firebase.Storage
// Google keys
Google.Analytics
Google.Cast
Google.Maps
Google.MobileAds
Google.UserMessagingPlatform
Google.Places
Google.SignIn
Google.TagManager
// MLKit keys
MLKit.BarcodeScanning
MLKit.Core
MLKit.DigitalInkRecognition
MLKit.FaceDetection
MLKit.ImageLabeling
MLKit.ObjectDetection
MLKit.TextRecognition
MLKit.TextRecognition.Chinese
MLKit.TextRecognition.Devanagari
MLKit.TextRecognition.Japanese
MLKit.TextRecognition.Korean
MLKit.TextRecognition.Latin
MLKit.Vision
The following targets can be specified using the --target=<target-name>
:
libs
builds the class library bindings (depends onexternals
)externals
downloads and builds the external dependenciessamples
builds all of the samples (depends onlibs
)nuget
builds the nuget packages (depends onlibs
)clean
cleans up everything
Working in Visual Studio
Before the .sln
files will compile in the IDEs, the external dependencies need to be downloaded. This can be done by running the externals
target:
dotnet cake --target=externals
After the externals are downloaded and built, the .sln
files should compile in your IDE.
License
The license for this repository is specified in License.md
Contribution Guidelines
You will need to complete a Contribution License Agreement before your pull request can be accepted. You can complete the CLA by going through the steps at https://cla2.dotnetfoundation.org/.
.NET Foundation
This project is part of the .NET Foundation