xamarin / GoogleApisForiOSComponents

MIT License
225 stars 162 forks source link

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 8.10.0
Xamarin.Firebase.iOS.AdMob 8.10.0.0
Xamarin.Firebase.iOS.Analytics 8.10.0
Xamarin.Firebase.iOS.Auth 8.10.0
Xamarin.Firebase.iOS.CloudFirestore 8.10.0
Xamarin.Firebase.iOS.CloudFunctions 8.10.0
Xamarin.Firebase.iOS.CloudMessaging 8.10.0
Xamarin.Firebase.iOS.Core 8.10.0
Xamarin.Firebase.iOS.Crashlytics 8.10.0
Xamarin.Firebase.iOS.Database 8.10.0
Xamarin.Firebase.iOS.DynamicLinks 8.10.0
Xamarin.Firebase.iOS.InAppMessaging 8.10.0
Xamarin.Firebase.iOS.Installations 8.10.0
Xamarin.Firebase.iOS.PerformanceMonitoring 8.10.0
Xamarin.Firebase.iOS.RemoteConfig 8.10.0
Xamarin.Firebase.iOS.Storage 8.10.0
Xamarin.Google.iOS.Analytics 3.20.0.0
Xamarin.Google.iOS.Cast 4.7.0.0
Xamarin.Google.iOS.Maps 6.0.1.0
Xamarin.Google.iOS.MobileAds 8.13.0.0
Xamarin.Google.iOS.UserMessagingPlatform 1.1.0.0
Xamarin.Google.iOS.Places 6.0.0.0
Xamarin.Google.iOS.SignIn 5.0.2.2
Xamarin.Google.iOS.TagManager 7.4.0.0

Deprecated Libraries

Package Id NuGet
Xamarin.Firebase.iOS.InstanceID 7.11.0.0
Xamarin.Google.iOS.AppIndexing 2.0.3.8
Xamarin.Google.iOS.InstanceID 1.2.1.18
Xamarin.Google.iOS.PlayGames 5.1.1.11
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
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.1.0
Xamarin.Firebase.iOS.MLKit.Vision 0.21.0.0

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>:

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