Xamarin Components for Google APIs for iOS

Xamarin creates and maintains Xamarin.iOS bindings for the Google APIs for iOS Libraries, including:

Active Libraries

Package Id NuGet
Xamarin.Firebase.iOS.ABTesting 4.2.0.0
Xamarin.Firebase.iOS.AdMob 7.66.0.0
Xamarin.Firebase.iOS.Analytics 6.9.0.0
Xamarin.Firebase.iOS.Auth 6.9.2.0
Xamarin.Firebase.iOS.CloudFirestore 1.19.0.0
Xamarin.Firebase.iOS.CloudFunctions 2.9.0.0
Xamarin.Firebase.iOS.CloudMessaging 4.7.1.0
Xamarin.Firebase.iOS.Core 6.10.4.0
Xamarin.Firebase.iOS.Crashlytics 4.6.2.0
Xamarin.Firebase.iOS.Database 6.6.0.0
Xamarin.Firebase.iOS.DynamicLinks 4.3.1.0
Xamarin.Firebase.iOS.InAppMessaging 0.24.0.0
Xamarin.Firebase.iOS.Installations 1.7.0.0
Xamarin.Firebase.iOS.InstanceID 4.8.0.0
Xamarin.Firebase.iOS.MLKit 0.21.0.0
Xamarin.Firebase.iOS.MLKit.Common 0.21.0.0
Xamarin.Firebase.iOS.MLKit.ModelInterpreter 0.21.0.0
Xamarin.Firebase.iOS.MLKit.NaturalLanguage 0.18.0.0
Xamarin.Firebase.iOS.MLKit.Vision 0.21.0.0
Xamarin.Firebase.iOS.PerformanceMonitoring 3.3.0.0
Xamarin.Firebase.iOS.RemoteConfig 4.9.1.0
Xamarin.Firebase.iOS.Storage 3.9.1.0
Xamarin.Google.iOS.Analytics 3.17.0.6
Xamarin.Google.iOS.AppIndexing 2.0.3.8
Xamarin.Google.iOS.Cast 4.4.6.1
Xamarin.Google.iOS.InstanceID 1.2.1.18
Xamarin.Google.iOS.Maps 3.9.0.0
Xamarin.Google.iOS.MobileAds 7.57.0.0
Xamarin.Google.iOS.Places 3.9.0.0
Xamarin.Google.iOS.PlayGames 5.1.1.11
Xamarin.Google.iOS.SignIn 5.0.2.1
Xamarin.Google.iOS.TagManager 7.1.2.3

Deprecated Libraries

Package Id NuGet
Xamarin.Firebase.iOS.CrashReporting 2.0.0.6
Xamarin.Firebase.iOS.Invites 3.0.1.1
Xamarin.Google.iOS.AppInvite 1.0.2.4
Xamarin.Google.iOS.Core 3.1.0.1
Xamarin.Google.iOS.GoogleCloudMessaging 1.2.0.1

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 4.2.0.0 6.34.0
Firebase AdMob 7.66.0.0 6.34.0
Firebase Analytics 6.9.0.0 6.34.0
Firebase Auth 6.9.2.0 6.34.0
Firebase Cloud Firestore 1.19.0.0 6.34.0
Firebase Cloud Functions 2.9.0.0 6.34.0
Firebase Cloud Messaging 4.7.1.0 6.34.0
Firebase Core 6.10.4.0 6.34.0
Firebase Crashlytics 4.6.2.0 6.34.0
Firebase Database 6.6.0.0 6.34.0
Firebase Dynamic Links 4.3.1.0 6.34.0
Firebase In App Messaging 0.24.0.0 6.34.0
Firebase Installations 1.7.0.0 6.34.0
Firebase Instance ID 4.8.0.0 6.34.0
Firebase MLKit 0.21.0.0 6.34.0
Firebase MLKit Common 0.21.0.0 6.34.0
Firebase MLKit Model Interpreter 0.21.0.0 6.34.0
Firebase MLKit Natural Language 0.18.0.0 6.34.0
Firebase MLKit Vision 0.21.0.0 6.34.0
Firebase Performance Monitoring 3.3.0.0 6.34.0
Firebase RemoteConfig 4.9.1.0 6.34.0
Firebase Storage 3.9.1.0 6.34.0
Google Sign-In 5.0.2.1 6.15.0
Google Tag Manager 7.1.2.3 6.5.0

Building

Prerequisites

Before building the libraries and samples in this repository, you will need to install .NET Core and the Cake .NET Core Tool:

dotnet tool install -g cake.tool

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.InstanceID
Firebase.MLKit
Firebase.MLKit.Common
Firebase.MLKit.ModelInterpreter
Firebase.MLKit.NaturalLanguage
Firebase.PerformanceMonitoring
Firebase.RemoteConfig
Firebase.Storage

// Google keys
Google.Analytics
Google.Appindexing
Google.Cast
Google.Core
Google.InstanceID
Google.Maps
Google.MobileAds
Google.Places
Google.SignIn
Google.TagManager

The following targets can be specified using the --target=<target-name>:

  • libs builds the class library bindings (depends on externals)
  • externals downloads and builds the external dependencies
  • samples builds all of the samples (depends on libs)
  • nuget builds the nuget packages (depends on libs)
  • 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