diff --git a/Readme.md b/Readme.md index b2b79ea6e..8f7f6d28c 100644 --- a/Readme.md +++ b/Readme.md @@ -6,48 +6,49 @@ Xamarin creates and maintains Xamarin.iOS bindings for the Google APIs for iOS L | Package Id | NuGet | |------------------------------------------------------------------------------|----------------------------------------------| -| [Xamarin.Firebase.iOS.ABTesting][F.ABTesting.Name] | [4.2.0.0][F.ABTesting.Package] | -| [Xamarin.Firebase.iOS.AdMob][F.AdMob.Name] | [7.66.0.0][F.AdMob.Package] | -| [Xamarin.Firebase.iOS.Analytics][F.Analytics.Name] | [6.9.0.0][F.Analytics.Package] | -| [Xamarin.Firebase.iOS.Auth][F.Auth.Name] | [6.9.2.0][F.Auth.Package] | -| [Xamarin.Firebase.iOS.CloudFirestore][F.CloudFirestore.Name] | [1.19.0.0][F.CloudFirestore.Package] | -| [Xamarin.Firebase.iOS.CloudFunctions][F.CloudFunctions.Name] | [2.9.0.0][F.CloudFunctions.Package] | -| [Xamarin.Firebase.iOS.CloudMessaging][F.CloudMessaging.Name] | [4.7.1.0][F.CloudMessaging.Package] | -| [Xamarin.Firebase.iOS.Core][F.Core.Name] | [6.10.4.0][F.Core.Package] | -| [Xamarin.Firebase.iOS.Crashlytics][F.Crashlytics.Name] | [4.6.2.0][F.Crashlytics.Package] | -| [Xamarin.Firebase.iOS.Database][F.Database.Name] | [6.6.0.0][F.Database.Package] | -| [Xamarin.Firebase.iOS.DynamicLinks][F.DynamicLinks.Name] | [4.3.1.0][F.DynamicLinks.Package] | -| [Xamarin.Firebase.iOS.InAppMessaging][F.InAppMessaging.Name] | [0.24.0.0][F.InAppMessaging.Package] | -| [Xamarin.Firebase.iOS.Installations][F.Installations.Name] | [1.7.0.0][F.Installations.Package] | -| [Xamarin.Firebase.iOS.InstanceID][F.InstanceID.Name] | [4.8.0.0][F.InstanceID.Package] | +| [Xamarin.Firebase.iOS.ABTesting][F.ABTesting.Name] | [8.2.0][F.ABTesting.Package] | +| [Xamarin.Firebase.iOS.AdMob][F.AdMob.Name] | [8.6.0.0][F.AdMob.Package] | +| [Xamarin.Firebase.iOS.Analytics][F.Analytics.Name] | [8.2.0][F.Analytics.Package] | +| [Xamarin.Firebase.iOS.Auth][F.Auth.Name] | [8.2.0][F.Auth.Package] | +| [Xamarin.Firebase.iOS.CloudFirestore][F.CloudFirestore.Name] | [8.2.0][F.CloudFirestore.Package] | +| [Xamarin.Firebase.iOS.CloudFunctions][F.CloudFunctions.Name] | [8.2.0][F.CloudFunctions.Package] | +| [Xamarin.Firebase.iOS.CloudMessaging][F.CloudMessaging.Name] | [8.2.0][F.CloudMessaging.Package] | +| [Xamarin.Firebase.iOS.Core][F.Core.Name] | [8.2.0][F.Core.Package] | +| [Xamarin.Firebase.iOS.Crashlytics][F.Crashlytics.Name] | [8.2.0][F.Crashlytics.Package] | +| [Xamarin.Firebase.iOS.Database][F.Database.Name] | [8.2.0][F.Database.Package] | +| [Xamarin.Firebase.iOS.DynamicLinks][F.DynamicLinks.Name] | [8.2.0][F.DynamicLinks.Package] | +| [Xamarin.Firebase.iOS.InAppMessaging][F.InAppMessaging.Name] | [8.2.0][F.InAppMessaging.Package] | +| [Xamarin.Firebase.iOS.Installations][F.Installations.Name] | [8.2.0][F.Installations.Package] | +| [Xamarin.Firebase.iOS.PerformanceMonitoring][F.PerformanceMonitoring.Name] | [8.2.0][F.PerformanceMonitoring.Package] | +| [Xamarin.Firebase.iOS.RemoteConfig][F.RemoteConfig.Name] | [8.2.0][F.RemoteConfig.Package] | +| [Xamarin.Firebase.iOS.Storage][F.Storage.Name] | [8.2.0][F.Storage.Package] | +| [Xamarin.Google.iOS.Analytics][G.Analytics.Name] | [3.17.0.7][G.Analytics.Package] | +| [Xamarin.Google.iOS.Cast][G.Cast.Name] | [4.6.1.0][G.Cast.Package] | +| [Xamarin.Google.iOS.Maps][G.Maps.Name] | [5.8.1.0][G.Maps.Package] | +| [Xamarin.Google.iOS.MobileAds][G.MobileAds.Name] | [8.6.0.0][G.MobileAds.Package] | +| [Xamarin.Google.iOS.UserMessagingPlatform][G.UserMessagingPlatform.Name] | [1.1.0.0][G.UserMessagingPlatform.Package] | +| [Xamarin.Google.iOS.Places][G.Places.Name] | [5.8.1.0][G.Places.Package] | +| [Xamarin.Google.iOS.SignIn][G.SignIn.Name] | [5.0.2.2][G.SignIn.Package] | +| [Xamarin.Google.iOS.TagManager][G.TagManager.Name] | [7.3.1.0][G.TagManager.Package] | + +**Deprecated Libraries** + +| Package Id | NuGet | +|------------------------------------------------------------------------------|----------------------------------------------| +| [Xamarin.Firebase.iOS.InstanceID][F.InstanceID.Name] | [7.11.0.0][F.InstanceID.Package] | +| [Xamarin.Google.iOS.AppIndexing][G.AppIndexing.Name] | [2.0.3.8][G.AppIndexing.Package] | +| [Xamarin.Google.iOS.InstanceID][G.InstanceID.Name] | [1.2.1.18][G.InstanceID.Package] | +| [Xamarin.Google.iOS.PlayGames][G.PlayGames.Name] | [5.1.1.11][G.PlayGames.Package] | +| [Xamarin.Firebase.iOS.CrashReporting][F.CrashReporting.Name] | [2.0.0.6][F.CrashReporting.Package] | +| [Xamarin.Firebase.iOS.Invites][F.Invites.Name] | [3.0.1.1][F.Invites.Package] | +| [Xamarin.Google.iOS.AppInvite][G.AppInvite.Name] | [1.0.2.4][G.AppInvite.Package] | +| [Xamarin.Google.iOS.Core][G.Core.Name] | [3.1.0.1][G.Core.Package] | +| [Xamarin.Google.iOS.GoogleCloudMessaging][G.GoogleCloudMessaging.Name] | [1.2.0.1][G.GoogleCloudMessaging.Package] | | [Xamarin.Firebase.iOS.MLKit][F.MLKit.Name] | [0.21.0.0][F.MLKit.Package] | | [Xamarin.Firebase.iOS.MLKit.Common][F.MLKit.Common.Name] | [0.21.0.0][F.MLKit.Common.Package] | | [Xamarin.Firebase.iOS.MLKit.ModelInterpreter][F.MLKit.ModelInterpreter.Name] | [0.21.0.0][F.MLKit.ModelInterpreter.Package] | -| [Xamarin.Firebase.iOS.MLKit.NaturalLanguage][F.MLKit.NaturalLanguage.Name] | [0.18.0.0][F.MLKit.NaturalLanguage.Package] | +| [Xamarin.Firebase.iOS.MLKit.NaturalLanguage][F.MLKit.NaturalLanguage.Name] | [0.18.1.0][F.MLKit.NaturalLanguage.Package] | | [Xamarin.Firebase.iOS.MLKit.Vision][F.MLKit.Vision.Name] | [0.21.0.0][F.MLKit.Vision.Package] | -| [Xamarin.Firebase.iOS.PerformanceMonitoring][F.PerformanceMonitoring.Name] | [3.3.0.0][F.PerformanceMonitoring.Package] | -| [Xamarin.Firebase.iOS.RemoteConfig][F.RemoteConfig.Name] | [4.9.1.0][F.RemoteConfig.Package] | -| [Xamarin.Firebase.iOS.Storage][F.Storage.Name] | [3.9.1.0][F.Storage.Package] | -| [Xamarin.Google.iOS.Analytics][G.Analytics.Name] | [3.17.0.6][G.Analytics.Package] | -| [Xamarin.Google.iOS.AppIndexing][G.AppIndexing.Name] | [2.0.3.8][G.AppIndexing.Package] | -| [Xamarin.Google.iOS.Cast][G.Cast.Name] | [4.4.6.1][G.Cast.Package] | -| [Xamarin.Google.iOS.InstanceID][G.InstanceID.Name] | [1.2.1.18][G.InstanceID.Package] | -| [Xamarin.Google.iOS.Maps][G.Maps.Name] | [3.9.0.0][G.Maps.Package] | -| [Xamarin.Google.iOS.MobileAds][G.MobileAds.Name] | [7.57.0.0][G.MobileAds.Package] | -| [Xamarin.Google.iOS.Places][G.Places.Name] | [3.9.0.0][G.Places.Package] | -| [Xamarin.Google.iOS.PlayGames][G.PlayGames.Name] | [5.1.1.11][G.PlayGames.Package] | -| [Xamarin.Google.iOS.SignIn][G.SignIn.Name] | [5.0.2.1][G.SignIn.Package] | -| [Xamarin.Google.iOS.TagManager][G.TagManager.Name] | [7.1.2.3][G.TagManager.Package] | - -**Deprecated Libraries** - -| Package Id | NuGet | -|----------------------------------------------------------------------------|--------------------------------------------| -| [Xamarin.Firebase.iOS.CrashReporting][F.CrashReporting.Name] | [2.0.0.6][F.CrashReporting.Package] | -| [Xamarin.Firebase.iOS.Invites][F.Invites.Name] | [3.0.1.1][F.Invites.Package] | -| [Xamarin.Google.iOS.AppInvite][G.AppInvite.Name] | [1.0.2.4][G.AppInvite.Package] | -| [Xamarin.Google.iOS.Core][G.Core.Name] | [3.1.0.1][G.Core.Package] | -| [Xamarin.Google.iOS.GoogleCloudMessaging][G.GoogleCloudMessaging.Name] | [1.2.0.1][G.GoogleCloudMessaging.Package] | ## Firebase APIs for iOS current global version @@ -55,30 +56,36 @@ Here's a table that shows in which global version is located each component of F | 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** | +| Firebase A/B Testing | **8.2.0** | **8.2.0** | +| Firebase AdMob | **8.2.0** | **8.2.0** | +| Firebase Analytics | **8.2.0** | **8.2.0** | +| Firebase Auth | **8.2.0** | **8.2.0** | +| Firebase Cloud Firestore | **8.2.0** | **8.2.0** | +| Firebase Cloud Functions | **8.2.0** | **8.2.0** | +| Firebase Cloud Messaging | **8.2.0** | **8.2.0** | +| Firebase Core | **8.2.0** | **8.2.0** | +| Firebase Crashlytics | **8.2.0** | **8.2.0** | +| Firebase Database | **8.2.0** | **8.2.0** | +| Firebase Dynamic Links | **8.2.0** | **8.2.0** | +| Firebase In App Messaging | **8.2.0** | **8.2.0** | +| Firebase Installations | **8.2.0** | **8.2.0** | +| Firebase Performance Monitoring | **8.2.0** | **8.2.0** | +| Firebase RemoteConfig | **8.2.0** | **8.2.0** | +| Firebase Storage | **8.2.0** | **8.2.0** | +| Google User Messaging Platform | **1.1.0.0** | **8.2.0** | +| Google Cast | **4.6.1.0** | **8.2.0** | +| Google Sign-In | **5.0.2.2** | **8.2.0** | +| Google Tag Manager | **7.3.1.0** | **8.2.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. + +```xml + + True + +``` ## Building @@ -86,8 +93,10 @@ Here's a table that shows in which global version is located each component of F Before building the libraries and samples in this repository, you will need to install [.NET Core][30] and the [Cake .NET Core Tool][32]: +Currently requires a version of Cake less than 1.0 (due to dependencies). + ```sh -dotnet tool install -g cake.tool +dotnet tool install -g cake.tool --version 0.38.5 ``` When building on macOS, you may also need to install [CocoaPods][31]: @@ -125,23 +134,16 @@ 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.UserMessagingPlatform Google.Places Google.SignIn Google.TagManager @@ -195,12 +197,6 @@ This project is part of the [.NET Foundation][104] [F.DynamicLinks.Name]: source/Firebase/DynamicLinks [F.InAppMessaging.Name]: source/Firebase/InAppMessaging [F.Installations.Name]: source/Firebase/Installations -[F.InstanceID.Name]: source/Firebase/InstanceID -[F.MLKit.Name]: source/Firebase/MLKit -[F.MLKit.Common.Name]: source/Firebase/MLKit.Common -[F.MLKit.ModelInterpreter.Name]: source/Firebase/MLKit.ModelInterpreter -[F.MLKit.NaturalLanguage.Name]: source/Firebase/MLKit.NaturalLanguage -[F.MLKit.Vision.Name]: source/Firebase/MLKit.Vision [F.PerformanceMonitoring.Name]: source/Firebase/PerformanceMonitoring [F.RemoteConfig.Name]: source/Firebase/RemoteConfig [F.Storage.Name]: source/Firebase/Storage @@ -220,12 +216,6 @@ This project is part of the [.NET Foundation][104] [F.DynamicLinks.Package]: https://www.nuget.org/packages/Xamarin.Firebase.iOS.DynamicLinks/ [F.InAppMessaging.Package]: https://www.nuget.org/packages/Xamarin.Firebase.iOS.InAppMessaging/ [F.Installations.Package]: https://www.nuget.org/packages/Xamarin.Firebase.iOS.Installations/ -[F.InstanceID.Package]: https://www.nuget.org/packages/Xamarin.Firebase.iOS.InstanceID/ -[F.MLKit.Package]: https://www.nuget.org/packages/Xamarin.Firebase.iOS.MLKit/ -[F.MLKit.Common.Package]: https://www.nuget.org/packages/Xamarin.Firebase.iOS.MLKit.Common/ -[F.MLKit.ModelInterpreter.Package]: https://www.nuget.org/packages/Xamarin.Firebase.iOS.MLKit.ModelInterpreter/ -[F.MLKit.NaturalLanguage.Package]: https://www.nuget.org/packages/Xamarin.Firebase.iOS.MLKit.NaturalLanguage/ -[F.MLKit.Vision.Package]: https://www.nuget.org/packages/Xamarin.Firebase.iOS.MLKit.Vision/ [F.PerformanceMonitoring.Package]: https://www.nuget.org/packages/Xamarin.Firebase.iOS.PerformanceMonitoring/ [F.RemoteConfig.Package]: https://www.nuget.org/packages/Xamarin.Firebase.iOS.RemoteConfig/ [F.Storage.Package]: https://www.nuget.org/packages/Xamarin.Firebase.iOS.Storage/ @@ -234,48 +224,62 @@ This project is part of the [.NET Foundation][104] [comment]: # (Path for active Google component folders) [G.Analytics.Name]: source/Google/Analytics -[G.AppIndexing.Name]: source/Google/AppIndexing [G.Cast.Name]: source/Google/Cast -[G.InstanceID.Name]: source/Google/InstanceID [G.Maps.Name]: source/Google/Maps [G.MobileAds.Name]: source/Google/MobileAds +[G.UserMessagingPlatform.Name]: source/Google/UserMessagingPlatform [G.Places.Name]: source/Google/Places -[G.PlayGames.Name]: source/Google/PlayGames [G.SignIn.Name]: source/Google/SignIn [G.TagManager.Name]: source/Google/TagManager [comment]: # (URL for active Google component NuGets) [G.Analytics.Package]: https://www.nuget.org/packages/Xamarin.Google.iOS.Analytics/ -[G.AppIndexing.Package]: https://www.nuget.org/packages/Xamarin.Google.iOS.AppIndexing/ [G.Cast.Package]: https://www.nuget.org/packages/Xamarin.Google.iOS.Cast/ -[G.InstanceID.Package]: https://www.nuget.org/packages/Xamarin.Google.iOS.InstanceID/ [G.Maps.Package]: https://www.nuget.org/packages/Xamarin.Google.iOS.Maps/ [G.MobileAds.Package]: https://www.nuget.org/packages/Xamarin.Google.iOS.MobileAds/ +[G.UserMessagingPlatform.Package]: https://www.nuget.org/packages/Xamarin.Google.iOS.UserMessagingPlatform/ [G.Places.Package]: https://www.nuget.org/packages/Xamarin.Google.iOS.Places/ -[G.PlayGames.Package]: https://www.nuget.org/packages/Xamarin.Google.iOS.PlayGames/ [G.SignIn.Package]: https://www.nuget.org/packages/Xamarin.Google.iOS.SignIn/ [G.TagManager.Package]: https://www.nuget.org/packages/Xamarin.Google.iOS.TagManager/ [comment]: # (Path for deprecated Firebase component folders) +[F.InstanceID.Name]: source/Firebase/InstanceID [F.CrashReporting.Name]: source/Firebase/CrashReporting [F.Invites.Name]: source/Firebase/Invites +[F.MLKit.Name]: source/Firebase/MLKit +[F.MLKit.Common.Name]: source/Firebase/MLKit.Common +[F.MLKit.ModelInterpreter.Name]: source/Firebase/MLKit.ModelInterpreter +[F.MLKit.NaturalLanguage.Name]: source/Firebase/MLKit.NaturalLanguage +[F.MLKit.Vision.Name]: source/Firebase/MLKit.Vision [comment]: # (URL for deprecated Firebase component NuGets) +[F.InstanceID.Package]: https://www.nuget.org/packages/Xamarin.Firebase.iOS.InstanceID/ [F.CrashReporting.Package]: https://www.nuget.org/packages/Xamarin.Firebase.iOS.CrashReporting/ [F.Invites.Package]: https://www.nuget.org/packages/Xamarin.Firebase.iOS.Invites/ +[F.MLKit.Package]: https://www.nuget.org/packages/Xamarin.Firebase.iOS.MLKit/ +[F.MLKit.Common.Package]: https://www.nuget.org/packages/Xamarin.Firebase.iOS.MLKit.Common/ +[F.MLKit.ModelInterpreter.Package]: https://www.nuget.org/packages/Xamarin.Firebase.iOS.MLKit.ModelInterpreter/ +[F.MLKit.NaturalLanguage.Package]: https://www.nuget.org/packages/Xamarin.Firebase.iOS.MLKit.NaturalLanguage/ +[F.MLKit.Vision.Package]: https://www.nuget.org/packages/Xamarin.Firebase.iOS.MLKit.Vision/ [comment]: # (Path for deprecated Google component folders) +[G.AppIndexing.Name]: source/Google/AppIndexing +[G.InstanceID.Name]: source/Google/InstanceID +[G.PlayGames.Name]: source/Google/PlayGames [G.AppInvite.Name]: source/Google/AppInvite [G.Core.Name]: source/Google/Core [G.GoogleCloudMessaging.Name]: source/Google/GoogleCloudMessaging [comment]: # (URL for deprecated Google component NuGets) +[G.AppIndexing.Package]: https://www.nuget.org/packages/Xamarin.Google.iOS.AppIndexing/ +[G.InstanceID.Package]: https://www.nuget.org/packages/Xamarin.Google.iOS.InstanceID/ +[G.PlayGames.Package]: https://www.nuget.org/packages/Xamarin.Google.iOS.PlayGames/ [G.AppInvite.Package]: https://www.nuget.org/packages/Xamarin.Google.iOS.AppInvite/ [G.Core.Package]: https://www.nuget.org/packages/Xamarin.Google.iOS.Core/ [G.GoogleCloudMessaging.Package]: https://www.nuget.org/packages/Xamarin.Google.iOS.GoogleCloudMessaging/ diff --git a/Xamarin.Google.sln b/Xamarin.Google.sln index 8032ab5ca..1a9f59c31 100644 --- a/Xamarin.Google.sln +++ b/Xamarin.Google.sln @@ -17,8 +17,6 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Google", "Google", "{7154BB EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Core", "source\Firebase\Core\Core.csproj", "{9335A59B-3B54-4ED5-8201-B68CFD05CAFB}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "InstanceID", "source\Firebase\InstanceID\InstanceID.csproj", "{754D8F56-C3DB-4E33-91D5-45445AB286EF}" -EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Analytics", "source\Firebase\Analytics\Analytics.csproj", "{25783B8D-1423-4CC2-B629-7E7F36A1CF4B}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AdMob", "source\Firebase\AdMob\AdMob.csproj", "{7157A790-5767-4045-8A26-D71F2F43E78B}" @@ -37,12 +35,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Database", "source\Firebase EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DynamicLinks", "source\Firebase\DynamicLinks\DynamicLinks.csproj", "{4D102D0B-59D7-4902-913E-85CAA0DFE8A3}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MLKit.Common", "source\Firebase\MLKit.Common\MLKit.Common.csproj", "{90DDF7C4-5223-4863-9687-6211BC5D56E5}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MLKit.ModelInterpreter", "source\Firebase\MLKit.ModelInterpreter\MLKit.ModelInterpreter.csproj", "{108BC6F9-E830-4F3B-85A9-DF7A70A06396}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MLKit.Vision", "source\Firebase\MLKit.Vision\MLKit.Vision.csproj", "{B0D91D94-300F-4DEB-A0A7-11DCBDF6FD64}" -EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PerformanceMonitoring", "source\Firebase\PerformanceMonitoring\PerformanceMonitoring.csproj", "{3ECC9FBF-72BB-48E4-B454-56194A422B3A}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RemoteConfig", "source\Firebase\RemoteConfig\RemoteConfig.csproj", "{2FC178FA-114D-4A51-A3DF-5EA10E2C71C4}" @@ -51,12 +43,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Storage", "source\Firebase\ EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Analytics", "source\Google\Analytics\Analytics.csproj", "{36FD3346-EA1E-41A3-91D2-1C380E97BA34}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AppIndexing", "source\Google\AppIndexing\AppIndexing.csproj", "{8AD7D708-4672-4EBB-9DDC-1482B1B72A70}" -EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Cast", "source\Google\Cast\Cast.csproj", "{D71F8108-A163-4E1B-BFB5-EF58FEBADD33}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "InstanceID", "source\Google\InstanceID\InstanceID.csproj", "{06E1E2BA-A43A-4816-ABAB-23E027CD1D98}" -EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Maps", "source\Google\Maps\Maps.csproj", "{2D4887E5-F5E4-4C2B-9F35-EAE5E562E43B}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MobileAds", "source\Google\MobileAds\MobileAds.csproj", "{1C9DFB3E-FDA5-478B-B063-CF646AA892DB}" @@ -83,10 +71,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DatabaseSample", "samples\F EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DynamicLinksSample", "samples\Firebase\DynamicLinks\DynamicLinksSample\DynamicLinksSample.csproj", "{58BF0CB1-7D93-46C0-BE89-D97ECF5210C6}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MLKitVisionSample", "samples\Firebase\MLKit.Vision\MLKitVisionSample\MLKitVisionSample.csproj", "{8C118A0A-18D5-4E01-A83D-11DBD98DAF2F}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ModelInterpreterSample", "samples\Firebase\MLKit.ModelInterpreter\ModelInterpreterSample\ModelInterpreterSample.csproj", "{11CAA1ED-73F0-4E36-B30F-B12042E7E165}" -EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PerformanceMonitoringSample", "samples\Firebase\PerformanceMonitoring\PerformanceMonitoringSample\PerformanceMonitoringSample.csproj", "{60356E08-92A4-433E-956A-F207579B2E6D}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RemoteConfigSample", "samples\Firebase\RemoteConfig\RemoteConfigSample\RemoteConfigSample.csproj", "{F26D64FB-D6A2-41E2-9B31-E8DA0AA400C8}" @@ -95,14 +79,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StorageSample", "samples\Fi EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CuteAnimalsiOS", "samples\Google\Analytics\CuteAnimalsiOS\CuteAnimalsiOS.csproj", "{EBF60C41-86FD-4FFC-853A-72591179EDB8}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AppIndexingSample", "samples\Google\AppIndexing\AppIndexingSample\AppIndexingSample.csproj", "{890E5435-4BAB-4059-954B-788702F01BF3}" -EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CastSample", "samples\Google\Cast\CastSample\CastSample.csproj", "{715CE4E1-EF89-411D-BA91-8227129D5704}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "InstanceIDSample", "samples\Google\InstanceID\InstanceIDSample\InstanceIDSample.csproj", "{F7E9AC25-E5CE-42C0-AC38-1D597E5DECE7}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Core", "source\Google\Core\Core.csproj", "{9C9AE37B-1FBB-46B2-9718-C5701F5C7704}" -EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GoogleMapsAdvSample", "samples\Google\Maps\GoogleMapsAdvSample\GoogleMapsAdvSample.csproj", "{1AA78CE3-4FB5-4A85-B38C-320A5C8BDC8D}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GoogleMapsSample", "samples\Google\Maps\GoogleMapsSample\GoogleMapsSample.csproj", "{2F8EC051-F3A4-43C0-928C-734423FBF1D0}" @@ -115,14 +93,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SignInExample", "samples\Go EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TagManagerSample", "samples\Google\TagManager\TagManagerSample\TagManagerSample.csproj", "{A557F95D-A084-47BE-8EF8-C5E42AD8C233}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MLKit.NaturalLanguage", "source\Firebase\MLKit.NaturalLanguage\MLKit.NaturalLanguage.csproj", "{43F378EA-35C8-494E-9685-B00EBBA2A7A3}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NaturalLanguageSample", "samples\Firebase\MLKit.NaturalLanguage\NaturalLanguageSample\NaturalLanguageSample.csproj", "{6EB1DC55-1D8C-4D5C-AD5C-5C4E74B93FF7}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MLKit", "source\Firebase\MLKit\MLKit.csproj", "{943D1525-5047-4E66-8E5A-D09930F8B339}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MLKitSample", "samples\Firebase\MLKit\MLKitSample\MLKitSample.csproj", "{AF9847A8-8F2E-4F1F-8DF6-B311BAE0407A}" -EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Installations", "source\Firebase\Installations\Installations.csproj", "{65ACD945-5A8A-419D-B9FB-8DFD03C532F4}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CloudFunctions", "source\Firebase\CloudFunctions\CloudFunctions.csproj", "{E5719ABE-6807-49C9-9E7A-0997FF4A5365}" @@ -138,6 +108,10 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution .editorconfig = .editorconfig EndProjectSection EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AppCheck", "source\Firebase\AppCheck\AppCheck.csproj", "{79AB1126-A4C1-4B63-B021-0EB443D5428D}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UserMessagingPlatform", "source\Google\UserMessagingPlatform\UserMessagingPlatform.csproj", "{F6CEF86A-612E-4361-B46E-E5349EF478CE}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -181,30 +155,6 @@ Global {9335A59B-3B54-4ED5-8201-B68CFD05CAFB}.Ad-Hoc|iPhone.Build.0 = Debug|Any CPU {9335A59B-3B54-4ED5-8201-B68CFD05CAFB}.AppStore|iPhone.ActiveCfg = Debug|Any CPU {9335A59B-3B54-4ED5-8201-B68CFD05CAFB}.AppStore|iPhone.Build.0 = Debug|Any CPU - {754D8F56-C3DB-4E33-91D5-45445AB286EF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {754D8F56-C3DB-4E33-91D5-45445AB286EF}.Debug|Any CPU.Build.0 = Debug|Any CPU - {754D8F56-C3DB-4E33-91D5-45445AB286EF}.Debug|x64.ActiveCfg = Debug|Any CPU - {754D8F56-C3DB-4E33-91D5-45445AB286EF}.Debug|x64.Build.0 = Debug|Any CPU - {754D8F56-C3DB-4E33-91D5-45445AB286EF}.Debug|x86.ActiveCfg = Debug|Any CPU - {754D8F56-C3DB-4E33-91D5-45445AB286EF}.Debug|x86.Build.0 = Debug|Any CPU - {754D8F56-C3DB-4E33-91D5-45445AB286EF}.Release|Any CPU.ActiveCfg = Release|Any CPU - {754D8F56-C3DB-4E33-91D5-45445AB286EF}.Release|Any CPU.Build.0 = Release|Any CPU - {754D8F56-C3DB-4E33-91D5-45445AB286EF}.Release|x64.ActiveCfg = Release|Any CPU - {754D8F56-C3DB-4E33-91D5-45445AB286EF}.Release|x64.Build.0 = Release|Any CPU - {754D8F56-C3DB-4E33-91D5-45445AB286EF}.Release|x86.ActiveCfg = Release|Any CPU - {754D8F56-C3DB-4E33-91D5-45445AB286EF}.Release|x86.Build.0 = Release|Any CPU - {754D8F56-C3DB-4E33-91D5-45445AB286EF}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU - {754D8F56-C3DB-4E33-91D5-45445AB286EF}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU - {754D8F56-C3DB-4E33-91D5-45445AB286EF}.Release|iPhone.ActiveCfg = Release|Any CPU - {754D8F56-C3DB-4E33-91D5-45445AB286EF}.Release|iPhone.Build.0 = Release|Any CPU - {754D8F56-C3DB-4E33-91D5-45445AB286EF}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU - {754D8F56-C3DB-4E33-91D5-45445AB286EF}.Release|iPhoneSimulator.Build.0 = Release|Any CPU - {754D8F56-C3DB-4E33-91D5-45445AB286EF}.Debug|iPhone.ActiveCfg = Debug|Any CPU - {754D8F56-C3DB-4E33-91D5-45445AB286EF}.Debug|iPhone.Build.0 = Debug|Any CPU - {754D8F56-C3DB-4E33-91D5-45445AB286EF}.Ad-Hoc|iPhone.ActiveCfg = Debug|Any CPU - {754D8F56-C3DB-4E33-91D5-45445AB286EF}.Ad-Hoc|iPhone.Build.0 = Debug|Any CPU - {754D8F56-C3DB-4E33-91D5-45445AB286EF}.AppStore|iPhone.ActiveCfg = Debug|Any CPU - {754D8F56-C3DB-4E33-91D5-45445AB286EF}.AppStore|iPhone.Build.0 = Debug|Any CPU {25783B8D-1423-4CC2-B629-7E7F36A1CF4B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {25783B8D-1423-4CC2-B629-7E7F36A1CF4B}.Debug|Any CPU.Build.0 = Debug|Any CPU {25783B8D-1423-4CC2-B629-7E7F36A1CF4B}.Debug|x64.ActiveCfg = Debug|Any CPU @@ -421,78 +371,6 @@ Global {4D102D0B-59D7-4902-913E-85CAA0DFE8A3}.Ad-Hoc|iPhone.Build.0 = Debug|Any CPU {4D102D0B-59D7-4902-913E-85CAA0DFE8A3}.AppStore|iPhone.ActiveCfg = Debug|Any CPU {4D102D0B-59D7-4902-913E-85CAA0DFE8A3}.AppStore|iPhone.Build.0 = Debug|Any CPU - {B0D91D94-300F-4DEB-A0A7-11DCBDF6FD64}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {B0D91D94-300F-4DEB-A0A7-11DCBDF6FD64}.Debug|Any CPU.Build.0 = Debug|Any CPU - {B0D91D94-300F-4DEB-A0A7-11DCBDF6FD64}.Debug|x64.ActiveCfg = Debug|Any CPU - {B0D91D94-300F-4DEB-A0A7-11DCBDF6FD64}.Debug|x64.Build.0 = Debug|Any CPU - {B0D91D94-300F-4DEB-A0A7-11DCBDF6FD64}.Debug|x86.ActiveCfg = Debug|Any CPU - {B0D91D94-300F-4DEB-A0A7-11DCBDF6FD64}.Debug|x86.Build.0 = Debug|Any CPU - {B0D91D94-300F-4DEB-A0A7-11DCBDF6FD64}.Release|Any CPU.ActiveCfg = Release|Any CPU - {B0D91D94-300F-4DEB-A0A7-11DCBDF6FD64}.Release|Any CPU.Build.0 = Release|Any CPU - {B0D91D94-300F-4DEB-A0A7-11DCBDF6FD64}.Release|x64.ActiveCfg = Release|Any CPU - {B0D91D94-300F-4DEB-A0A7-11DCBDF6FD64}.Release|x64.Build.0 = Release|Any CPU - {B0D91D94-300F-4DEB-A0A7-11DCBDF6FD64}.Release|x86.ActiveCfg = Release|Any CPU - {B0D91D94-300F-4DEB-A0A7-11DCBDF6FD64}.Release|x86.Build.0 = Release|Any CPU - {B0D91D94-300F-4DEB-A0A7-11DCBDF6FD64}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU - {B0D91D94-300F-4DEB-A0A7-11DCBDF6FD64}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU - {B0D91D94-300F-4DEB-A0A7-11DCBDF6FD64}.Release|iPhone.ActiveCfg = Release|Any CPU - {B0D91D94-300F-4DEB-A0A7-11DCBDF6FD64}.Release|iPhone.Build.0 = Release|Any CPU - {B0D91D94-300F-4DEB-A0A7-11DCBDF6FD64}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU - {B0D91D94-300F-4DEB-A0A7-11DCBDF6FD64}.Release|iPhoneSimulator.Build.0 = Release|Any CPU - {B0D91D94-300F-4DEB-A0A7-11DCBDF6FD64}.Debug|iPhone.ActiveCfg = Debug|Any CPU - {B0D91D94-300F-4DEB-A0A7-11DCBDF6FD64}.Debug|iPhone.Build.0 = Debug|Any CPU - {B0D91D94-300F-4DEB-A0A7-11DCBDF6FD64}.Ad-Hoc|iPhone.ActiveCfg = Debug|Any CPU - {B0D91D94-300F-4DEB-A0A7-11DCBDF6FD64}.Ad-Hoc|iPhone.Build.0 = Debug|Any CPU - {B0D91D94-300F-4DEB-A0A7-11DCBDF6FD64}.AppStore|iPhone.ActiveCfg = Debug|Any CPU - {B0D91D94-300F-4DEB-A0A7-11DCBDF6FD64}.AppStore|iPhone.Build.0 = Debug|Any CPU - {90DDF7C4-5223-4863-9687-6211BC5D56E5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {90DDF7C4-5223-4863-9687-6211BC5D56E5}.Debug|Any CPU.Build.0 = Debug|Any CPU - {90DDF7C4-5223-4863-9687-6211BC5D56E5}.Debug|x64.ActiveCfg = Debug|Any CPU - {90DDF7C4-5223-4863-9687-6211BC5D56E5}.Debug|x64.Build.0 = Debug|Any CPU - {90DDF7C4-5223-4863-9687-6211BC5D56E5}.Debug|x86.ActiveCfg = Debug|Any CPU - {90DDF7C4-5223-4863-9687-6211BC5D56E5}.Debug|x86.Build.0 = Debug|Any CPU - {90DDF7C4-5223-4863-9687-6211BC5D56E5}.Release|Any CPU.ActiveCfg = Release|Any CPU - {90DDF7C4-5223-4863-9687-6211BC5D56E5}.Release|Any CPU.Build.0 = Release|Any CPU - {90DDF7C4-5223-4863-9687-6211BC5D56E5}.Release|x64.ActiveCfg = Release|Any CPU - {90DDF7C4-5223-4863-9687-6211BC5D56E5}.Release|x64.Build.0 = Release|Any CPU - {90DDF7C4-5223-4863-9687-6211BC5D56E5}.Release|x86.ActiveCfg = Release|Any CPU - {90DDF7C4-5223-4863-9687-6211BC5D56E5}.Release|x86.Build.0 = Release|Any CPU - {90DDF7C4-5223-4863-9687-6211BC5D56E5}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU - {90DDF7C4-5223-4863-9687-6211BC5D56E5}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU - {90DDF7C4-5223-4863-9687-6211BC5D56E5}.Release|iPhone.ActiveCfg = Release|Any CPU - {90DDF7C4-5223-4863-9687-6211BC5D56E5}.Release|iPhone.Build.0 = Release|Any CPU - {90DDF7C4-5223-4863-9687-6211BC5D56E5}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU - {90DDF7C4-5223-4863-9687-6211BC5D56E5}.Release|iPhoneSimulator.Build.0 = Release|Any CPU - {90DDF7C4-5223-4863-9687-6211BC5D56E5}.Debug|iPhone.ActiveCfg = Debug|Any CPU - {90DDF7C4-5223-4863-9687-6211BC5D56E5}.Debug|iPhone.Build.0 = Debug|Any CPU - {90DDF7C4-5223-4863-9687-6211BC5D56E5}.Ad-Hoc|iPhone.ActiveCfg = Debug|Any CPU - {90DDF7C4-5223-4863-9687-6211BC5D56E5}.Ad-Hoc|iPhone.Build.0 = Debug|Any CPU - {90DDF7C4-5223-4863-9687-6211BC5D56E5}.AppStore|iPhone.ActiveCfg = Debug|Any CPU - {90DDF7C4-5223-4863-9687-6211BC5D56E5}.AppStore|iPhone.Build.0 = Debug|Any CPU - {108BC6F9-E830-4F3B-85A9-DF7A70A06396}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {108BC6F9-E830-4F3B-85A9-DF7A70A06396}.Debug|Any CPU.Build.0 = Debug|Any CPU - {108BC6F9-E830-4F3B-85A9-DF7A70A06396}.Debug|x64.ActiveCfg = Debug|Any CPU - {108BC6F9-E830-4F3B-85A9-DF7A70A06396}.Debug|x64.Build.0 = Debug|Any CPU - {108BC6F9-E830-4F3B-85A9-DF7A70A06396}.Debug|x86.ActiveCfg = Debug|Any CPU - {108BC6F9-E830-4F3B-85A9-DF7A70A06396}.Debug|x86.Build.0 = Debug|Any CPU - {108BC6F9-E830-4F3B-85A9-DF7A70A06396}.Release|Any CPU.ActiveCfg = Release|Any CPU - {108BC6F9-E830-4F3B-85A9-DF7A70A06396}.Release|Any CPU.Build.0 = Release|Any CPU - {108BC6F9-E830-4F3B-85A9-DF7A70A06396}.Release|x64.ActiveCfg = Release|Any CPU - {108BC6F9-E830-4F3B-85A9-DF7A70A06396}.Release|x64.Build.0 = Release|Any CPU - {108BC6F9-E830-4F3B-85A9-DF7A70A06396}.Release|x86.ActiveCfg = Release|Any CPU - {108BC6F9-E830-4F3B-85A9-DF7A70A06396}.Release|x86.Build.0 = Release|Any CPU - {108BC6F9-E830-4F3B-85A9-DF7A70A06396}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU - {108BC6F9-E830-4F3B-85A9-DF7A70A06396}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU - {108BC6F9-E830-4F3B-85A9-DF7A70A06396}.Release|iPhone.ActiveCfg = Release|Any CPU - {108BC6F9-E830-4F3B-85A9-DF7A70A06396}.Release|iPhone.Build.0 = Release|Any CPU - {108BC6F9-E830-4F3B-85A9-DF7A70A06396}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU - {108BC6F9-E830-4F3B-85A9-DF7A70A06396}.Release|iPhoneSimulator.Build.0 = Release|Any CPU - {108BC6F9-E830-4F3B-85A9-DF7A70A06396}.Debug|iPhone.ActiveCfg = Debug|Any CPU - {108BC6F9-E830-4F3B-85A9-DF7A70A06396}.Debug|iPhone.Build.0 = Debug|Any CPU - {108BC6F9-E830-4F3B-85A9-DF7A70A06396}.Ad-Hoc|iPhone.ActiveCfg = Debug|Any CPU - {108BC6F9-E830-4F3B-85A9-DF7A70A06396}.Ad-Hoc|iPhone.Build.0 = Debug|Any CPU - {108BC6F9-E830-4F3B-85A9-DF7A70A06396}.AppStore|iPhone.ActiveCfg = Debug|Any CPU - {108BC6F9-E830-4F3B-85A9-DF7A70A06396}.AppStore|iPhone.Build.0 = Debug|Any CPU {3ECC9FBF-72BB-48E4-B454-56194A422B3A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {3ECC9FBF-72BB-48E4-B454-56194A422B3A}.Debug|Any CPU.Build.0 = Debug|Any CPU {3ECC9FBF-72BB-48E4-B454-56194A422B3A}.Debug|x64.ActiveCfg = Debug|Any CPU @@ -589,30 +467,6 @@ Global {36FD3346-EA1E-41A3-91D2-1C380E97BA34}.Ad-Hoc|iPhone.Build.0 = Debug|Any CPU {36FD3346-EA1E-41A3-91D2-1C380E97BA34}.AppStore|iPhone.ActiveCfg = Debug|Any CPU {36FD3346-EA1E-41A3-91D2-1C380E97BA34}.AppStore|iPhone.Build.0 = Debug|Any CPU - {8AD7D708-4672-4EBB-9DDC-1482B1B72A70}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {8AD7D708-4672-4EBB-9DDC-1482B1B72A70}.Debug|Any CPU.Build.0 = Debug|Any CPU - {8AD7D708-4672-4EBB-9DDC-1482B1B72A70}.Debug|x64.ActiveCfg = Debug|Any CPU - {8AD7D708-4672-4EBB-9DDC-1482B1B72A70}.Debug|x64.Build.0 = Debug|Any CPU - {8AD7D708-4672-4EBB-9DDC-1482B1B72A70}.Debug|x86.ActiveCfg = Debug|Any CPU - {8AD7D708-4672-4EBB-9DDC-1482B1B72A70}.Debug|x86.Build.0 = Debug|Any CPU - {8AD7D708-4672-4EBB-9DDC-1482B1B72A70}.Release|Any CPU.ActiveCfg = Release|Any CPU - {8AD7D708-4672-4EBB-9DDC-1482B1B72A70}.Release|Any CPU.Build.0 = Release|Any CPU - {8AD7D708-4672-4EBB-9DDC-1482B1B72A70}.Release|x64.ActiveCfg = Release|Any CPU - {8AD7D708-4672-4EBB-9DDC-1482B1B72A70}.Release|x64.Build.0 = Release|Any CPU - {8AD7D708-4672-4EBB-9DDC-1482B1B72A70}.Release|x86.ActiveCfg = Release|Any CPU - {8AD7D708-4672-4EBB-9DDC-1482B1B72A70}.Release|x86.Build.0 = Release|Any CPU - {8AD7D708-4672-4EBB-9DDC-1482B1B72A70}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU - {8AD7D708-4672-4EBB-9DDC-1482B1B72A70}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU - {8AD7D708-4672-4EBB-9DDC-1482B1B72A70}.Release|iPhone.ActiveCfg = Release|Any CPU - {8AD7D708-4672-4EBB-9DDC-1482B1B72A70}.Release|iPhone.Build.0 = Release|Any CPU - {8AD7D708-4672-4EBB-9DDC-1482B1B72A70}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU - {8AD7D708-4672-4EBB-9DDC-1482B1B72A70}.Release|iPhoneSimulator.Build.0 = Release|Any CPU - {8AD7D708-4672-4EBB-9DDC-1482B1B72A70}.Debug|iPhone.ActiveCfg = Debug|Any CPU - {8AD7D708-4672-4EBB-9DDC-1482B1B72A70}.Debug|iPhone.Build.0 = Debug|Any CPU - {8AD7D708-4672-4EBB-9DDC-1482B1B72A70}.Ad-Hoc|iPhone.ActiveCfg = Debug|Any CPU - {8AD7D708-4672-4EBB-9DDC-1482B1B72A70}.Ad-Hoc|iPhone.Build.0 = Debug|Any CPU - {8AD7D708-4672-4EBB-9DDC-1482B1B72A70}.AppStore|iPhone.ActiveCfg = Debug|Any CPU - {8AD7D708-4672-4EBB-9DDC-1482B1B72A70}.AppStore|iPhone.Build.0 = Debug|Any CPU {D71F8108-A163-4E1B-BFB5-EF58FEBADD33}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {D71F8108-A163-4E1B-BFB5-EF58FEBADD33}.Debug|Any CPU.Build.0 = Debug|Any CPU {D71F8108-A163-4E1B-BFB5-EF58FEBADD33}.Debug|x64.ActiveCfg = Debug|Any CPU @@ -637,30 +491,6 @@ Global {D71F8108-A163-4E1B-BFB5-EF58FEBADD33}.Ad-Hoc|iPhone.Build.0 = Debug|Any CPU {D71F8108-A163-4E1B-BFB5-EF58FEBADD33}.AppStore|iPhone.ActiveCfg = Debug|Any CPU {D71F8108-A163-4E1B-BFB5-EF58FEBADD33}.AppStore|iPhone.Build.0 = Debug|Any CPU - {06E1E2BA-A43A-4816-ABAB-23E027CD1D98}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {06E1E2BA-A43A-4816-ABAB-23E027CD1D98}.Debug|Any CPU.Build.0 = Debug|Any CPU - {06E1E2BA-A43A-4816-ABAB-23E027CD1D98}.Debug|x64.ActiveCfg = Debug|Any CPU - {06E1E2BA-A43A-4816-ABAB-23E027CD1D98}.Debug|x64.Build.0 = Debug|Any CPU - {06E1E2BA-A43A-4816-ABAB-23E027CD1D98}.Debug|x86.ActiveCfg = Debug|Any CPU - {06E1E2BA-A43A-4816-ABAB-23E027CD1D98}.Debug|x86.Build.0 = Debug|Any CPU - {06E1E2BA-A43A-4816-ABAB-23E027CD1D98}.Release|Any CPU.ActiveCfg = Release|Any CPU - {06E1E2BA-A43A-4816-ABAB-23E027CD1D98}.Release|Any CPU.Build.0 = Release|Any CPU - {06E1E2BA-A43A-4816-ABAB-23E027CD1D98}.Release|x64.ActiveCfg = Release|Any CPU - {06E1E2BA-A43A-4816-ABAB-23E027CD1D98}.Release|x64.Build.0 = Release|Any CPU - {06E1E2BA-A43A-4816-ABAB-23E027CD1D98}.Release|x86.ActiveCfg = Release|Any CPU - {06E1E2BA-A43A-4816-ABAB-23E027CD1D98}.Release|x86.Build.0 = Release|Any CPU - {06E1E2BA-A43A-4816-ABAB-23E027CD1D98}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU - {06E1E2BA-A43A-4816-ABAB-23E027CD1D98}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU - {06E1E2BA-A43A-4816-ABAB-23E027CD1D98}.Release|iPhone.ActiveCfg = Release|Any CPU - {06E1E2BA-A43A-4816-ABAB-23E027CD1D98}.Release|iPhone.Build.0 = Release|Any CPU - {06E1E2BA-A43A-4816-ABAB-23E027CD1D98}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU - {06E1E2BA-A43A-4816-ABAB-23E027CD1D98}.Release|iPhoneSimulator.Build.0 = Release|Any CPU - {06E1E2BA-A43A-4816-ABAB-23E027CD1D98}.Debug|iPhone.ActiveCfg = Debug|Any CPU - {06E1E2BA-A43A-4816-ABAB-23E027CD1D98}.Debug|iPhone.Build.0 = Debug|Any CPU - {06E1E2BA-A43A-4816-ABAB-23E027CD1D98}.Ad-Hoc|iPhone.ActiveCfg = Debug|Any CPU - {06E1E2BA-A43A-4816-ABAB-23E027CD1D98}.Ad-Hoc|iPhone.Build.0 = Debug|Any CPU - {06E1E2BA-A43A-4816-ABAB-23E027CD1D98}.AppStore|iPhone.ActiveCfg = Debug|Any CPU - {06E1E2BA-A43A-4816-ABAB-23E027CD1D98}.AppStore|iPhone.Build.0 = Debug|Any CPU {2D4887E5-F5E4-4C2B-9F35-EAE5E562E43B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {2D4887E5-F5E4-4C2B-9F35-EAE5E562E43B}.Debug|Any CPU.Build.0 = Debug|Any CPU {2D4887E5-F5E4-4C2B-9F35-EAE5E562E43B}.Debug|x64.ActiveCfg = Debug|Any CPU @@ -973,54 +803,6 @@ Global {58BF0CB1-7D93-46C0-BE89-D97ECF5210C6}.Ad-Hoc|iPhone.Build.0 = Release|iPhone {58BF0CB1-7D93-46C0-BE89-D97ECF5210C6}.AppStore|iPhone.ActiveCfg = Release|iPhone {58BF0CB1-7D93-46C0-BE89-D97ECF5210C6}.AppStore|iPhone.Build.0 = Release|iPhone - {8C118A0A-18D5-4E01-A83D-11DBD98DAF2F}.Debug|Any CPU.ActiveCfg = Debug|iPhoneSimulator - {8C118A0A-18D5-4E01-A83D-11DBD98DAF2F}.Debug|Any CPU.Build.0 = Debug|iPhoneSimulator - {8C118A0A-18D5-4E01-A83D-11DBD98DAF2F}.Debug|x64.ActiveCfg = Debug|iPhoneSimulator - {8C118A0A-18D5-4E01-A83D-11DBD98DAF2F}.Debug|x64.Build.0 = Debug|iPhoneSimulator - {8C118A0A-18D5-4E01-A83D-11DBD98DAF2F}.Debug|x86.ActiveCfg = Debug|iPhoneSimulator - {8C118A0A-18D5-4E01-A83D-11DBD98DAF2F}.Debug|x86.Build.0 = Debug|iPhoneSimulator - {8C118A0A-18D5-4E01-A83D-11DBD98DAF2F}.Release|Any CPU.ActiveCfg = Release|iPhone - {8C118A0A-18D5-4E01-A83D-11DBD98DAF2F}.Release|Any CPU.Build.0 = Release|iPhone - {8C118A0A-18D5-4E01-A83D-11DBD98DAF2F}.Release|x64.ActiveCfg = Release|iPhone - {8C118A0A-18D5-4E01-A83D-11DBD98DAF2F}.Release|x64.Build.0 = Release|iPhone - {8C118A0A-18D5-4E01-A83D-11DBD98DAF2F}.Release|x86.ActiveCfg = Release|iPhone - {8C118A0A-18D5-4E01-A83D-11DBD98DAF2F}.Release|x86.Build.0 = Release|iPhone - {8C118A0A-18D5-4E01-A83D-11DBD98DAF2F}.Debug|iPhoneSimulator.ActiveCfg = Debug|iPhoneSimulator - {8C118A0A-18D5-4E01-A83D-11DBD98DAF2F}.Debug|iPhoneSimulator.Build.0 = Debug|iPhoneSimulator - {8C118A0A-18D5-4E01-A83D-11DBD98DAF2F}.Release|iPhone.ActiveCfg = Release|iPhone - {8C118A0A-18D5-4E01-A83D-11DBD98DAF2F}.Release|iPhone.Build.0 = Release|iPhone - {8C118A0A-18D5-4E01-A83D-11DBD98DAF2F}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator - {8C118A0A-18D5-4E01-A83D-11DBD98DAF2F}.Release|iPhoneSimulator.Build.0 = Release|iPhoneSimulator - {8C118A0A-18D5-4E01-A83D-11DBD98DAF2F}.Debug|iPhone.ActiveCfg = Debug|iPhone - {8C118A0A-18D5-4E01-A83D-11DBD98DAF2F}.Debug|iPhone.Build.0 = Debug|iPhone - {8C118A0A-18D5-4E01-A83D-11DBD98DAF2F}.Ad-Hoc|iPhone.ActiveCfg = Release|iPhone - {8C118A0A-18D5-4E01-A83D-11DBD98DAF2F}.Ad-Hoc|iPhone.Build.0 = Release|iPhone - {8C118A0A-18D5-4E01-A83D-11DBD98DAF2F}.AppStore|iPhone.ActiveCfg = Release|iPhone - {8C118A0A-18D5-4E01-A83D-11DBD98DAF2F}.AppStore|iPhone.Build.0 = Release|iPhone - {11CAA1ED-73F0-4E36-B30F-B12042E7E165}.Debug|Any CPU.ActiveCfg = Debug|iPhoneSimulator - {11CAA1ED-73F0-4E36-B30F-B12042E7E165}.Debug|Any CPU.Build.0 = Debug|iPhoneSimulator - {11CAA1ED-73F0-4E36-B30F-B12042E7E165}.Debug|x64.ActiveCfg = Debug|iPhoneSimulator - {11CAA1ED-73F0-4E36-B30F-B12042E7E165}.Debug|x64.Build.0 = Debug|iPhoneSimulator - {11CAA1ED-73F0-4E36-B30F-B12042E7E165}.Debug|x86.ActiveCfg = Debug|iPhoneSimulator - {11CAA1ED-73F0-4E36-B30F-B12042E7E165}.Debug|x86.Build.0 = Debug|iPhoneSimulator - {11CAA1ED-73F0-4E36-B30F-B12042E7E165}.Release|Any CPU.ActiveCfg = Release|iPhone - {11CAA1ED-73F0-4E36-B30F-B12042E7E165}.Release|Any CPU.Build.0 = Release|iPhone - {11CAA1ED-73F0-4E36-B30F-B12042E7E165}.Release|x64.ActiveCfg = Release|iPhone - {11CAA1ED-73F0-4E36-B30F-B12042E7E165}.Release|x64.Build.0 = Release|iPhone - {11CAA1ED-73F0-4E36-B30F-B12042E7E165}.Release|x86.ActiveCfg = Release|iPhone - {11CAA1ED-73F0-4E36-B30F-B12042E7E165}.Release|x86.Build.0 = Release|iPhone - {11CAA1ED-73F0-4E36-B30F-B12042E7E165}.Debug|iPhoneSimulator.ActiveCfg = Debug|iPhoneSimulator - {11CAA1ED-73F0-4E36-B30F-B12042E7E165}.Debug|iPhoneSimulator.Build.0 = Debug|iPhoneSimulator - {11CAA1ED-73F0-4E36-B30F-B12042E7E165}.Release|iPhone.ActiveCfg = Release|iPhone - {11CAA1ED-73F0-4E36-B30F-B12042E7E165}.Release|iPhone.Build.0 = Release|iPhone - {11CAA1ED-73F0-4E36-B30F-B12042E7E165}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator - {11CAA1ED-73F0-4E36-B30F-B12042E7E165}.Release|iPhoneSimulator.Build.0 = Release|iPhoneSimulator - {11CAA1ED-73F0-4E36-B30F-B12042E7E165}.Debug|iPhone.ActiveCfg = Debug|iPhone - {11CAA1ED-73F0-4E36-B30F-B12042E7E165}.Debug|iPhone.Build.0 = Debug|iPhone - {11CAA1ED-73F0-4E36-B30F-B12042E7E165}.Ad-Hoc|iPhone.ActiveCfg = Release|iPhone - {11CAA1ED-73F0-4E36-B30F-B12042E7E165}.Ad-Hoc|iPhone.Build.0 = Release|iPhone - {11CAA1ED-73F0-4E36-B30F-B12042E7E165}.AppStore|iPhone.ActiveCfg = Release|iPhone - {11CAA1ED-73F0-4E36-B30F-B12042E7E165}.AppStore|iPhone.Build.0 = Release|iPhone {60356E08-92A4-433E-956A-F207579B2E6D}.Debug|Any CPU.ActiveCfg = Debug|iPhoneSimulator {60356E08-92A4-433E-956A-F207579B2E6D}.Debug|Any CPU.Build.0 = Debug|iPhoneSimulator {60356E08-92A4-433E-956A-F207579B2E6D}.Debug|x64.ActiveCfg = Debug|iPhoneSimulator @@ -1117,30 +899,6 @@ Global {EBF60C41-86FD-4FFC-853A-72591179EDB8}.Ad-Hoc|iPhone.Build.0 = Ad-Hoc|iPhone {EBF60C41-86FD-4FFC-853A-72591179EDB8}.AppStore|iPhone.ActiveCfg = AppStore|iPhone {EBF60C41-86FD-4FFC-853A-72591179EDB8}.AppStore|iPhone.Build.0 = AppStore|iPhone - {890E5435-4BAB-4059-954B-788702F01BF3}.Debug|Any CPU.ActiveCfg = Debug|iPhoneSimulator - {890E5435-4BAB-4059-954B-788702F01BF3}.Debug|Any CPU.Build.0 = Debug|iPhoneSimulator - {890E5435-4BAB-4059-954B-788702F01BF3}.Debug|x64.ActiveCfg = Debug|iPhoneSimulator - {890E5435-4BAB-4059-954B-788702F01BF3}.Debug|x64.Build.0 = Debug|iPhoneSimulator - {890E5435-4BAB-4059-954B-788702F01BF3}.Debug|x86.ActiveCfg = Debug|iPhoneSimulator - {890E5435-4BAB-4059-954B-788702F01BF3}.Debug|x86.Build.0 = Debug|iPhoneSimulator - {890E5435-4BAB-4059-954B-788702F01BF3}.Release|Any CPU.ActiveCfg = Release|iPhone - {890E5435-4BAB-4059-954B-788702F01BF3}.Release|Any CPU.Build.0 = Release|iPhone - {890E5435-4BAB-4059-954B-788702F01BF3}.Release|x64.ActiveCfg = Release|iPhone - {890E5435-4BAB-4059-954B-788702F01BF3}.Release|x64.Build.0 = Release|iPhone - {890E5435-4BAB-4059-954B-788702F01BF3}.Release|x86.ActiveCfg = Release|iPhone - {890E5435-4BAB-4059-954B-788702F01BF3}.Release|x86.Build.0 = Release|iPhone - {890E5435-4BAB-4059-954B-788702F01BF3}.Debug|iPhoneSimulator.ActiveCfg = Debug|iPhoneSimulator - {890E5435-4BAB-4059-954B-788702F01BF3}.Debug|iPhoneSimulator.Build.0 = Debug|iPhoneSimulator - {890E5435-4BAB-4059-954B-788702F01BF3}.Release|iPhone.ActiveCfg = Release|iPhone - {890E5435-4BAB-4059-954B-788702F01BF3}.Release|iPhone.Build.0 = Release|iPhone - {890E5435-4BAB-4059-954B-788702F01BF3}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator - {890E5435-4BAB-4059-954B-788702F01BF3}.Release|iPhoneSimulator.Build.0 = Release|iPhoneSimulator - {890E5435-4BAB-4059-954B-788702F01BF3}.Debug|iPhone.ActiveCfg = Debug|iPhone - {890E5435-4BAB-4059-954B-788702F01BF3}.Debug|iPhone.Build.0 = Debug|iPhone - {890E5435-4BAB-4059-954B-788702F01BF3}.Ad-Hoc|iPhone.ActiveCfg = Release|iPhone - {890E5435-4BAB-4059-954B-788702F01BF3}.Ad-Hoc|iPhone.Build.0 = Release|iPhone - {890E5435-4BAB-4059-954B-788702F01BF3}.AppStore|iPhone.ActiveCfg = Release|iPhone - {890E5435-4BAB-4059-954B-788702F01BF3}.AppStore|iPhone.Build.0 = Release|iPhone {715CE4E1-EF89-411D-BA91-8227129D5704}.Debug|Any CPU.ActiveCfg = Debug|iPhoneSimulator {715CE4E1-EF89-411D-BA91-8227129D5704}.Debug|Any CPU.Build.0 = Debug|iPhoneSimulator {715CE4E1-EF89-411D-BA91-8227129D5704}.Debug|x64.ActiveCfg = Debug|iPhoneSimulator @@ -1165,54 +923,6 @@ Global {715CE4E1-EF89-411D-BA91-8227129D5704}.Ad-Hoc|iPhone.Build.0 = Release|iPhone {715CE4E1-EF89-411D-BA91-8227129D5704}.AppStore|iPhone.ActiveCfg = Release|iPhone {715CE4E1-EF89-411D-BA91-8227129D5704}.AppStore|iPhone.Build.0 = Release|iPhone - {F7E9AC25-E5CE-42C0-AC38-1D597E5DECE7}.Debug|Any CPU.ActiveCfg = Debug|iPhoneSimulator - {F7E9AC25-E5CE-42C0-AC38-1D597E5DECE7}.Debug|Any CPU.Build.0 = Debug|iPhoneSimulator - {F7E9AC25-E5CE-42C0-AC38-1D597E5DECE7}.Debug|x64.ActiveCfg = Debug|iPhoneSimulator - {F7E9AC25-E5CE-42C0-AC38-1D597E5DECE7}.Debug|x64.Build.0 = Debug|iPhoneSimulator - {F7E9AC25-E5CE-42C0-AC38-1D597E5DECE7}.Debug|x86.ActiveCfg = Debug|iPhoneSimulator - {F7E9AC25-E5CE-42C0-AC38-1D597E5DECE7}.Debug|x86.Build.0 = Debug|iPhoneSimulator - {F7E9AC25-E5CE-42C0-AC38-1D597E5DECE7}.Release|Any CPU.ActiveCfg = Release|iPhone - {F7E9AC25-E5CE-42C0-AC38-1D597E5DECE7}.Release|Any CPU.Build.0 = Release|iPhone - {F7E9AC25-E5CE-42C0-AC38-1D597E5DECE7}.Release|x64.ActiveCfg = Release|iPhone - {F7E9AC25-E5CE-42C0-AC38-1D597E5DECE7}.Release|x64.Build.0 = Release|iPhone - {F7E9AC25-E5CE-42C0-AC38-1D597E5DECE7}.Release|x86.ActiveCfg = Release|iPhone - {F7E9AC25-E5CE-42C0-AC38-1D597E5DECE7}.Release|x86.Build.0 = Release|iPhone - {F7E9AC25-E5CE-42C0-AC38-1D597E5DECE7}.Debug|iPhoneSimulator.ActiveCfg = Debug|iPhoneSimulator - {F7E9AC25-E5CE-42C0-AC38-1D597E5DECE7}.Debug|iPhoneSimulator.Build.0 = Debug|iPhoneSimulator - {F7E9AC25-E5CE-42C0-AC38-1D597E5DECE7}.Release|iPhone.ActiveCfg = Release|iPhone - {F7E9AC25-E5CE-42C0-AC38-1D597E5DECE7}.Release|iPhone.Build.0 = Release|iPhone - {F7E9AC25-E5CE-42C0-AC38-1D597E5DECE7}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator - {F7E9AC25-E5CE-42C0-AC38-1D597E5DECE7}.Release|iPhoneSimulator.Build.0 = Release|iPhoneSimulator - {F7E9AC25-E5CE-42C0-AC38-1D597E5DECE7}.Debug|iPhone.ActiveCfg = Debug|iPhone - {F7E9AC25-E5CE-42C0-AC38-1D597E5DECE7}.Debug|iPhone.Build.0 = Debug|iPhone - {F7E9AC25-E5CE-42C0-AC38-1D597E5DECE7}.Ad-Hoc|iPhone.ActiveCfg = Release|iPhone - {F7E9AC25-E5CE-42C0-AC38-1D597E5DECE7}.Ad-Hoc|iPhone.Build.0 = Release|iPhone - {F7E9AC25-E5CE-42C0-AC38-1D597E5DECE7}.AppStore|iPhone.ActiveCfg = Release|iPhone - {F7E9AC25-E5CE-42C0-AC38-1D597E5DECE7}.AppStore|iPhone.Build.0 = Release|iPhone - {9C9AE37B-1FBB-46B2-9718-C5701F5C7704}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {9C9AE37B-1FBB-46B2-9718-C5701F5C7704}.Debug|Any CPU.Build.0 = Debug|Any CPU - {9C9AE37B-1FBB-46B2-9718-C5701F5C7704}.Debug|x64.ActiveCfg = Debug|Any CPU - {9C9AE37B-1FBB-46B2-9718-C5701F5C7704}.Debug|x64.Build.0 = Debug|Any CPU - {9C9AE37B-1FBB-46B2-9718-C5701F5C7704}.Debug|x86.ActiveCfg = Debug|Any CPU - {9C9AE37B-1FBB-46B2-9718-C5701F5C7704}.Debug|x86.Build.0 = Debug|Any CPU - {9C9AE37B-1FBB-46B2-9718-C5701F5C7704}.Release|Any CPU.ActiveCfg = Release|Any CPU - {9C9AE37B-1FBB-46B2-9718-C5701F5C7704}.Release|Any CPU.Build.0 = Release|Any CPU - {9C9AE37B-1FBB-46B2-9718-C5701F5C7704}.Release|x64.ActiveCfg = Release|Any CPU - {9C9AE37B-1FBB-46B2-9718-C5701F5C7704}.Release|x64.Build.0 = Release|Any CPU - {9C9AE37B-1FBB-46B2-9718-C5701F5C7704}.Release|x86.ActiveCfg = Release|Any CPU - {9C9AE37B-1FBB-46B2-9718-C5701F5C7704}.Release|x86.Build.0 = Release|Any CPU - {9C9AE37B-1FBB-46B2-9718-C5701F5C7704}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU - {9C9AE37B-1FBB-46B2-9718-C5701F5C7704}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU - {9C9AE37B-1FBB-46B2-9718-C5701F5C7704}.Release|iPhone.ActiveCfg = Release|Any CPU - {9C9AE37B-1FBB-46B2-9718-C5701F5C7704}.Release|iPhone.Build.0 = Release|Any CPU - {9C9AE37B-1FBB-46B2-9718-C5701F5C7704}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU - {9C9AE37B-1FBB-46B2-9718-C5701F5C7704}.Release|iPhoneSimulator.Build.0 = Release|Any CPU - {9C9AE37B-1FBB-46B2-9718-C5701F5C7704}.Debug|iPhone.ActiveCfg = Debug|Any CPU - {9C9AE37B-1FBB-46B2-9718-C5701F5C7704}.Debug|iPhone.Build.0 = Debug|Any CPU - {9C9AE37B-1FBB-46B2-9718-C5701F5C7704}.Ad-Hoc|iPhone.ActiveCfg = Release|Any CPU - {9C9AE37B-1FBB-46B2-9718-C5701F5C7704}.Ad-Hoc|iPhone.Build.0 = Release|Any CPU - {9C9AE37B-1FBB-46B2-9718-C5701F5C7704}.AppStore|iPhone.ActiveCfg = Release|Any CPU - {9C9AE37B-1FBB-46B2-9718-C5701F5C7704}.AppStore|iPhone.Build.0 = Release|Any CPU {1AA78CE3-4FB5-4A85-B38C-320A5C8BDC8D}.Debug|Any CPU.ActiveCfg = Debug|iPhoneSimulator {1AA78CE3-4FB5-4A85-B38C-320A5C8BDC8D}.Debug|Any CPU.Build.0 = Debug|iPhoneSimulator {1AA78CE3-4FB5-4A85-B38C-320A5C8BDC8D}.Debug|x64.ActiveCfg = Debug|iPhoneSimulator @@ -1357,30 +1067,6 @@ Global {A557F95D-A084-47BE-8EF8-C5E42AD8C233}.Ad-Hoc|iPhone.Build.0 = Release|iPhone {A557F95D-A084-47BE-8EF8-C5E42AD8C233}.AppStore|iPhone.ActiveCfg = Release|iPhone {A557F95D-A084-47BE-8EF8-C5E42AD8C233}.AppStore|iPhone.Build.0 = Release|iPhone - {43F378EA-35C8-494E-9685-B00EBBA2A7A3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {43F378EA-35C8-494E-9685-B00EBBA2A7A3}.Debug|Any CPU.Build.0 = Debug|Any CPU - {43F378EA-35C8-494E-9685-B00EBBA2A7A3}.Debug|x64.ActiveCfg = Debug|Any CPU - {43F378EA-35C8-494E-9685-B00EBBA2A7A3}.Debug|x64.Build.0 = Debug|Any CPU - {43F378EA-35C8-494E-9685-B00EBBA2A7A3}.Debug|x86.ActiveCfg = Debug|Any CPU - {43F378EA-35C8-494E-9685-B00EBBA2A7A3}.Debug|x86.Build.0 = Debug|Any CPU - {43F378EA-35C8-494E-9685-B00EBBA2A7A3}.Release|Any CPU.ActiveCfg = Release|Any CPU - {43F378EA-35C8-494E-9685-B00EBBA2A7A3}.Release|Any CPU.Build.0 = Release|Any CPU - {43F378EA-35C8-494E-9685-B00EBBA2A7A3}.Release|x64.ActiveCfg = Release|Any CPU - {43F378EA-35C8-494E-9685-B00EBBA2A7A3}.Release|x64.Build.0 = Release|Any CPU - {43F378EA-35C8-494E-9685-B00EBBA2A7A3}.Release|x86.ActiveCfg = Release|Any CPU - {43F378EA-35C8-494E-9685-B00EBBA2A7A3}.Release|x86.Build.0 = Release|Any CPU - {43F378EA-35C8-494E-9685-B00EBBA2A7A3}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU - {43F378EA-35C8-494E-9685-B00EBBA2A7A3}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU - {43F378EA-35C8-494E-9685-B00EBBA2A7A3}.Release|iPhone.ActiveCfg = Release|Any CPU - {43F378EA-35C8-494E-9685-B00EBBA2A7A3}.Release|iPhone.Build.0 = Release|Any CPU - {43F378EA-35C8-494E-9685-B00EBBA2A7A3}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU - {43F378EA-35C8-494E-9685-B00EBBA2A7A3}.Release|iPhoneSimulator.Build.0 = Release|Any CPU - {43F378EA-35C8-494E-9685-B00EBBA2A7A3}.Debug|iPhone.ActiveCfg = Debug|Any CPU - {43F378EA-35C8-494E-9685-B00EBBA2A7A3}.Debug|iPhone.Build.0 = Debug|Any CPU - {43F378EA-35C8-494E-9685-B00EBBA2A7A3}.Ad-Hoc|iPhone.ActiveCfg = Release|Any CPU - {43F378EA-35C8-494E-9685-B00EBBA2A7A3}.Ad-Hoc|iPhone.Build.0 = Release|Any CPU - {43F378EA-35C8-494E-9685-B00EBBA2A7A3}.AppStore|iPhone.ActiveCfg = Release|Any CPU - {43F378EA-35C8-494E-9685-B00EBBA2A7A3}.AppStore|iPhone.Build.0 = Release|Any CPU {E5719ABE-6807-49C9-9E7A-0997FF4A5365}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {E5719ABE-6807-49C9-9E7A-0997FF4A5365}.Debug|Any CPU.Build.0 = Debug|Any CPU {E5719ABE-6807-49C9-9E7A-0997FF4A5365}.Debug|x64.ActiveCfg = Debug|Any CPU @@ -1405,86 +1091,7 @@ Global {E5719ABE-6807-49C9-9E7A-0997FF4A5365}.Ad-Hoc|iPhone.Build.0 = Debug|Any CPU {E5719ABE-6807-49C9-9E7A-0997FF4A5365}.AppStore|iPhone.ActiveCfg = Debug|Any CPU {E5719ABE-6807-49C9-9E7A-0997FF4A5365}.AppStore|iPhone.Build.0 = Debug|Any CPU - {43F378EA-35C8-494E-9685-B00EBBA2A7A3}.Ad-Hoc|iPhone.ActiveCfg = Release|Any CPU - {43F378EA-35C8-494E-9685-B00EBBA2A7A3}.Ad-Hoc|iPhone.Build.0 = Release|Any CPU - {43F378EA-35C8-494E-9685-B00EBBA2A7A3}.AppStore|iPhone.ActiveCfg = Release|Any CPU - {43F378EA-35C8-494E-9685-B00EBBA2A7A3}.AppStore|iPhone.Build.0 = Release|Any CPU - {6EB1DC55-1D8C-4D5C-AD5C-5C4E74B93FF7}.Debug|Any CPU.ActiveCfg = Debug|iPhoneSimulator - {6EB1DC55-1D8C-4D5C-AD5C-5C4E74B93FF7}.Debug|Any CPU.Build.0 = Debug|iPhoneSimulator - {6EB1DC55-1D8C-4D5C-AD5C-5C4E74B93FF7}.Debug|x64.ActiveCfg = Debug|iPhoneSimulator - {6EB1DC55-1D8C-4D5C-AD5C-5C4E74B93FF7}.Debug|x64.Build.0 = Debug|iPhoneSimulator - {6EB1DC55-1D8C-4D5C-AD5C-5C4E74B93FF7}.Debug|x86.ActiveCfg = Debug|iPhoneSimulator - {6EB1DC55-1D8C-4D5C-AD5C-5C4E74B93FF7}.Debug|x86.Build.0 = Debug|iPhoneSimulator - {6EB1DC55-1D8C-4D5C-AD5C-5C4E74B93FF7}.Release|Any CPU.ActiveCfg = Release|iPhone - {6EB1DC55-1D8C-4D5C-AD5C-5C4E74B93FF7}.Release|Any CPU.Build.0 = Release|iPhone - {6EB1DC55-1D8C-4D5C-AD5C-5C4E74B93FF7}.Release|x64.ActiveCfg = Release|iPhone - {6EB1DC55-1D8C-4D5C-AD5C-5C4E74B93FF7}.Release|x64.Build.0 = Release|iPhone - {6EB1DC55-1D8C-4D5C-AD5C-5C4E74B93FF7}.Release|x86.ActiveCfg = Release|iPhone - {6EB1DC55-1D8C-4D5C-AD5C-5C4E74B93FF7}.Release|x86.Build.0 = Release|iPhone - {6EB1DC55-1D8C-4D5C-AD5C-5C4E74B93FF7}.Debug|iPhoneSimulator.ActiveCfg = Debug|iPhoneSimulator - {6EB1DC55-1D8C-4D5C-AD5C-5C4E74B93FF7}.Debug|iPhoneSimulator.Build.0 = Debug|iPhoneSimulator - {6EB1DC55-1D8C-4D5C-AD5C-5C4E74B93FF7}.Release|iPhone.ActiveCfg = Release|iPhone - {6EB1DC55-1D8C-4D5C-AD5C-5C4E74B93FF7}.Release|iPhone.Build.0 = Release|iPhone - {6EB1DC55-1D8C-4D5C-AD5C-5C4E74B93FF7}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator - {6EB1DC55-1D8C-4D5C-AD5C-5C4E74B93FF7}.Release|iPhoneSimulator.Build.0 = Release|iPhoneSimulator - {6EB1DC55-1D8C-4D5C-AD5C-5C4E74B93FF7}.Debug|iPhone.ActiveCfg = Debug|iPhone - {6EB1DC55-1D8C-4D5C-AD5C-5C4E74B93FF7}.Debug|iPhone.Build.0 = Debug|iPhone - {6EB1DC55-1D8C-4D5C-AD5C-5C4E74B93FF7}.Ad-Hoc|iPhone.ActiveCfg = Release|iPhone - {6EB1DC55-1D8C-4D5C-AD5C-5C4E74B93FF7}.Ad-Hoc|iPhone.Build.0 = Release|iPhone - {6EB1DC55-1D8C-4D5C-AD5C-5C4E74B93FF7}.AppStore|iPhone.ActiveCfg = Release|iPhone - {6EB1DC55-1D8C-4D5C-AD5C-5C4E74B93FF7}.AppStore|iPhone.Build.0 = Release|iPhone {E5719ABE-6807-49C9-9E7A-0997FF4A5365}.Ad-Hoc|iPhone.ActiveCfg = Debug|Any CPU - {6EB1DC55-1D8C-4D5C-AD5C-5C4E74B93FF7}.Ad-Hoc|iPhone.Build.0 = Release|iPhone - {6EB1DC55-1D8C-4D5C-AD5C-5C4E74B93FF7}.AppStore|iPhone.ActiveCfg = Release|iPhone - {6EB1DC55-1D8C-4D5C-AD5C-5C4E74B93FF7}.AppStore|iPhone.Build.0 = Release|iPhone - {943D1525-5047-4E66-8E5A-D09930F8B339}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {943D1525-5047-4E66-8E5A-D09930F8B339}.Debug|Any CPU.Build.0 = Debug|Any CPU - {943D1525-5047-4E66-8E5A-D09930F8B339}.Debug|x64.ActiveCfg = Debug|Any CPU - {943D1525-5047-4E66-8E5A-D09930F8B339}.Debug|x64.Build.0 = Debug|Any CPU - {943D1525-5047-4E66-8E5A-D09930F8B339}.Debug|x86.ActiveCfg = Debug|Any CPU - {943D1525-5047-4E66-8E5A-D09930F8B339}.Debug|x86.Build.0 = Debug|Any CPU - {943D1525-5047-4E66-8E5A-D09930F8B339}.Release|Any CPU.ActiveCfg = Release|Any CPU - {943D1525-5047-4E66-8E5A-D09930F8B339}.Release|Any CPU.Build.0 = Release|Any CPU - {943D1525-5047-4E66-8E5A-D09930F8B339}.Release|x64.ActiveCfg = Release|Any CPU - {943D1525-5047-4E66-8E5A-D09930F8B339}.Release|x64.Build.0 = Release|Any CPU - {943D1525-5047-4E66-8E5A-D09930F8B339}.Release|x86.ActiveCfg = Release|Any CPU - {943D1525-5047-4E66-8E5A-D09930F8B339}.Release|x86.Build.0 = Release|Any CPU - {943D1525-5047-4E66-8E5A-D09930F8B339}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU - {943D1525-5047-4E66-8E5A-D09930F8B339}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU - {943D1525-5047-4E66-8E5A-D09930F8B339}.Release|iPhone.ActiveCfg = Release|Any CPU - {943D1525-5047-4E66-8E5A-D09930F8B339}.Release|iPhone.Build.0 = Release|Any CPU - {943D1525-5047-4E66-8E5A-D09930F8B339}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU - {943D1525-5047-4E66-8E5A-D09930F8B339}.Release|iPhoneSimulator.Build.0 = Release|Any CPU - {943D1525-5047-4E66-8E5A-D09930F8B339}.Debug|iPhone.ActiveCfg = Debug|Any CPU - {943D1525-5047-4E66-8E5A-D09930F8B339}.Debug|iPhone.Build.0 = Debug|Any CPU - {943D1525-5047-4E66-8E5A-D09930F8B339}.Ad-Hoc|iPhone.ActiveCfg = Release|Any CPU - {943D1525-5047-4E66-8E5A-D09930F8B339}.Ad-Hoc|iPhone.Build.0 = Release|Any CPU - {943D1525-5047-4E66-8E5A-D09930F8B339}.AppStore|iPhone.ActiveCfg = Release|Any CPU - {943D1525-5047-4E66-8E5A-D09930F8B339}.AppStore|iPhone.Build.0 = Release|Any CPU - {AF9847A8-8F2E-4F1F-8DF6-B311BAE0407A}.Debug|Any CPU.ActiveCfg = Debug|iPhoneSimulator - {AF9847A8-8F2E-4F1F-8DF6-B311BAE0407A}.Debug|Any CPU.Build.0 = Debug|iPhoneSimulator - {AF9847A8-8F2E-4F1F-8DF6-B311BAE0407A}.Debug|x64.ActiveCfg = Debug|iPhoneSimulator - {AF9847A8-8F2E-4F1F-8DF6-B311BAE0407A}.Debug|x64.Build.0 = Debug|iPhoneSimulator - {AF9847A8-8F2E-4F1F-8DF6-B311BAE0407A}.Debug|x86.ActiveCfg = Debug|iPhoneSimulator - {AF9847A8-8F2E-4F1F-8DF6-B311BAE0407A}.Debug|x86.Build.0 = Debug|iPhoneSimulator - {AF9847A8-8F2E-4F1F-8DF6-B311BAE0407A}.Release|Any CPU.ActiveCfg = Release|iPhone - {AF9847A8-8F2E-4F1F-8DF6-B311BAE0407A}.Release|Any CPU.Build.0 = Release|iPhone - {AF9847A8-8F2E-4F1F-8DF6-B311BAE0407A}.Release|x64.ActiveCfg = Release|iPhone - {AF9847A8-8F2E-4F1F-8DF6-B311BAE0407A}.Release|x64.Build.0 = Release|iPhone - {AF9847A8-8F2E-4F1F-8DF6-B311BAE0407A}.Release|x86.ActiveCfg = Release|iPhone - {AF9847A8-8F2E-4F1F-8DF6-B311BAE0407A}.Release|x86.Build.0 = Release|iPhone - {AF9847A8-8F2E-4F1F-8DF6-B311BAE0407A}.Debug|iPhoneSimulator.ActiveCfg = Debug|iPhoneSimulator - {AF9847A8-8F2E-4F1F-8DF6-B311BAE0407A}.Debug|iPhoneSimulator.Build.0 = Debug|iPhoneSimulator - {AF9847A8-8F2E-4F1F-8DF6-B311BAE0407A}.Release|iPhone.ActiveCfg = Release|iPhone - {AF9847A8-8F2E-4F1F-8DF6-B311BAE0407A}.Release|iPhone.Build.0 = Release|iPhone - {AF9847A8-8F2E-4F1F-8DF6-B311BAE0407A}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator - {AF9847A8-8F2E-4F1F-8DF6-B311BAE0407A}.Release|iPhoneSimulator.Build.0 = Release|iPhoneSimulator - {AF9847A8-8F2E-4F1F-8DF6-B311BAE0407A}.Debug|iPhone.ActiveCfg = Debug|iPhone - {AF9847A8-8F2E-4F1F-8DF6-B311BAE0407A}.Debug|iPhone.Build.0 = Debug|iPhone - {AF9847A8-8F2E-4F1F-8DF6-B311BAE0407A}.Ad-Hoc|iPhone.ActiveCfg = Release|iPhone - {AF9847A8-8F2E-4F1F-8DF6-B311BAE0407A}.Ad-Hoc|iPhone.Build.0 = Release|iPhone - {AF9847A8-8F2E-4F1F-8DF6-B311BAE0407A}.AppStore|iPhone.ActiveCfg = Release|iPhone - {AF9847A8-8F2E-4F1F-8DF6-B311BAE0407A}.AppStore|iPhone.Build.0 = Release|iPhone {65ACD945-5A8A-419D-B9FB-8DFD03C532F4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {65ACD945-5A8A-419D-B9FB-8DFD03C532F4}.Debug|Any CPU.Build.0 = Debug|Any CPU {65ACD945-5A8A-419D-B9FB-8DFD03C532F4}.Debug|x64.ActiveCfg = Debug|Any CPU @@ -1592,6 +1199,54 @@ Global {C02A268C-500B-4C3E-81E7-4E40A7AEB323}.Ad-Hoc|iPhone.Build.0 = Release|iPhone {C02A268C-500B-4C3E-81E7-4E40A7AEB323}.AppStore|iPhone.ActiveCfg = Release|iPhone {C02A268C-500B-4C3E-81E7-4E40A7AEB323}.AppStore|iPhone.Build.0 = Release|iPhone + {79AB1126-A4C1-4B63-B021-0EB443D5428D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {79AB1126-A4C1-4B63-B021-0EB443D5428D}.Debug|Any CPU.Build.0 = Debug|Any CPU + {79AB1126-A4C1-4B63-B021-0EB443D5428D}.Debug|x64.ActiveCfg = Debug|Any CPU + {79AB1126-A4C1-4B63-B021-0EB443D5428D}.Debug|x64.Build.0 = Debug|Any CPU + {79AB1126-A4C1-4B63-B021-0EB443D5428D}.Debug|x86.ActiveCfg = Debug|Any CPU + {79AB1126-A4C1-4B63-B021-0EB443D5428D}.Debug|x86.Build.0 = Debug|Any CPU + {79AB1126-A4C1-4B63-B021-0EB443D5428D}.Release|Any CPU.ActiveCfg = Release|Any CPU + {79AB1126-A4C1-4B63-B021-0EB443D5428D}.Release|Any CPU.Build.0 = Release|Any CPU + {79AB1126-A4C1-4B63-B021-0EB443D5428D}.Release|x64.ActiveCfg = Release|Any CPU + {79AB1126-A4C1-4B63-B021-0EB443D5428D}.Release|x64.Build.0 = Release|Any CPU + {79AB1126-A4C1-4B63-B021-0EB443D5428D}.Release|x86.ActiveCfg = Release|Any CPU + {79AB1126-A4C1-4B63-B021-0EB443D5428D}.Release|x86.Build.0 = Release|Any CPU + {79AB1126-A4C1-4B63-B021-0EB443D5428D}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU + {79AB1126-A4C1-4B63-B021-0EB443D5428D}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU + {79AB1126-A4C1-4B63-B021-0EB443D5428D}.Release|iPhone.ActiveCfg = Release|Any CPU + {79AB1126-A4C1-4B63-B021-0EB443D5428D}.Release|iPhone.Build.0 = Release|Any CPU + {79AB1126-A4C1-4B63-B021-0EB443D5428D}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU + {79AB1126-A4C1-4B63-B021-0EB443D5428D}.Release|iPhoneSimulator.Build.0 = Release|Any CPU + {79AB1126-A4C1-4B63-B021-0EB443D5428D}.Debug|iPhone.ActiveCfg = Debug|Any CPU + {79AB1126-A4C1-4B63-B021-0EB443D5428D}.Debug|iPhone.Build.0 = Debug|Any CPU + {79AB1126-A4C1-4B63-B021-0EB443D5428D}.Ad-Hoc|iPhone.ActiveCfg = Release|Any CPU + {79AB1126-A4C1-4B63-B021-0EB443D5428D}.Ad-Hoc|iPhone.Build.0 = Release|Any CPU + {79AB1126-A4C1-4B63-B021-0EB443D5428D}.AppStore|iPhone.ActiveCfg = Release|Any CPU + {79AB1126-A4C1-4B63-B021-0EB443D5428D}.AppStore|iPhone.Build.0 = Release|Any CPU + {F6CEF86A-612E-4361-B46E-E5349EF478CE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {F6CEF86A-612E-4361-B46E-E5349EF478CE}.Debug|Any CPU.Build.0 = Debug|Any CPU + {F6CEF86A-612E-4361-B46E-E5349EF478CE}.Debug|x64.ActiveCfg = Debug|Any CPU + {F6CEF86A-612E-4361-B46E-E5349EF478CE}.Debug|x64.Build.0 = Debug|Any CPU + {F6CEF86A-612E-4361-B46E-E5349EF478CE}.Debug|x86.ActiveCfg = Debug|Any CPU + {F6CEF86A-612E-4361-B46E-E5349EF478CE}.Debug|x86.Build.0 = Debug|Any CPU + {F6CEF86A-612E-4361-B46E-E5349EF478CE}.Release|Any CPU.ActiveCfg = Release|Any CPU + {F6CEF86A-612E-4361-B46E-E5349EF478CE}.Release|Any CPU.Build.0 = Release|Any CPU + {F6CEF86A-612E-4361-B46E-E5349EF478CE}.Release|x64.ActiveCfg = Release|Any CPU + {F6CEF86A-612E-4361-B46E-E5349EF478CE}.Release|x64.Build.0 = Release|Any CPU + {F6CEF86A-612E-4361-B46E-E5349EF478CE}.Release|x86.ActiveCfg = Release|Any CPU + {F6CEF86A-612E-4361-B46E-E5349EF478CE}.Release|x86.Build.0 = Release|Any CPU + {F6CEF86A-612E-4361-B46E-E5349EF478CE}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU + {F6CEF86A-612E-4361-B46E-E5349EF478CE}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU + {F6CEF86A-612E-4361-B46E-E5349EF478CE}.Release|iPhone.ActiveCfg = Release|Any CPU + {F6CEF86A-612E-4361-B46E-E5349EF478CE}.Release|iPhone.Build.0 = Release|Any CPU + {F6CEF86A-612E-4361-B46E-E5349EF478CE}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU + {F6CEF86A-612E-4361-B46E-E5349EF478CE}.Release|iPhoneSimulator.Build.0 = Release|Any CPU + {F6CEF86A-612E-4361-B46E-E5349EF478CE}.Debug|iPhone.ActiveCfg = Debug|Any CPU + {F6CEF86A-612E-4361-B46E-E5349EF478CE}.Debug|iPhone.Build.0 = Debug|Any CPU + {F6CEF86A-612E-4361-B46E-E5349EF478CE}.Ad-Hoc|iPhone.ActiveCfg = Release|Any CPU + {F6CEF86A-612E-4361-B46E-E5349EF478CE}.Ad-Hoc|iPhone.Build.0 = Release|Any CPU + {F6CEF86A-612E-4361-B46E-E5349EF478CE}.AppStore|iPhone.ActiveCfg = Release|Any CPU + {F6CEF86A-612E-4361-B46E-E5349EF478CE}.AppStore|iPhone.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(NestedProjects) = preSolution {87DAFAF8-C745-44F0-BC8A-503BF4A97082} = {66A8A447-CECE-4C0D-9F8E-8EC790A141F3} @@ -1599,7 +1254,6 @@ Global {A8FBB637-BB67-45CD-9883-E203FE66EC13} = {69028465-228C-475F-A932-A161B6F17B75} {7154BBDA-0E15-4967-B3B9-7623F914F697} = {69028465-228C-475F-A932-A161B6F17B75} {9335A59B-3B54-4ED5-8201-B68CFD05CAFB} = {87DAFAF8-C745-44F0-BC8A-503BF4A97082} - {754D8F56-C3DB-4E33-91D5-45445AB286EF} = {87DAFAF8-C745-44F0-BC8A-503BF4A97082} {25783B8D-1423-4CC2-B629-7E7F36A1CF4B} = {87DAFAF8-C745-44F0-BC8A-503BF4A97082} {7157A790-5767-4045-8A26-D71F2F43E78B} = {87DAFAF8-C745-44F0-BC8A-503BF4A97082} {76D97DB8-CAFE-4F0C-9F90-970CB26080FA} = {87DAFAF8-C745-44F0-BC8A-503BF4A97082} @@ -1609,16 +1263,11 @@ Global {E1558CDF-C9CE-4A78-AA96-9EA75A39D266} = {87DAFAF8-C745-44F0-BC8A-503BF4A97082} {5013B41D-804C-499D-B0E5-E8D14859044F} = {87DAFAF8-C745-44F0-BC8A-503BF4A97082} {4D102D0B-59D7-4902-913E-85CAA0DFE8A3} = {87DAFAF8-C745-44F0-BC8A-503BF4A97082} - {B0D91D94-300F-4DEB-A0A7-11DCBDF6FD64} = {87DAFAF8-C745-44F0-BC8A-503BF4A97082} - {90DDF7C4-5223-4863-9687-6211BC5D56E5} = {87DAFAF8-C745-44F0-BC8A-503BF4A97082} - {108BC6F9-E830-4F3B-85A9-DF7A70A06396} = {87DAFAF8-C745-44F0-BC8A-503BF4A97082} {3ECC9FBF-72BB-48E4-B454-56194A422B3A} = {87DAFAF8-C745-44F0-BC8A-503BF4A97082} {2FC178FA-114D-4A51-A3DF-5EA10E2C71C4} = {87DAFAF8-C745-44F0-BC8A-503BF4A97082} {03D44E24-A726-44F9-8EC9-4B136F15B817} = {87DAFAF8-C745-44F0-BC8A-503BF4A97082} {36FD3346-EA1E-41A3-91D2-1C380E97BA34} = {CF41ABBD-2DDE-44D3-A5C8-85846812AE23} - {8AD7D708-4672-4EBB-9DDC-1482B1B72A70} = {CF41ABBD-2DDE-44D3-A5C8-85846812AE23} {D71F8108-A163-4E1B-BFB5-EF58FEBADD33} = {CF41ABBD-2DDE-44D3-A5C8-85846812AE23} - {06E1E2BA-A43A-4816-ABAB-23E027CD1D98} = {CF41ABBD-2DDE-44D3-A5C8-85846812AE23} {2D4887E5-F5E4-4C2B-9F35-EAE5E562E43B} = {CF41ABBD-2DDE-44D3-A5C8-85846812AE23} {1C9DFB3E-FDA5-478B-B063-CF646AA892DB} = {CF41ABBD-2DDE-44D3-A5C8-85846812AE23} {FC514AE9-BE75-467B-91CC-B5FFC0AFBEC4} = {CF41ABBD-2DDE-44D3-A5C8-85846812AE23} @@ -1632,30 +1281,23 @@ Global {DB75BE06-E241-4750-8243-C00D1743F4D0} = {A8FBB637-BB67-45CD-9883-E203FE66EC13} {94474EED-2C21-463F-A093-A6FE10C97F50} = {A8FBB637-BB67-45CD-9883-E203FE66EC13} {58BF0CB1-7D93-46C0-BE89-D97ECF5210C6} = {A8FBB637-BB67-45CD-9883-E203FE66EC13} - {8C118A0A-18D5-4E01-A83D-11DBD98DAF2F} = {A8FBB637-BB67-45CD-9883-E203FE66EC13} - {11CAA1ED-73F0-4E36-B30F-B12042E7E165} = {A8FBB637-BB67-45CD-9883-E203FE66EC13} {60356E08-92A4-433E-956A-F207579B2E6D} = {A8FBB637-BB67-45CD-9883-E203FE66EC13} {F26D64FB-D6A2-41E2-9B31-E8DA0AA400C8} = {A8FBB637-BB67-45CD-9883-E203FE66EC13} {87BCF68D-05D6-4E40-9550-AE74C37AFA89} = {A8FBB637-BB67-45CD-9883-E203FE66EC13} {EBF60C41-86FD-4FFC-853A-72591179EDB8} = {7154BBDA-0E15-4967-B3B9-7623F914F697} - {890E5435-4BAB-4059-954B-788702F01BF3} = {7154BBDA-0E15-4967-B3B9-7623F914F697} {715CE4E1-EF89-411D-BA91-8227129D5704} = {7154BBDA-0E15-4967-B3B9-7623F914F697} - {F7E9AC25-E5CE-42C0-AC38-1D597E5DECE7} = {7154BBDA-0E15-4967-B3B9-7623F914F697} - {9C9AE37B-1FBB-46B2-9718-C5701F5C7704} = {CF41ABBD-2DDE-44D3-A5C8-85846812AE23} {1AA78CE3-4FB5-4A85-B38C-320A5C8BDC8D} = {7154BBDA-0E15-4967-B3B9-7623F914F697} {2F8EC051-F3A4-43C0-928C-734423FBF1D0} = {7154BBDA-0E15-4967-B3B9-7623F914F697} {0FFC84D3-DC23-433C-8675-500FD96CCD73} = {7154BBDA-0E15-4967-B3B9-7623F914F697} {B55BE51C-E261-4A23-9ACB-2FE7FFF89E22} = {7154BBDA-0E15-4967-B3B9-7623F914F697} {7571880D-0FA2-43A3-BA08-A0F68B590253} = {7154BBDA-0E15-4967-B3B9-7623F914F697} {A557F95D-A084-47BE-8EF8-C5E42AD8C233} = {7154BBDA-0E15-4967-B3B9-7623F914F697} - {43F378EA-35C8-494E-9685-B00EBBA2A7A3} = {87DAFAF8-C745-44F0-BC8A-503BF4A97082} - {6EB1DC55-1D8C-4D5C-AD5C-5C4E74B93FF7} = {A8FBB637-BB67-45CD-9883-E203FE66EC13} - {943D1525-5047-4E66-8E5A-D09930F8B339} = {87DAFAF8-C745-44F0-BC8A-503BF4A97082} - {AF9847A8-8F2E-4F1F-8DF6-B311BAE0407A} = {A8FBB637-BB67-45CD-9883-E203FE66EC13} {65ACD945-5A8A-419D-B9FB-8DFD03C532F4} = {87DAFAF8-C745-44F0-BC8A-503BF4A97082} {AB5F0D3A-EE49-48ED-848F-B288D837CA77} = {87DAFAF8-C745-44F0-BC8A-503BF4A97082} {9353CA95-7C8D-44BC-B599-FCD195C4722E} = {A8FBB637-BB67-45CD-9883-E203FE66EC13} {E5719ABE-6807-49C9-9E7A-0997FF4A5365} = {87DAFAF8-C745-44F0-BC8A-503BF4A97082} {C02A268C-500B-4C3E-81E7-4E40A7AEB323} = {A8FBB637-BB67-45CD-9883-E203FE66EC13} + {79AB1126-A4C1-4B63-B021-0EB443D5428D} = {87DAFAF8-C745-44F0-BC8A-503BF4A97082} + {F6CEF86A-612E-4361-B46E-E5349EF478CE} = {CF41ABBD-2DDE-44D3-A5C8-85846812AE23} EndGlobalSection EndGlobal diff --git a/cgmanifest.json b/cgmanifest.json index 1b7b22ebb..23512bc96 100644 --- a/cgmanifest.json +++ b/cgmanifest.json @@ -14,7 +14,7 @@ "Type": "Pod", "Pod": { "Name": "AppAuth", - "Version": "1.3.0" + "Version": "1.4.0" } } }, @@ -32,7 +32,7 @@ "type": "Pod", "Pod": { "name": "FirebaseABTesting", - "Version": "4.2.0" + "Version": "8.2.0" } } }, @@ -41,7 +41,7 @@ "type": "Pod", "Pod": { "name": "FirebaseAnalytics", - "Version": "6.9.0" + "Version": "8.2.0" } } }, @@ -50,7 +50,7 @@ "type": "Pod", "Pod": { "name": "FirebaseAuth", - "Version": "6.9.2" + "Version": "8.2.0" } } }, @@ -59,7 +59,7 @@ "type": "Pod", "Pod": { "name": "FirebaseCore", - "Version": "6.10.4" + "Version": "8.2.0" } } }, @@ -68,7 +68,7 @@ "type": "Pod", "Pod": { "name": "FirebaseCoreDiagnostics", - "Version": "1.6.0" + "Version": "8.2.0" } } }, @@ -77,7 +77,7 @@ "type": "Pod", "Pod": { "name": "FirebaseCrashlytics", - "Version": "4.6.2" + "Version": "8.2.0" } } }, @@ -86,7 +86,7 @@ "type": "Pod", "Pod": { "name": "FirebaseDatabase", - "Version": "6.6.0" + "Version": "8.2.0" } } }, @@ -95,7 +95,7 @@ "type": "Pod", "Pod": { "name": "FirebaseDynamicLinks", - "Version": "4.3.1" + "Version": "8.2.0" } } }, @@ -104,7 +104,7 @@ "type": "Pod", "Pod": { "name": "FirebaseFirestore", - "Version": "1.19.0" + "Version": "8.2.0" } } }, @@ -113,7 +113,7 @@ "type": "Pod", "Pod": { "name": "FirebaseFunctions", - "Version": "2.9.0" + "Version": "8.2.0" } } }, @@ -122,7 +122,7 @@ "type": "Pod", "Pod": { "name": "FirebaseInAppMessaging", - "Version": "0.24.0" + "Version": "8.2.0-beta" } } }, @@ -131,7 +131,7 @@ "type": "Pod", "Pod": { "name": "FirebaseInstallations", - "Version": "1.7.0" + "Version": "8.2.0" } } }, @@ -140,7 +140,7 @@ "type": "Pod", "Pod": { "name": "FirebaseInstanceID", - "Version": "4.8.0" + "Version": "8.2.0" } } }, @@ -149,124 +149,7 @@ "type": "Pod", "Pod": { "name": "FirebaseMessaging", - "Version": "4.7.1" - } - } - }, - { - "component": { - "type": "Pod", - "Pod": { - "name": "FirebaseMLCommon", - "Version": "0.21.0" - } - } - }, - { - "component": { - "type": "Pod", - "Pod": { - "name": "FirebaseMLModelInterpreter", - "Version": "0.21.0" - } - } - }, - { - "component": { - "type": "Pod", - "Pod": { - "name": "FirebaseMLNaturalLanguage", - "Version": "0.18.0" - } - } - }, - { - "component": { - "type": "Pod", - "Pod": { - "name": "FirebaseMLNLLanguageID", - "Version": "0.18.0" - } - } - }, - { - "component": { - "type": "Pod", - "Pod": { - "name": "FirebaseMLNLSmartReply", - "Version": "0.18.0" - } - } - }, - { - "component": { - "type": "Pod", - "Pod": { - "name": "FirebaseMLNLTranslate", - "Version": "0.19.0" - } - } - }, - { - "component": { - "type": "Pod", - "Pod": { - "name": "FirebaseMLVision", - "Version": "0.21.0" - } - } - }, - { - "component": { - "type": "Pod", - "Pod": { - "name": "FirebaseMLVisionAutoML", - "Version": "0.21.0" - } - } - }, - { - "component": { - "type": "Pod", - "Pod": { - "name": "FirebaseMLVisionBarcodeModel", - "Version": "0.21.0" - } - } - }, - { - "component": { - "type": "Pod", - "Pod": { - "name": "FirebaseMLVisionFaceModel", - "Version": "0.21.0" - } - } - }, - { - "component": { - "type": "Pod", - "Pod": { - "name": "FirebaseMLVisionLabelModel", - "Version": "0.21.0" - } - } - }, - { - "component": { - "type": "Pod", - "Pod": { - "name": "FirebaseMLVisionObjectDetection", - "Version": "0.21.0" - } - } - }, - { - "component": { - "type": "Pod", - "Pod": { - "name": "FirebaseMLVisionTextModel", - "Version": "0.21.0" + "Version": "8.2.0" } } }, @@ -275,7 +158,7 @@ "type": "Pod", "Pod": { "name": "FirebasePerformance", - "Version": "3.3.0" + "Version": "8.2.0" } } }, @@ -284,7 +167,7 @@ "type": "Pod", "Pod": { "name": "FirebaseRemoteConfig", - "Version": "4.9.1" + "Version": "8.2.0" } } }, @@ -293,7 +176,7 @@ "type": "Pod", "Pod": { "name": "FirebaseStorage", - "Version": "3.9.1" + "Version": "8.2.0" } } }, @@ -301,8 +184,8 @@ "component": { "type": "Pod", "Pod": { - "name": "GoogleAnalytics", - "Version": "3.17.0" + "name": "FirebaseAppDistribution", + "Version": "8.2.0-beta" } } }, @@ -310,8 +193,8 @@ "component": { "type": "Pod", "Pod": { - "name": "GoogleAPIClientForREST", - "Version": "1.4.3" + "name": "FirebaseAppCheck", + "Version": "8.2.0-beta" } } }, @@ -319,8 +202,8 @@ "component": { "type": "Pod", "Pod": { - "name": "GoogleAppIndexing", - "Version": "2.0.3" + "name": "GoogleAPIClientForREST", + "Version": "1.5.2" } } }, @@ -329,7 +212,7 @@ "type": "Pod", "Pod": { "name": "GoogleAppMeasurement", - "Version": "6.9.0" + "Version": "8.2.0" } } }, @@ -337,8 +220,8 @@ "component": { "type": "Pod", "Pod": { - "name": "google-cast-sdk", - "Version": "4.4.6" + "name": "GoogleAnalytics", + "Version": "3.17.0" } } }, @@ -346,8 +229,8 @@ "component": { "type": "Pod", "Pod": { - "name": "GoogleDataTransport", - "Version": "7.5.1" + "name": "google-cast-sdk", + "Version": "4.6.1" } } }, @@ -355,11 +238,11 @@ "component": { "type": "Pod", "Pod": { - "name": "GGLInstanceID", - "Version": "1.2.1" + "name": "GoogleDataTransport", + "Version": "9.0.0" } } - }, + }, { "component": { "type": "Pod", @@ -374,7 +257,7 @@ "type": "Pod", "Pod": { "name": "GoogleMaps", - "Version": "3.9.0" + "Version": "5.0.0" } } }, @@ -383,7 +266,7 @@ "type": "Pod", "Pod": { "name": "Google-Mobile-Ads-SDK", - "Version": "7.66.0" + "Version": "8.6.0" } } }, @@ -392,7 +275,7 @@ "type": "Pod", "Pod": { "name": "GooglePlaces", - "Version": "3.9.0" + "Version": "5.0.0" } } }, @@ -410,7 +293,7 @@ "type": "Pod", "Pod": { "name": "GoogleTagManager", - "Version": "7.1.2" + "Version": "7.3.1" } } }, @@ -419,7 +302,7 @@ "type": "Pod", "Pod": { "name": "GoogleToolboxForMac", - "Version": "2.2.2" + "Version": "2.3.1" } } }, @@ -437,7 +320,7 @@ "type": "Pod", "Pod": { "name": "GoogleUtilities", - "Version": "6.7.2" + "Version": "7.4.1" } } }, @@ -464,7 +347,7 @@ "type": "Pod", "Pod": { "name": "GTMAppAuth", - "Version": "1.0.0" + "Version": "1.2.1" } } }, @@ -473,7 +356,7 @@ "type": "Pod", "Pod": { "name": "GTMSessionFetcher", - "Version": "1.4.0" + "Version": "1.5.0" } } }, @@ -482,7 +365,7 @@ "type": "Pod", "Pod": { "name": "leveldb-library", - "Version": "1.22.0" + "Version": "1.22.1" } } }, @@ -491,7 +374,7 @@ "type": "Pod", "Pod": { "name": "nanopb", - "Version": "1.30906.0" + "Version": "2.30908.0" } } }, @@ -500,7 +383,7 @@ "type": "Pod", "Pod": { "name": "PromisesObjC", - "Version": "1.2.10" + "Version": "1.2.12" } } }, @@ -509,7 +392,7 @@ "type": "Pod", "Pod": { "name": "Protobuf", - "Version": "3.13.0" + "Version": "3.15.8" } } }, @@ -521,24 +404,6 @@ "Version": "2.3.0" } } - }, - { - "component": { - "type": "Pod", - "Pod": { - "name": "TensorFlowLiteObjC", - "Version": "2.3.0" - } - } - }, - { - "component": { - "type": "Pod", - "Pod": { - "name": "Google", - "Version": "3.1.0" - } - } } ], "version": 1 diff --git a/common.cake b/common.cake index 9f9b2ab63..81b456b48 100644 --- a/common.cake +++ b/common.cake @@ -99,8 +99,11 @@ void BuildSdkOnPodfile (Artifact artifact) if (artifact.PodSpecs?.Length == 0) return; - var baseArch = Platform.iOSArmV7; - var platforms = new [] { baseArch, Platform.iOSArm64, Platform.iOSSimulator64, Platform.iOSSimulator }; + var baseArch = Platform.iOSArmV7; + // from iOS 11 only 64-bit builds are supported + var platforms = Version.TryParse(GetMinimunSupportedVersion(artifact), out var iosVer) && iosVer.Major > 10 + ? new [] { Platform.iOSArm64, Platform.iOSSimulator64 } + : new [] { baseArch, Platform.iOSArm64, Platform.iOSSimulator64, Platform.iOSSimulator }; var podsProject = "./Pods/Pods.xcodeproj"; var workingDirectory = (DirectoryPath)$"./externals/{artifact.Id}"; diff --git a/components.cake b/components.cake index 0ce25c340..f8d2ebb32 100644 --- a/components.cake +++ b/components.cake @@ -1,38 +1,32 @@ // Firebase artifacts available to be built. These artifacts generate NuGets. -Artifact FIREBASE_AB_TESTING_ARTIFACT = new Artifact ("Firebase.ABTesting", "4.2.0", "8.0", ComponentGroup.Firebase, csprojName: "ABTesting"); -Artifact FIREBASE_AD_MOB_ARTIFACT = new Artifact ("Firebase.AdMob", "7.66.0", "8.0", ComponentGroup.Firebase, csprojName: "AdMob"); -Artifact FIREBASE_ANALYTICS_ARTIFACT = new Artifact ("Firebase.Analytics", "6.9.0", "8.0", ComponentGroup.Firebase, csprojName: "Analytics"); -Artifact FIREBASE_AUTH_ARTIFACT = new Artifact ("Firebase.Auth", "6.9.2", "8.0", ComponentGroup.Firebase, csprojName: "Auth"); -Artifact FIREBASE_CLOUD_FIRESTORE_ARTIFACT = new Artifact ("Firebase.CloudFirestore", "1.19.0", "8.0", ComponentGroup.Firebase, csprojName: "CloudFirestore"); -Artifact FIREBASE_CLOUD_FUNCTIONS_ARTIFACT = new Artifact ("Firebase.CloudFunctions", "2.9.0", "8.0", ComponentGroup.Firebase, csprojName: "CloudFunctions"); -Artifact FIREBASE_CLOUD_MESSAGING_ARTIFACT = new Artifact ("Firebase.CloudMessaging", "4.7.1", "8.0", ComponentGroup.Firebase, csprojName: "CloudMessaging"); -Artifact FIREBASE_CORE_ARTIFACT = new Artifact ("Firebase.Core", "6.10.4", "8.0", ComponentGroup.Firebase, csprojName: "Core"); -Artifact FIREBASE_CRASHLYTICS_ARTIFACT = new Artifact ("Firebase.Crashlytics", "4.6.2", "8.0", ComponentGroup.Firebase, csprojName: "Crashlytics"); -Artifact FIREBASE_DATABASE_ARTIFACT = new Artifact ("Firebase.Database", "6.6.0", "8.0", ComponentGroup.Firebase, csprojName: "Database"); -Artifact FIREBASE_DYNAMIC_LINKS_ARTIFACT = new Artifact ("Firebase.DynamicLinks", "4.3.1", "8.0", ComponentGroup.Firebase, csprojName: "DynamicLinks"); -Artifact FIREBASE_IN_APP_MESSAGING_ARTIFACT = new Artifact ("Firebase.InAppMessaging", "0.24.0", "9.0", ComponentGroup.Firebase, csprojName: "InAppMessaging"); -Artifact FIREBASE_INSTALLATIONS_ARTIFACT = new Artifact ("Firebase.Installations", "1.7.0", "8.0", ComponentGroup.Firebase, csprojName: "Installations"); -Artifact FIREBASE_INSTANCE_ID_ARTIFACT = new Artifact ("Firebase.InstanceID", "4.8.0", "8.0", ComponentGroup.Firebase, csprojName: "InstanceID"); -Artifact FIREBASE_MLKIT_ARTIFACT = new Artifact ("Firebase.MLKit", "0.21.0", "9.0", ComponentGroup.Firebase, csprojName: "MLKit"); -Artifact FIREBASE_MLKIT_COMMON_ARTIFACT = new Artifact ("Firebase.MLKit.Common", "0.21.0", "9.0", ComponentGroup.Firebase, csprojName: "MLKit.Common"); -Artifact FIREBASE_MLKIT_MODEL_INTERPRETER_ARTIFACT = new Artifact ("Firebase.MLKit.ModelInterpreter", "0.21.0", "9.0", ComponentGroup.Firebase, csprojName: "MLKit.ModelInterpreter"); -Artifact FIREBASE_MLKIT_NATURAL_LANGUAGE_ARTIFACT = new Artifact ("Firebase.MLKit.NaturalLanguage", "0.18.0", "9.0", ComponentGroup.Firebase, csprojName: "MLKit.NaturalLanguage"); -Artifact FIREBASE_MLKIT_VISION_ARTIFACT = new Artifact ("Firebase.MLKit.Vision", "0.21.0", "9.0", ComponentGroup.Firebase, csprojName: "MLKit.Vision"); -Artifact FIREBASE_PERFORMANCE_MONITORING_ARTIFACT = new Artifact ("Firebase.PerformanceMonitoring", "3.3.0", "8.0", ComponentGroup.Firebase, csprojName: "PerformanceMonitoring"); -Artifact FIREBASE_REMOTE_CONFIG_ARTIFACT = new Artifact ("Firebase.RemoteConfig", "4.9.1", "8.0", ComponentGroup.Firebase, csprojName: "RemoteConfig"); -Artifact FIREBASE_STORAGE_ARTIFACT = new Artifact ("Firebase.Storage", "3.9.1", "8.0", ComponentGroup.Firebase, csprojName: "Storage"); +Artifact FIREBASE_AB_TESTING_ARTIFACT = new Artifact ("Firebase.ABTesting", "8.2.0", "10.0", ComponentGroup.Firebase, csprojName: "ABTesting"); +Artifact FIREBASE_AD_MOB_ARTIFACT = new Artifact ("Firebase.AdMob", "8.6.0", "10.0", ComponentGroup.Firebase, csprojName: "AdMob"); +Artifact FIREBASE_ANALYTICS_ARTIFACT = new Artifact ("Firebase.Analytics", "8.2.0", "10.0", ComponentGroup.Firebase, csprojName: "Analytics"); +Artifact FIREBASE_AUTH_ARTIFACT = new Artifact ("Firebase.Auth", "8.2.0", "10.0", ComponentGroup.Firebase, csprojName: "Auth"); +Artifact FIREBASE_CLOUD_FIRESTORE_ARTIFACT = new Artifact ("Firebase.CloudFirestore", "8.2.0", "10.0", ComponentGroup.Firebase, csprojName: "CloudFirestore"); +Artifact FIREBASE_CLOUD_FUNCTIONS_ARTIFACT = new Artifact ("Firebase.CloudFunctions", "8.2.0", "10.0", ComponentGroup.Firebase, csprojName: "CloudFunctions"); +Artifact FIREBASE_CLOUD_MESSAGING_ARTIFACT = new Artifact ("Firebase.CloudMessaging", "8.2.0", "10.0", ComponentGroup.Firebase, csprojName: "CloudMessaging"); +Artifact FIREBASE_CORE_ARTIFACT = new Artifact ("Firebase.Core", "8.2.0", "10.0", ComponentGroup.Firebase, csprojName: "Core"); +Artifact FIREBASE_CRASHLYTICS_ARTIFACT = new Artifact ("Firebase.Crashlytics", "8.2.0", "10.0", ComponentGroup.Firebase, csprojName: "Crashlytics"); +Artifact FIREBASE_DATABASE_ARTIFACT = new Artifact ("Firebase.Database", "8.2.0", "10.0", ComponentGroup.Firebase, csprojName: "Database"); +Artifact FIREBASE_DYNAMIC_LINKS_ARTIFACT = new Artifact ("Firebase.DynamicLinks", "8.2.0", "10.0", ComponentGroup.Firebase, csprojName: "DynamicLinks"); +Artifact FIREBASE_IN_APP_MESSAGING_ARTIFACT = new Artifact ("Firebase.InAppMessaging", "8.2.0", "10.0", ComponentGroup.Firebase, csprojName: "InAppMessaging"); +Artifact FIREBASE_INSTALLATIONS_ARTIFACT = new Artifact ("Firebase.Installations", "8.2.0", "10.0", ComponentGroup.Firebase, csprojName: "Installations"); +Artifact FIREBASE_PERFORMANCE_MONITORING_ARTIFACT = new Artifact ("Firebase.PerformanceMonitoring", "8.2.0", "10.0", ComponentGroup.Firebase, csprojName: "PerformanceMonitoring"); +Artifact FIREBASE_REMOTE_CONFIG_ARTIFACT = new Artifact ("Firebase.RemoteConfig", "8.2.0", "10.0", ComponentGroup.Firebase, csprojName: "RemoteConfig"); +Artifact FIREBASE_STORAGE_ARTIFACT = new Artifact ("Firebase.Storage", "8.2.0", "10.0", ComponentGroup.Firebase, csprojName: "Storage"); +//Artifact FIREBASE_APP_DISTRIBUTION_ARTIFACT = new Artifact ("Firebase.AppDistribution", "8.2.0", "10.0", ComponentGroup.Firebase, csprojName: "AppDistribution"); +//Artifact FIREBASE_APP_CHECK_ARTIFACT = new Artifact ("Firebase.AppCheck", "8.2.0", "11.0", ComponentGroup.Firebase, csprojName: "AppCheck"); // Google artifacts available to be built. These artifacts generate NuGets. -Artifact GOOGLE_ANALYTICS_ARTIFACT = new Artifact ("Google.Analytics", "3.17.0.6", "5.0", ComponentGroup.Google, csprojName: "Analytics"); -Artifact GOOGLE_APP_INDEXING_ARTIFACT = new Artifact ("Google.AppIndexing", "2.0.3.8", "7.0", ComponentGroup.Google, csprojName: "AppIndexing"); -Artifact GOOGLE_CAST_ARTIFACT = new Artifact ("Google.Cast", "4.4.6.1", "9.0", ComponentGroup.Google, csprojName: "Cast"); -Artifact GOOGLE_CORE_ARTIFACT = new Artifact ("Google.Core", "3.1.0.4", "7.0", ComponentGroup.Google, csprojName: "Core"); -Artifact GOOGLE_INSTANCE_ID_ARTIFACT = new Artifact ("Google.InstanceID", "1.2.1.18", "7.0", ComponentGroup.Google, csprojName: "InstanceID"); -Artifact GOOGLE_MAPS_ARTIFACT = new Artifact ("Google.Maps", "3.9.0.0", "9.0", ComponentGroup.Google, csprojName: "Maps"); -Artifact GOOGLE_MOBILE_ADS_ARTIFACT = new Artifact ("Google.MobileAds", "7.66.0", "9.0", ComponentGroup.Google, csprojName: "MobileAds"); -Artifact GOOGLE_PLACES_ARTIFACT = new Artifact ("Google.Places", "3.9.0.0", "9.0", ComponentGroup.Google, csprojName: "Places"); -Artifact GOOGLE_SIGN_IN_ARTIFACT = new Artifact ("Google.SignIn", "5.0.2.1", "8.0", ComponentGroup.Google, csprojName: "SignIn"); -Artifact GOOGLE_TAG_MANAGER_ARTIFACT = new Artifact ("Google.TagManager", "7.1.2.3", "8.0", ComponentGroup.Google, csprojName: "TagManager"); +Artifact GOOGLE_ANALYTICS_ARTIFACT = new Artifact ("Google.Analytics", "3.17.0.7", "5.0", ComponentGroup.Google, csprojName: "Analytics"); +Artifact GOOGLE_CAST_ARTIFACT = new Artifact ("Google.Cast", "4.6.1.0", "10.0", ComponentGroup.Google, csprojName: "Cast"); +Artifact GOOGLE_MAPS_ARTIFACT = new Artifact ("Google.Maps", "5.0.0.0", "10.0", ComponentGroup.Google, csprojName: "Maps"); +Artifact GOOGLE_MOBILE_ADS_ARTIFACT = new Artifact ("Google.MobileAds", "8.6.0.0", "10.0", ComponentGroup.Google, csprojName: "MobileAds"); +Artifact GOOGLE_UMP_ARTIFACT = new Artifact ("Google.UserMessagingPlatform", "1.1.0.0", "10.0", ComponentGroup.Google, csprojName: "UserMessagingPlatform"); +Artifact GOOGLE_PLACES_ARTIFACT = new Artifact ("Google.Places", "5.0.0.0", "10.0", ComponentGroup.Google, csprojName: "Places"); +Artifact GOOGLE_SIGN_IN_ARTIFACT = new Artifact ("Google.SignIn", "5.0.2.2", "10.0", ComponentGroup.Google, csprojName: "SignIn"); +Artifact GOOGLE_TAG_MANAGER_ARTIFACT = new Artifact ("Google.TagManager", "7.3.1.0", "10.0", ComponentGroup.Google, csprojName: "TagManager"); var ARTIFACTS = new Dictionary { { "Firebase.ABTesting", FIREBASE_AB_TESTING_ARTIFACT }, @@ -48,26 +42,20 @@ var ARTIFACTS = new Dictionary { { "Firebase.DynamicLinks", FIREBASE_DYNAMIC_LINKS_ARTIFACT }, { "Firebase.InAppMessaging", FIREBASE_IN_APP_MESSAGING_ARTIFACT }, { "Firebase.Installations", FIREBASE_INSTALLATIONS_ARTIFACT }, - { "Firebase.InstanceID", FIREBASE_INSTANCE_ID_ARTIFACT }, - { "Firebase.MLKit", FIREBASE_MLKIT_ARTIFACT }, - { "Firebase.MLKit.Common", FIREBASE_MLKIT_COMMON_ARTIFACT }, - { "Firebase.MLKit.ModelInterpreter", FIREBASE_MLKIT_MODEL_INTERPRETER_ARTIFACT }, - { "Firebase.MLKit.NaturalLanguage", FIREBASE_MLKIT_NATURAL_LANGUAGE_ARTIFACT }, - { "Firebase.MLKit.Vision", FIREBASE_MLKIT_VISION_ARTIFACT }, { "Firebase.PerformanceMonitoring", FIREBASE_PERFORMANCE_MONITORING_ARTIFACT }, { "Firebase.RemoteConfig", FIREBASE_REMOTE_CONFIG_ARTIFACT }, { "Firebase.Storage", FIREBASE_STORAGE_ARTIFACT }, + //{ "Firebase.AppDistribution", FIREBASE_APP_DISTRIBUTION_ARTIFACT }, + //{ "Firebase.AppCheck", FIREBASE_APP_CHECK_ARTIFACT }, - { "Google.Analytics", GOOGLE_ANALYTICS_ARTIFACT }, - { "Google.Appindexing", GOOGLE_APP_INDEXING_ARTIFACT }, - { "Google.Cast", GOOGLE_CAST_ARTIFACT }, - { "Google.Core", GOOGLE_CORE_ARTIFACT }, - { "Google.InstanceID", GOOGLE_INSTANCE_ID_ARTIFACT }, - { "Google.Maps", GOOGLE_MAPS_ARTIFACT }, - { "Google.MobileAds", GOOGLE_MOBILE_ADS_ARTIFACT }, - { "Google.Places", GOOGLE_PLACES_ARTIFACT }, - { "Google.SignIn", GOOGLE_SIGN_IN_ARTIFACT }, - { "Google.TagManager", GOOGLE_TAG_MANAGER_ARTIFACT }, + { "Google.Analytics", GOOGLE_ANALYTICS_ARTIFACT }, + { "Google.Cast", GOOGLE_CAST_ARTIFACT }, + { "Google.Maps", GOOGLE_MAPS_ARTIFACT }, + { "Google.MobileAds", GOOGLE_MOBILE_ADS_ARTIFACT }, + { "Google.UserMessagingPlatform", GOOGLE_UMP_ARTIFACT }, + { "Google.Places", GOOGLE_PLACES_ARTIFACT }, + { "Google.SignIn", GOOGLE_SIGN_IN_ARTIFACT }, + { "Google.TagManager", GOOGLE_TAG_MANAGER_ARTIFACT }, }; void SetArtifactsDependencies () @@ -78,156 +66,128 @@ void SetArtifactsDependencies () FIREBASE_AUTH_ARTIFACT.Dependencies = new [] { FIREBASE_CORE_ARTIFACT, /* Needed for sample */ GOOGLE_SIGN_IN_ARTIFACT }; FIREBASE_CLOUD_FIRESTORE_ARTIFACT.Dependencies = new [] { FIREBASE_CORE_ARTIFACT, /* Needed for sample */ FIREBASE_AUTH_ARTIFACT }; FIREBASE_CLOUD_FUNCTIONS_ARTIFACT.Dependencies = new [] { FIREBASE_CORE_ARTIFACT}; - FIREBASE_CLOUD_MESSAGING_ARTIFACT.Dependencies = new [] { FIREBASE_CORE_ARTIFACT, FIREBASE_INSTALLATIONS_ARTIFACT, FIREBASE_INSTANCE_ID_ARTIFACT }; + FIREBASE_CLOUD_MESSAGING_ARTIFACT.Dependencies = new [] { FIREBASE_CORE_ARTIFACT, FIREBASE_INSTALLATIONS_ARTIFACT }; FIREBASE_CORE_ARTIFACT.Dependencies = null; FIREBASE_CRASHLYTICS_ARTIFACT.Dependencies = new [] { FIREBASE_CORE_ARTIFACT, FIREBASE_INSTALLATIONS_ARTIFACT }; FIREBASE_DATABASE_ARTIFACT.Dependencies = new [] { FIREBASE_CORE_ARTIFACT, /* Needed for sample */ FIREBASE_AUTH_ARTIFACT }; FIREBASE_DYNAMIC_LINKS_ARTIFACT.Dependencies = new [] { FIREBASE_CORE_ARTIFACT }; FIREBASE_IN_APP_MESSAGING_ARTIFACT.Dependencies = new [] { FIREBASE_CORE_ARTIFACT, FIREBASE_INSTALLATIONS_ARTIFACT, FIREBASE_AB_TESTING_ARTIFACT }; FIREBASE_INSTALLATIONS_ARTIFACT.Dependencies = new [] { FIREBASE_CORE_ARTIFACT }; - FIREBASE_INSTANCE_ID_ARTIFACT.Dependencies = new [] { FIREBASE_CORE_ARTIFACT, FIREBASE_INSTALLATIONS_ARTIFACT }; - FIREBASE_MLKIT_ARTIFACT.Dependencies = new [] { FIREBASE_CORE_ARTIFACT, FIREBASE_INSTALLATIONS_ARTIFACT, FIREBASE_INSTANCE_ID_ARTIFACT, FIREBASE_AB_TESTING_ARTIFACT, FIREBASE_REMOTE_CONFIG_ARTIFACT, FIREBASE_MLKIT_COMMON_ARTIFACT, FIREBASE_MLKIT_MODEL_INTERPRETER_ARTIFACT, FIREBASE_MLKIT_NATURAL_LANGUAGE_ARTIFACT, FIREBASE_MLKIT_VISION_ARTIFACT }; - FIREBASE_MLKIT_COMMON_ARTIFACT.Dependencies = new [] { FIREBASE_CORE_ARTIFACT, FIREBASE_INSTALLATIONS_ARTIFACT, FIREBASE_INSTANCE_ID_ARTIFACT }; - FIREBASE_MLKIT_MODEL_INTERPRETER_ARTIFACT.Dependencies = new [] { FIREBASE_CORE_ARTIFACT, FIREBASE_INSTALLATIONS_ARTIFACT, FIREBASE_INSTANCE_ID_ARTIFACT, FIREBASE_MLKIT_COMMON_ARTIFACT }; - FIREBASE_MLKIT_NATURAL_LANGUAGE_ARTIFACT.Dependencies = new [] { FIREBASE_CORE_ARTIFACT, FIREBASE_INSTALLATIONS_ARTIFACT, FIREBASE_INSTANCE_ID_ARTIFACT, FIREBASE_MLKIT_COMMON_ARTIFACT, FIREBASE_AB_TESTING_ARTIFACT, FIREBASE_REMOTE_CONFIG_ARTIFACT }; - FIREBASE_MLKIT_VISION_ARTIFACT.Dependencies = new [] { FIREBASE_CORE_ARTIFACT, FIREBASE_INSTALLATIONS_ARTIFACT, FIREBASE_INSTANCE_ID_ARTIFACT, FIREBASE_MLKIT_COMMON_ARTIFACT }; - FIREBASE_PERFORMANCE_MONITORING_ARTIFACT.Dependencies = new [] { FIREBASE_CORE_ARTIFACT, FIREBASE_INSTALLATIONS_ARTIFACT, FIREBASE_INSTANCE_ID_ARTIFACT, FIREBASE_AB_TESTING_ARTIFACT, FIREBASE_REMOTE_CONFIG_ARTIFACT }; - FIREBASE_REMOTE_CONFIG_ARTIFACT.Dependencies = new [] { FIREBASE_CORE_ARTIFACT, FIREBASE_INSTALLATIONS_ARTIFACT, FIREBASE_INSTANCE_ID_ARTIFACT, FIREBASE_AB_TESTING_ARTIFACT }; + FIREBASE_PERFORMANCE_MONITORING_ARTIFACT.Dependencies = new [] { FIREBASE_CORE_ARTIFACT, FIREBASE_INSTALLATIONS_ARTIFACT, FIREBASE_AB_TESTING_ARTIFACT, FIREBASE_REMOTE_CONFIG_ARTIFACT }; + FIREBASE_REMOTE_CONFIG_ARTIFACT.Dependencies = new [] { FIREBASE_CORE_ARTIFACT, FIREBASE_INSTALLATIONS_ARTIFACT, FIREBASE_AB_TESTING_ARTIFACT }; FIREBASE_STORAGE_ARTIFACT.Dependencies = new [] { FIREBASE_CORE_ARTIFACT, FIREBASE_DATABASE_ARTIFACT, /* Needed for sample */ FIREBASE_AUTH_ARTIFACT }; + //FIREBASE_APP_DISTRIBUTION_ARTIFACT.Dependencies = new [] { FIREBASE_CORE_ARTIFACT, FIREBASE_INSTALLATIONS_ARTIFACT }; + //FIREBASE_APP_CHECK_ARTIFACT.Dependencies = new [] { FIREBASE_CORE_ARTIFACT }; GOOGLE_ANALYTICS_ARTIFACT.Dependencies = null; - GOOGLE_APP_INDEXING_ARTIFACT.Dependencies = null; GOOGLE_CAST_ARTIFACT.Dependencies = new [] { FIREBASE_CORE_ARTIFACT }; - GOOGLE_CORE_ARTIFACT.Dependencies = new [] { FIREBASE_CORE_ARTIFACT, FIREBASE_INSTANCE_ID_ARTIFACT, FIREBASE_ANALYTICS_ARTIFACT }; - GOOGLE_INSTANCE_ID_ARTIFACT.Dependencies = new [] { FIREBASE_CORE_ARTIFACT, FIREBASE_INSTANCE_ID_ARTIFACT, FIREBASE_ANALYTICS_ARTIFACT, GOOGLE_CORE_ARTIFACT }; GOOGLE_MAPS_ARTIFACT.Dependencies = null; GOOGLE_MOBILE_ADS_ARTIFACT.Dependencies = new [] { FIREBASE_CORE_ARTIFACT }; + GOOGLE_UMP_ARTIFACT.Dependencies = null; GOOGLE_PLACES_ARTIFACT.Dependencies = new [] { GOOGLE_MAPS_ARTIFACT }; GOOGLE_SIGN_IN_ARTIFACT.Dependencies = new [] { FIREBASE_CORE_ARTIFACT }; - GOOGLE_TAG_MANAGER_ARTIFACT.Dependencies = new [] { FIREBASE_CORE_ARTIFACT, FIREBASE_INSTALLATIONS_ARTIFACT, FIREBASE_INSTANCE_ID_ARTIFACT, FIREBASE_ANALYTICS_ARTIFACT, GOOGLE_ANALYTICS_ARTIFACT }; + GOOGLE_TAG_MANAGER_ARTIFACT.Dependencies = new [] { FIREBASE_CORE_ARTIFACT, FIREBASE_INSTALLATIONS_ARTIFACT, FIREBASE_ANALYTICS_ARTIFACT }; } void SetArtifactsPodSpecs () { // Firebase components FIREBASE_AB_TESTING_ARTIFACT.PodSpecs = new [] { - PodSpec.Create ("Firebase", "6.34.0", frameworkSource: FrameworkSource.Pods, frameworkName: "FirebaseABTesting", targetName: "FirebaseABTesting", subSpecs: new [] { "ABTesting" }) + PodSpec.Create ("Firebase", "8.2.0", frameworkSource: FrameworkSource.Pods, frameworkName: "FirebaseABTesting", targetName: "FirebaseABTesting", subSpecs: new [] { "ABTesting" }) }; FIREBASE_AD_MOB_ARTIFACT.PodSpecs = new [] { - PodSpec.Create ("Firebase", "6.34.0", subSpecs: new [] { "AdMob" }) + PodSpec.Create ("Firebase", "8.2.0", subSpecs: new [] { "AdMob" }) }; FIREBASE_ANALYTICS_ARTIFACT.PodSpecs = new [] { - PodSpec.Create ("Firebase", "6.34.0", subSpecs: new [] { "Analytics" }) + PodSpec.Create ("Firebase", "8.2.0", subSpecs: new [] { "Analytics" }) }; FIREBASE_AUTH_ARTIFACT.PodSpecs = new [] { - PodSpec.Create ("Firebase", "6.34.0", frameworkSource: FrameworkSource.Pods, frameworkName: "FirebaseAuth", targetName: "FirebaseAuth", subSpecs: new [] { "Auth" }) + PodSpec.Create ("Firebase", "8.2.0", frameworkSource: FrameworkSource.Pods, frameworkName: "FirebaseAuth", targetName: "FirebaseAuth", subSpecs: new [] { "Auth" }) }; FIREBASE_CLOUD_FIRESTORE_ARTIFACT.PodSpecs = new [] { - PodSpec.Create ("Firebase", "6.34.0", frameworkSource: FrameworkSource.Pods, frameworkName: "FirebaseFirestore", targetName: "FirebaseFirestore", subSpecs: new [] { "Firestore" }), + PodSpec.Create ("Firebase", "8.2.0", frameworkSource: FrameworkSource.Pods, frameworkName: "FirebaseFirestore", targetName: "FirebaseFirestore", subSpecs: new [] { "Firestore" }), PodSpec.Create ("BoringSSL-GRPC", "0.0.7", frameworkSource: FrameworkSource.Pods, frameworkName: "openssl_grpc"), PodSpec.Create ("gRPC-Core", "1.28.2", frameworkSource: FrameworkSource.Pods, frameworkName: "grpc"), PodSpec.Create ("gRPC-C++", "1.28.2", frameworkSource: FrameworkSource.Pods, frameworkName: "grpcpp"), PodSpec.Create ("abseil", "0.20200225.0", frameworkSource: FrameworkSource.Pods, frameworkName: "absl", subSpecs: new [] { "algorithm", "base", "memory", "meta", "strings", "time", "types" }) }; FIREBASE_CLOUD_FUNCTIONS_ARTIFACT.PodSpecs = new [] { - PodSpec.Create ("Firebase", "6.34.0", frameworkSource: FrameworkSource.Pods, frameworkName: "FirebaseFunctions", targetName: "FirebaseFunctions", subSpecs: new [] { "Functions" }) + PodSpec.Create ("Firebase", "8.2.0", frameworkSource: FrameworkSource.Pods, frameworkName: "FirebaseFunctions", targetName: "FirebaseFunctions", subSpecs: new [] { "Functions" }) }; FIREBASE_CLOUD_MESSAGING_ARTIFACT.PodSpecs = new [] { - PodSpec.Create ("Firebase", "6.34.0", frameworkSource: FrameworkSource.Pods, frameworkName: "FirebaseMessaging", targetName: "FirebaseMessaging", subSpecs: new [] { "Messaging" }) + PodSpec.Create ("Firebase", "8.2.0", frameworkSource: FrameworkSource.Pods, frameworkName: "FirebaseMessaging", targetName: "FirebaseMessaging", subSpecs: new [] { "Messaging" }) }; FIREBASE_CORE_ARTIFACT.PodSpecs = new [] { - PodSpec.Create ("Firebase", "6.34.0", frameworkSource: FrameworkSource.Pods, frameworkName: "FirebaseCore", targetName: "FirebaseCore", subSpecs: new [] { "CoreOnly" }), - PodSpec.Create ("FirebaseCoreDiagnostics", "1.6.0", frameworkSource: FrameworkSource.Pods), - PodSpec.Create ("GTMSessionFetcher", "1.4.0", frameworkSource: FrameworkSource.Pods, subSpecs: new [] { "Full" }), - PodSpec.Create ("GoogleAPIClientForREST", "1.4.3", frameworkSource: FrameworkSource.Pods, subSpecs: new [] { "Vision" }, useDefaultSubspecs: true), - PodSpec.Create ("GoogleAppMeasurement", "6.9.0"), - PodSpec.Create ("GoogleDataTransport", "7.5.1", frameworkSource: FrameworkSource.Pods), - PodSpec.Create ("PromisesObjC", "1.2.10", frameworkSource: FrameworkSource.Pods, frameworkName: "FBLPromises", targetName: "PromisesObjC"), - PodSpec.Create ("GoogleToolboxForMac", "2.2.2", frameworkSource: FrameworkSource.Pods, subSpecs: new [] { "NSData+zlib", "NSDictionary+URLArguments", "Logger", "StringEncoding", "URLBuilder" }), - PodSpec.Create ("GoogleUtilities", "6.7.2", frameworkSource: FrameworkSource.Pods, subSpecs: new [] { "AppDelegateSwizzler", "Environment", "Logger", "ISASwizzler", "MethodSwizzler", "Network", "NSData+zlib", "Reachability", "UserDefaults", }), - PodSpec.Create ("nanopb", "1.30906.0", frameworkSource: FrameworkSource.Pods), - PodSpec.Create ("leveldb-library", "1.22.0", frameworkSource: FrameworkSource.Pods, frameworkName: "leveldb"), - PodSpec.Create ("Protobuf", "3.13.0", frameworkSource: FrameworkSource.Pods, frameworkName: "Protobuf") + PodSpec.Create ("Firebase", "8.2.0", frameworkSource: FrameworkSource.Pods, frameworkName: "FirebaseCore", targetName: "FirebaseCore", subSpecs: new [] { "CoreOnly" }), + PodSpec.Create ("FirebaseCoreDiagnostics", "8.2.0", frameworkSource: FrameworkSource.Pods), + PodSpec.Create ("GTMSessionFetcher", "1.5.0", frameworkSource: FrameworkSource.Pods, subSpecs: new [] { "Full" }), + PodSpec.Create ("GoogleAPIClientForREST", "1.5.2", frameworkSource: FrameworkSource.Pods, subSpecs: new [] { "Vision" }, useDefaultSubspecs: true), + PodSpec.Create ("GoogleAppMeasurement", "8.2.0"), + PodSpec.Create ("GoogleDataTransport", "9.0.1", frameworkSource: FrameworkSource.Pods), + PodSpec.Create ("PromisesObjC", "1.2.12", frameworkSource: FrameworkSource.Pods, frameworkName: "FBLPromises", targetName: "PromisesObjC"), + PodSpec.Create ("GoogleToolboxForMac", "2.3.1", frameworkSource: FrameworkSource.Pods, subSpecs: new [] { "NSData+zlib", "NSDictionary+URLArguments", "Logger", "StringEncoding", "URLBuilder" }), + PodSpec.Create ("GoogleUtilities", "7.4.1", frameworkSource: FrameworkSource.Pods, subSpecs: new [] { "AppDelegateSwizzler", "Environment", "Logger", "ISASwizzler", "MethodSwizzler", "Network", "NSData+zlib", "Reachability", "UserDefaults", }), + PodSpec.Create ("nanopb", "2.30908.0", frameworkSource: FrameworkSource.Pods), + PodSpec.Create ("leveldb-library", "1.22.1", frameworkSource: FrameworkSource.Pods, frameworkName: "leveldb"), + PodSpec.Create ("Protobuf", "3.15.8", frameworkSource: FrameworkSource.Pods, frameworkName: "Protobuf") }; FIREBASE_CRASHLYTICS_ARTIFACT.PodSpecs = new [] { - PodSpec.Create ("Firebase", "6.34.0", frameworkSource: FrameworkSource.Pods, frameworkName: "FirebaseCrashlytics", targetName: "FirebaseCrashlytics", subSpecs: new [] { "Crashlytics" }) + PodSpec.Create ("Firebase", "8.2.0", frameworkSource: FrameworkSource.Pods, frameworkName: "FirebaseCrashlytics", targetName: "FirebaseCrashlytics", subSpecs: new [] { "Crashlytics" }) }; FIREBASE_DATABASE_ARTIFACT.PodSpecs = new [] { - PodSpec.Create ("Firebase", "6.34.0", frameworkSource: FrameworkSource.Pods, frameworkName: "FirebaseDatabase", targetName: "FirebaseDatabase", subSpecs: new [] { "Database" }) + PodSpec.Create ("Firebase", "8.2.0", frameworkSource: FrameworkSource.Pods, frameworkName: "FirebaseDatabase", targetName: "FirebaseDatabase", subSpecs: new [] { "Database" }) }; FIREBASE_DYNAMIC_LINKS_ARTIFACT.PodSpecs = new [] { - PodSpec.Create ("Firebase", "6.34.0", frameworkSource: FrameworkSource.Pods, frameworkName: "FirebaseDynamicLinks", targetName: "FirebaseDynamicLinks", subSpecs: new [] { "DynamicLinks" }) + PodSpec.Create ("Firebase", "8.2.0", frameworkSource: FrameworkSource.Pods, frameworkName: "FirebaseDynamicLinks", targetName: "FirebaseDynamicLinks", subSpecs: new [] { "DynamicLinks" }) }; FIREBASE_IN_APP_MESSAGING_ARTIFACT.PodSpecs = new [] { - PodSpec.Create ("Firebase", "6.34.0", frameworkSource: FrameworkSource.Pods, frameworkName: "FirebaseInAppMessaging", targetName: "FirebaseInAppMessaging", subSpecs: new [] { "InAppMessaging" }) + PodSpec.Create ("Firebase", "8.2.0", frameworkSource: FrameworkSource.Pods, frameworkName: "FirebaseInAppMessaging", targetName: "FirebaseInAppMessaging", subSpecs: new [] { "InAppMessaging" }) }; FIREBASE_INSTALLATIONS_ARTIFACT.PodSpecs = new [] { - PodSpec.Create ("FirebaseInstallations", "1.7.0", frameworkSource: FrameworkSource.Pods) - }; - FIREBASE_INSTANCE_ID_ARTIFACT.PodSpecs = new [] { - PodSpec.Create ("FirebaseInstanceID", "4.8.0", frameworkSource: FrameworkSource.Pods) - }; - FIREBASE_MLKIT_ARTIFACT.PodSpecs = new [] { - PodSpec.Create ("Firebase", "6.34.0", subSpecs: new [] { "MLCommon", "MLModelInterpreter", "MLNaturalLanguage", "MLVision" }) - }; - FIREBASE_MLKIT_COMMON_ARTIFACT.PodSpecs = new [] { - PodSpec.Create ("Firebase", "6.34.0", subSpecs: new [] { "MLCommon" }), - PodSpec.Create ("TensorFlowLiteObjC", "2.3.0", frameworkSource: FrameworkSource.Pods, frameworkName: "TFLTensorFlowLite", targetName: "TensorFlowLiteObjC"), - PodSpec.Create ("TensorFlowLiteC", "2.3.0") - }; - FIREBASE_MLKIT_MODEL_INTERPRETER_ARTIFACT.PodSpecs = new [] { - PodSpec.Create ("Firebase", "6.34.0", subSpecs: new [] { "MLModelInterpreter" }) - }; - FIREBASE_MLKIT_NATURAL_LANGUAGE_ARTIFACT.PodSpecs = new [] { - PodSpec.Create ("Firebase", "6.34.0", subSpecs: new [] { "MLNaturalLanguage", "MLNLLanguageID", "MLNLSmartReply", "MLNLTranslate" }) - }; - FIREBASE_MLKIT_VISION_ARTIFACT.PodSpecs = new [] { - PodSpec.Create ("Firebase", "6.34.0", subSpecs: new [] { "MLVision", "MLVisionAutoML", "MLVisionBarcodeModel", "MLVisionFaceModel", "MLVisionLabelModel", "MLVisionTextModel", "MLVisionObjectDetection" }) + PodSpec.Create ("FirebaseInstallations", "8.2.0", frameworkSource: FrameworkSource.Pods) }; FIREBASE_PERFORMANCE_MONITORING_ARTIFACT.PodSpecs = new [] { - PodSpec.Create ("Firebase", "6.34.0", subSpecs: new [] { "Performance" }) + PodSpec.Create ("Firebase", "8.2.0", frameworkSource: FrameworkSource.Pods, frameworkName: "FirebasePerformance", targetName: "FirebasePerformance", subSpecs: new [] { "Performance" }) }; FIREBASE_REMOTE_CONFIG_ARTIFACT.PodSpecs = new [] { - PodSpec.Create ("Firebase", "6.34.0", frameworkSource: FrameworkSource.Pods, frameworkName: "FirebaseRemoteConfig", targetName: "FirebaseRemoteConfig", subSpecs: new [] { "RemoteConfig" }) + PodSpec.Create ("Firebase", "8.2.0", frameworkSource: FrameworkSource.Pods, frameworkName: "FirebaseRemoteConfig", targetName: "FirebaseRemoteConfig", subSpecs: new [] { "RemoteConfig" }) }; FIREBASE_STORAGE_ARTIFACT.PodSpecs = new [] { - PodSpec.Create ("Firebase", "6.34.0", frameworkSource: FrameworkSource.Pods, frameworkName: "FirebaseStorage", targetName: "FirebaseStorage", subSpecs: new [] { "Storage" }) - }; + PodSpec.Create ("Firebase", "8.2.0", frameworkSource: FrameworkSource.Pods, frameworkName: "FirebaseStorage", targetName: "FirebaseStorage", subSpecs: new [] { "Storage" }) + }; + //FIREBASE_APP_DISTRIBUTION_ARTIFACT.PodSpecs = new [] { + // PodSpec.Create ("Firebase", "8.2.0", frameworkSource: FrameworkSource.Pods, frameworkName: "FirebaseAppDistribution", targetName: "FirebaseAppDistribution", subSpecs: new [] { "AppDistribution" }) + //}; + //FIREBASE_APP_CHECK_ARTIFACT.PodSpecs = new [] { + // PodSpec.Create ("Firebase", "8.2.0", frameworkSource: FrameworkSource.Pods, frameworkName: "FirebaseAppCheck", targetName: "FirebaseAppCheck", subSpecs: new [] { "AppCheck" }) + //}; // Google components GOOGLE_ANALYTICS_ARTIFACT.PodSpecs = new [] { PodSpec.Create ("GoogleAnalytics", "3.17.0") }; - GOOGLE_APP_INDEXING_ARTIFACT.PodSpecs = new [] { - PodSpec.Create ("GoogleAppIndexing", "2.0.3") - }; GOOGLE_CAST_ARTIFACT.PodSpecs = new [] { - PodSpec.Create ("google-cast-sdk", "4.4.5") - }; - GOOGLE_CORE_ARTIFACT.PodSpecs = new [] { - PodSpec.Create ("Google", "3.1.0", subSpecs: new [] { "Core" }) - }; - GOOGLE_INSTANCE_ID_ARTIFACT.PodSpecs = new [] { - PodSpec.Create ("GGLInstanceID", "1.2.1"), - PodSpec.Create ("GoogleIPhoneUtilities", "1.2.0") + PodSpec.Create ("google-cast-sdk", "4.6.1") }; GOOGLE_MAPS_ARTIFACT.PodSpecs = new [] { - PodSpec.Create ("GoogleMaps", "3.9.0") + PodSpec.Create ("GoogleMaps", "5.0.0") }; GOOGLE_MOBILE_ADS_ARTIFACT.PodSpecs = new [] { - PodSpec.Create ("Google-Mobile-Ads-SDK", "7.66.0"), + PodSpec.Create ("Google-Mobile-Ads-SDK", "8.5.0") + }; + GOOGLE_UMP_ARTIFACT.PodSpecs = new [] { PodSpec.Create ("GoogleUserMessagingPlatform", "1.1.0") }; GOOGLE_PLACES_ARTIFACT.PodSpecs = new [] { - PodSpec.Create ("GooglePlaces", "3.9.0") + PodSpec.Create ("GooglePlaces", "5.0.0") }; GOOGLE_SIGN_IN_ARTIFACT.PodSpecs = new [] { PodSpec.Create ("GoogleSignIn", "5.0.2"), - PodSpec.Create ("AppAuth", "1.3.0", frameworkSource: FrameworkSource.Pods), - PodSpec.Create ("GTMAppAuth", "1.0.0", frameworkSource: FrameworkSource.Pods), + PodSpec.Create ("AppAuth", "1.4.0", frameworkSource: FrameworkSource.Pods), + PodSpec.Create ("GTMAppAuth", "1.2.1", frameworkSource: FrameworkSource.Pods), }; GOOGLE_TAG_MANAGER_ARTIFACT.PodSpecs = new [] { - PodSpec.Create ("GoogleTagManager", "7.1.2") + PodSpec.Create ("GoogleTagManager", "7.3.1") }; } @@ -265,10 +225,12 @@ void SetArtifactsExtraPodfileLines () FIREBASE_DATABASE_ARTIFACT.ExtraPodfileLines = dynamicFrameworkLines; FIREBASE_DYNAMIC_LINKS_ARTIFACT.ExtraPodfileLines = dynamicFrameworkLines; FIREBASE_INSTALLATIONS_ARTIFACT.ExtraPodfileLines = dynamicFrameworkLines; - FIREBASE_INSTANCE_ID_ARTIFACT.ExtraPodfileLines = dynamicFrameworkLines; + FIREBASE_PERFORMANCE_MONITORING_ARTIFACT.ExtraPodfileLines = dynamicFrameworkLines; FIREBASE_REMOTE_CONFIG_ARTIFACT.ExtraPodfileLines = dynamicFrameworkLines; FIREBASE_STORAGE_ARTIFACT.ExtraPodfileLines = dynamicFrameworkLines; - + //FIREBASE_APP_DISTRIBUTION_ARTIFACT.ExtraPodfileLines = dynamicFrameworkLines; + //FIREBASE_APP_CHECK_ARTIFACT.ExtraPodfileLines = dynamicFrameworkLines; + var inAppMessagingWorkaround = new [] { "post_install do |installer|", "\tinstaller.pods_project.targets.each do |pod|", @@ -306,22 +268,15 @@ void SetArtifactsSamples () FIREBASE_DYNAMIC_LINKS_ARTIFACT.Samples = new [] { "DynamicLinksSample" }; FIREBASE_IN_APP_MESSAGING_ARTIFACT.Samples = new [] { "InAppMessagingSample" }; FIREBASE_INSTALLATIONS_ARTIFACT.Samples = null; - FIREBASE_INSTANCE_ID_ARTIFACT.Samples = null; - FIREBASE_MLKIT_ARTIFACT.Samples = new [] { "MLKitSample" }; - FIREBASE_MLKIT_COMMON_ARTIFACT.Samples = null; - FIREBASE_MLKIT_MODEL_INTERPRETER_ARTIFACT.Samples = new [] { "ModelInterpreterSample" }; - FIREBASE_MLKIT_NATURAL_LANGUAGE_ARTIFACT.Samples = new [] { "NaturalLanguageSample" }; - FIREBASE_MLKIT_VISION_ARTIFACT.Samples = new [] { "MLKitVisionSample" }; FIREBASE_PERFORMANCE_MONITORING_ARTIFACT.Samples = new [] { "PerformanceMonitoringSample" }; FIREBASE_REMOTE_CONFIG_ARTIFACT.Samples = new [] { "RemoteConfigSample" }; FIREBASE_STORAGE_ARTIFACT.Samples = new [] { "StorageSample" }; + //FIREBASE_APP_DISTRIBUTION_ARTIFACT.Samples = new [] { "AppDistributionSample" }; + //FIREBASE_APP_CHECK_ARTIFACT.Samples = new [] { "AppCheckSample" }; // Google components GOOGLE_ANALYTICS_ARTIFACT.Samples = new [] { "CuteAnimalsiOS" }; - GOOGLE_APP_INDEXING_ARTIFACT.Samples = new [] { "AppIndexingSample" }; GOOGLE_CAST_ARTIFACT.Samples = new [] { "CastSample" }; - GOOGLE_CORE_ARTIFACT.Samples = null; - GOOGLE_INSTANCE_ID_ARTIFACT.Samples = new [] { "InstanceIDSample" }; GOOGLE_MAPS_ARTIFACT.Samples = new [] { "GoogleMapsAdvSample", "GoogleMapsSample" }; GOOGLE_MOBILE_ADS_ARTIFACT.Samples = new [] { "MobileAdsExample" }; GOOGLE_PLACES_ARTIFACT.Samples = new [] { "GooglePlacesSample" }; diff --git a/samples/Firebase/AdMob/AdMobSample/AdsViewController.cs b/samples/Firebase/AdMob/AdMobSample/AdsViewController.cs index ad835d3b8..301381508 100644 --- a/samples/Firebase/AdMob/AdMobSample/AdsViewController.cs +++ b/samples/Firebase/AdMob/AdMobSample/AdsViewController.cs @@ -7,14 +7,14 @@ using CoreGraphics; using Google.MobileAds; +using Foundation; namespace AdMobSample { - public class AdsViewController : DialogViewController - { + public class AdsViewController : DialogViewController { BannerView adViewTableView; BannerView adViewWindow; - Interstitial adInterstitial; + InterstitialAd adInterstitial; bool adOnTable; bool adOnWindow; @@ -46,9 +46,10 @@ void AddToTableView () if (adViewTableView == null) { // Setup your BannerView, review AdSizeCons class for more Ad sizes. adViewTableView = new BannerView (size: AdSizeCons.SmartBannerPortrait) { - AdUnitId = AdMobConstants.BannerId, + RootViewController = NavigationController }; + adViewTableView.AdUnitId = AdMobConstants.BannerId; // Wire AdReceived event to know when the Ad is ready to be displayed adViewTableView.AdReceived += (object sender, EventArgs e) => { @@ -85,10 +86,10 @@ void AddToWindow () // Setup your GADBannerView, review AdSizeCons class for more Ad sizes. adViewWindow = new BannerView (size: AdSizeCons.SmartBannerPortrait, origin: new CGPoint (0, UIScreen.MainScreen.Bounds.Size.Height - AdSizeCons.Banner.Size.Height)) { - AdUnitId = AdMobConstants.BannerId, + RootViewController = NavigationController }; - + adViewWindow.AdUnitId = AdMobConstants.BannerId; // Wire AdReceived event to know when the Ad is ready to be displayed adViewWindow.AdReceived += (object sender, EventArgs e) => { if (!adOnWindow) { @@ -119,24 +120,29 @@ void RemoveAdFromWindow () void AddToView () { - if (!adInterstitial.IsReady) - return; + if (adInterstitial?.CanPresent (NavigationController, out _) == true) { + adInterstitial.DismissedContent += (sender, args) => { + // Interstitial is a one time use object. That means once an interstitial is shown, HasBeenUsed + // returns true and the interstitial can't be used to load another ad. + // To request another interstitial, you'll need to create a new Interstitial object. + adInterstitial.Dispose (); + adInterstitial = null; + CreateAndRequestInterstitial (); + }; - adInterstitial.Present (NavigationController); + adInterstitial.Present (NavigationController); + } } void CreateAndRequestInterstitial () { - adInterstitial = new Interstitial (AdMobConstants.IntersitialId); - adInterstitial.ScreenDismissed += (sender, e) => { - // Interstitial is a one time use object. That means once an interstitial is shown, HasBeenUsed - // returns true and the interstitial can't be used to load another ad. - // To request another interstitial, you'll need to create a new Interstitial object. - adInterstitial.Dispose (); - adInterstitial = null; - CreateAndRequestInterstitial (); - }; - adInterstitial.LoadRequest (GetRequest ()); + if (adInterstitial == null) { + InterstitialAd.Load (AdMobConstants.IntersitialId, GetRequest (), (ad, err) => { + if (ad != null) { + adInterstitial = ad; + } + }); + } } Request GetRequest () @@ -144,5 +150,5 @@ Request GetRequest () var request = Request.GetDefaultRequest (); return request; } - } + } } diff --git a/samples/Firebase/CloudMessaging/CloudMessagingSample/AppDelegate.cs b/samples/Firebase/CloudMessaging/CloudMessagingSample/AppDelegate.cs index c7b079245..38e93e337 100644 --- a/samples/Firebase/CloudMessaging/CloudMessagingSample/AppDelegate.cs +++ b/samples/Firebase/CloudMessaging/CloudMessagingSample/AppDelegate.cs @@ -2,7 +2,6 @@ using UIKit; using UserNotifications; -using Firebase.InstanceID; using Firebase.Core; using Firebase.CloudMessaging; using System; @@ -53,21 +52,9 @@ public override bool FinishedLaunching (UIApplication application, NSDictionary Messaging.SharedInstance.Delegate = this; - InstanceId.SharedInstance.GetInstanceId (InstanceIdResultHandler); - return true; } - void InstanceIdResultHandler (InstanceIdResult result, NSError error) - { - if (error != null) { - LogInformation (nameof (InstanceIdResultHandler), $"Error: {error.LocalizedDescription}"); - return; - } - - LogInformation (nameof (InstanceIdResultHandler), $"Remote Instance Id token: {result.Token}"); - } - [Export ("messaging:didReceiveRegistrationToken:")] public void DidReceiveRegistrationToken (Messaging messaging, string fcmToken) { @@ -105,15 +92,6 @@ public override void DidReceiveRemoteNotification (UIApplication application, NS completionHandler (UIBackgroundFetchResult.NewData); } - [Export ("messaging:didReceiveMessage:")] - public void DidReceiveMessage (Messaging messaging, RemoteMessage remoteMessage) - { - // Handle Data messages for iOS 10 and above. - HandleMessage (remoteMessage.AppData); - - LogInformation (nameof (DidReceiveMessage), remoteMessage.AppData); - } - void HandleMessage (NSDictionary message) { if (MessageReceived == null) diff --git a/samples/Firebase/CloudMessaging/CloudMessagingSample/CloudMessagingSample.csproj b/samples/Firebase/CloudMessaging/CloudMessagingSample/CloudMessagingSample.csproj index b9f7acd60..dc316e50c 100644 --- a/samples/Firebase/CloudMessaging/CloudMessagingSample/CloudMessagingSample.csproj +++ b/samples/Firebase/CloudMessaging/CloudMessagingSample/CloudMessagingSample.csproj @@ -130,10 +130,6 @@ {9335A59B-3B54-4ED5-8201-B68CFD05CAFB} Core - - {754D8F56-C3DB-4E33-91D5-45445AB286EF} - InstanceID - {65ACD945-5A8A-419D-B9FB-8DFD03C532F4} Installations diff --git a/samples/Firebase/PerformanceMonitoring/PerformanceMonitoringSample/AppDelegate.cs b/samples/Firebase/PerformanceMonitoring/PerformanceMonitoringSample/AppDelegate.cs index 2397e9671..7c5f667a4 100644 --- a/samples/Firebase/PerformanceMonitoring/PerformanceMonitoringSample/AppDelegate.cs +++ b/samples/Firebase/PerformanceMonitoring/PerformanceMonitoringSample/AppDelegate.cs @@ -26,6 +26,9 @@ public override bool FinishedLaunching (UIApplication application, NSDictionary // Override point for customization after application launch. // If not required for your application you can safely delete this method + // Use Firebase library to configure APIs + App.Configure (); + var navigationController = Window.RootViewController as UINavigationController; if (UIDevice.CurrentDevice.CheckSystemVersion (11, 0)) @@ -58,9 +61,6 @@ public override bool FinishedLaunching (UIApplication application, NSDictionary // The following line enables/disables custom traces Performance.SharedInstance.DataCollectionEnabled = isPerformanceMonitoringDataCollectionEnabled; - // Use Firebase library to configure APIs - App.Configure (); - return true; } diff --git a/samples/Firebase/PerformanceMonitoring/PerformanceMonitoringSample/Controllers/SettingsTableViewController.cs b/samples/Firebase/PerformanceMonitoring/PerformanceMonitoringSample/Controllers/SettingsTableViewController.cs index cf6ad15c1..7419f07fc 100644 --- a/samples/Firebase/PerformanceMonitoring/PerformanceMonitoringSample/Controllers/SettingsTableViewController.cs +++ b/samples/Firebase/PerformanceMonitoring/PerformanceMonitoringSample/Controllers/SettingsTableViewController.cs @@ -92,7 +92,7 @@ void HandleRemoteConfigFetchCompletionHandler (RemoteConfigFetchStatus status, N void OkAction () { - remoteConfig.ActivateFetched (); + remoteConfig.Activate (); var indexPaths = TableView.IndexPathsForVisibleRows; foreach (var indexPath in indexPaths) { diff --git a/samples/Firebase/PerformanceMonitoring/PerformanceMonitoringSample/PerformanceMonitoringSample.csproj b/samples/Firebase/PerformanceMonitoring/PerformanceMonitoringSample/PerformanceMonitoringSample.csproj index d2857c963..00874d25a 100644 --- a/samples/Firebase/PerformanceMonitoring/PerformanceMonitoringSample/PerformanceMonitoringSample.csproj +++ b/samples/Firebase/PerformanceMonitoring/PerformanceMonitoringSample/PerformanceMonitoringSample.csproj @@ -151,10 +151,6 @@ {9335A59B-3B54-4ED5-8201-B68CFD05CAFB} Core - - {754D8F56-C3DB-4E33-91D5-45445AB286EF} - InstanceID - {3ECC9FBF-72BB-48E4-B454-56194A422B3A} PerformanceMonitoring @@ -174,7 +170,6 @@ - diff --git a/samples/Firebase/RemoteConfig/RemoteConfigSample/RemoteConfigSample.csproj b/samples/Firebase/RemoteConfig/RemoteConfigSample/RemoteConfigSample.csproj index e83e764d4..0249aba0d 100644 --- a/samples/Firebase/RemoteConfig/RemoteConfigSample/RemoteConfigSample.csproj +++ b/samples/Firebase/RemoteConfig/RemoteConfigSample/RemoteConfigSample.csproj @@ -127,10 +127,6 @@ {9335A59B-3B54-4ED5-8201-B68CFD05CAFB} Core - - {754D8F56-C3DB-4E33-91D5-45445AB286EF} - InstanceID - {2FC178FA-114D-4A51-A3DF-5EA10E2C71C4} RemoteConfig diff --git a/samples/Google/Maps/GoogleMapsAdvSample/AppDelegate.cs b/samples/Google/Maps/GoogleMapsAdvSample/AppDelegate.cs index 746a9f270..24b12421c 100644 --- a/samples/Google/Maps/GoogleMapsAdvSample/AppDelegate.cs +++ b/samples/Google/Maps/GoogleMapsAdvSample/AppDelegate.cs @@ -31,7 +31,7 @@ public partial class AppDelegate : UIApplicationDelegate // public override bool FinishedLaunching (UIApplication application, NSDictionary launchOptions) { - MapServices.ProvideAPIKey (MapsApiKey); + MapServices.ProvideApiKey (MapsApiKey); window = new UIWindow (UIScreen.MainScreen.Bounds); diff --git a/samples/Google/Maps/GoogleMapsSample/AppDelegate.cs b/samples/Google/Maps/GoogleMapsSample/AppDelegate.cs index a193e187e..19934549a 100644 --- a/samples/Google/Maps/GoogleMapsSample/AppDelegate.cs +++ b/samples/Google/Maps/GoogleMapsSample/AppDelegate.cs @@ -16,7 +16,7 @@ public partial class AppDelegate : UIApplicationDelegate public override bool FinishedLaunching (UIApplication application, NSDictionary launchOptions) { - MapServices.ProvideAPIKey (""); + MapServices.ProvideApiKey (""); window = new UIWindow (UIScreen.MainScreen.Bounds) { RootViewController = new MapViewController () diff --git a/samples/Google/MobileAds/MobileAdsExample/AppDelegate.cs b/samples/Google/MobileAds/MobileAdsExample/AppDelegate.cs index 9d3d28047..c87ef783e 100644 --- a/samples/Google/MobileAds/MobileAdsExample/AppDelegate.cs +++ b/samples/Google/MobileAds/MobileAdsExample/AppDelegate.cs @@ -26,7 +26,7 @@ public partial class AppDelegate : UIApplicationDelegate BannerView adViewTableView; BannerView adViewWindow; - Interstitial adInterstitial; + InterstitialAd adInterstitial; bool adOnTable = false; bool adOnWindow = false; @@ -75,9 +75,9 @@ void AddToTableView () // Setup your BannerView, review AdSizeCons class for more Ad sizes. adViewTableView = new BannerView (size: AdSizeCons.Banner, origin: new CGPoint (-10, 0)) { - AdUnitID = bannerId, RootViewController = navController }; + adViewTableView.AdUnitId = bannerId; // Wire AdReceived event to know when the Ad is ready to be displayed adViewTableView.AdReceived += (object sender, EventArgs e) => { @@ -114,9 +114,9 @@ void AddToWindow () // Setup your GADBannerView, review AdSizeCons class for more Ad sizes. adViewWindow = new BannerView (size: AdSizeCons.Banner, origin: new CGPoint (0, window.Bounds.Size.Height - AdSizeCons.Banner.Size.Height)) { - AdUnitID = bannerId, RootViewController = navController }; + adViewWindow.AdUnitId = bannerId; // Wire AdReceived event to know when the Ad is ready to be displayed adViewWindow.AdReceived += (object sender, EventArgs e) => { @@ -152,35 +152,27 @@ void AddToView () return; if (adInterstitial == null) { - adInterstitial = new Interstitial (intersitialId); - - adInterstitial.ScreenDismissed += (sender, e) => { - interstitialRequested = false; - - // You need to explicitly Dispose Interstitial when you dont need it anymore - // to avoid crashes if pending request are in progress - adInterstitial.Dispose (); - adInterstitial = null; - }; - } + InterstitialAd.Load (intersitialId, Request.GetDefaultRequest (), (ad, err) => { + if (ad != null) { + adInterstitial = ad; - interstitialRequested = true; - adInterstitial.LoadRequest (Request.GetDefaultRequest ()); + adInterstitial.DismissedContent += (sender, e) => { + interstitialRequested = false; - ShowInterstitial (); - } - - async void ShowInterstitial () - { - // We need to wait until the Intersitial is ready to show - do { - await Task.Delay (100); - } while (!adInterstitial.IsReady); + // You need to explicitly Dispose Interstitial when you dont need it anymore + // to avoid crashes if pending request are in progress + adInterstitial.Dispose (); + adInterstitial = null; + }; - // Once is ready, show it - InvokeOnMainThread (() => adInterstitial.PresentFromRootViewController (navController)); + adInterstitial.Present (navController); + } + else { + interstitialRequested = false; + } + }); + } } - } } diff --git a/samples/Google/Places/GooglePlacesSample/AppDelegate.cs b/samples/Google/Places/GooglePlacesSample/AppDelegate.cs index 84c181d89..b9777c54e 100644 --- a/samples/Google/Places/GooglePlacesSample/AppDelegate.cs +++ b/samples/Google/Places/GooglePlacesSample/AppDelegate.cs @@ -23,19 +23,6 @@ public override bool FinishedLaunching (UIApplication application, NSDictionary // Override point for customization after application launch. // If not required for your application you can safely delete this method - if (string.IsNullOrWhiteSpace (GoogleApiKey.Key)) { - var message = $"Configure the Key property inside GoogleApiKey class for your bundle {NSBundle.MainBundle.BundleIdentifier}"; - ShowMessage ("Google API Key is missing...", message, Window.RootViewController); - } - - // Provide the Places API with your API key. - PlacesClient.ProvideApiKey (GoogleApiKey.Key); - - // Provide the Maps API with your API key. You may not need - // this in your app, however we do need this for the demo - // app as it uses Maps. - MapServices.ProvideAPIKey (GoogleApiKey.Key); - var splitViewController = UIStoryboard.FromName ("Main", null).InstantiateViewController (nameof (UISplitViewController)) as UISplitViewController; splitViewController.Delegate = this; splitViewController.PreferredDisplayMode = UISplitViewControllerDisplayMode.PrimaryOverlay; @@ -45,6 +32,20 @@ public override bool FinishedLaunching (UIApplication application, NSDictionary }; Window.MakeKeyAndVisible (); + if (string.IsNullOrWhiteSpace (GoogleApiKey.Key)) { + var message = $"Configure the Key property inside GoogleApiKey class for your bundle {NSBundle.MainBundle.BundleIdentifier}"; + ShowMessage ("Google API Key is missing...", message, Window.RootViewController); + } + else { + // Provide the Places API with your API key. + PlacesClient.ProvideApiKey (GoogleApiKey.Key); + + // Provide the Maps API with your API key. You may not need + // this in your app, however we do need this for the demo + // app as it uses Maps. + MapServices.ProvideApiKey (GoogleApiKey.Key); + } + return true; } diff --git a/samples/Google/TagManager/TagManagerSample/TagManagerSample.csproj b/samples/Google/TagManager/TagManagerSample/TagManagerSample.csproj index 0486000f3..53590ed38 100644 --- a/samples/Google/TagManager/TagManagerSample/TagManagerSample.csproj +++ b/samples/Google/TagManager/TagManagerSample/TagManagerSample.csproj @@ -129,10 +129,6 @@ {9335A59B-3B54-4ED5-8201-B68CFD05CAFB} Core - - {754D8F56-C3DB-4E33-91D5-45445AB286EF} - InstanceID - {3FCDD0B5-F60C-49F7-AAD7-497D02285A38} TagManager diff --git a/source/Firebase/ABTesting/ABTesting.csproj b/source/Firebase/ABTesting/ABTesting.csproj index 85a81d5ee..eef354f1a 100644 --- a/source/Firebase/ABTesting/ABTesting.csproj +++ b/source/Firebase/ABTesting/ABTesting.csproj @@ -6,7 +6,7 @@ Firebase.ABTesting Firebase.ABTesting 1.0.0.0 - 4.2.0 + 8.2.0 Resources true @@ -23,7 +23,7 @@ https://go.microsoft.com/fwlink/?linkid=2004275 License.md true - 4.2.0 + 8.2.0 diff --git a/source/Firebase/ABTesting/ApiDefinition.cs b/source/Firebase/ABTesting/ApiDefinition.cs index f0d288cbd..d144e7e22 100644 --- a/source/Firebase/ABTesting/ApiDefinition.cs +++ b/source/Firebase/ABTesting/ApiDefinition.cs @@ -1,5 +1,6 @@ using Foundation; using ObjCRuntime; +using System; namespace Firebase.ABTesting { // @interface FIRExperimentController : NSObject @@ -11,13 +12,21 @@ interface ExperimentController { [Export ("sharedInstance")] ExperimentController SharedInstance { get; } - // -(void)updateExperimentsWithServiceOrigin:(NSString * _Nonnull)origin events:(FIRLifecycleEvents * _Nonnull)events policy:(NSObject * _Nonnull)policy lastStartTime:(NSTimeInterval)lastStartTime payloads:(NSArray * _Nonnull)payloads; - [Export ("updateExperimentsWithServiceOrigin:events:policy:lastStartTime:payloads:")] - void UpdateExperiments (string origin, LifecycleEvents events, NSObject policy, double lastStartTime, NSData [] payloads); + // -(void)updateExperimentsWithServiceOrigin:(NSString * _Nonnull)origin events:(FIRLifecycleEvents * _Nonnull)events policy:(ABTExperimentPayloadExperimentOverflowPolicy)policy lastStartTime:(NSTimeInterval)lastStartTime payloads:(NSArray * _Nonnull)payloads completionHandler:(void (^ _Nullable)(NSError * _Nullable))completionHandler; + [Export ("updateExperimentsWithServiceOrigin:events:policy:lastStartTime:payloads:completionHandler:")] + void UpdateExperiments (string origin, LifecycleEvents events, NSObject policy, double lastStartTime, NSData [] payloads, [NullAllowed] Action completionHandler); // -(NSTimeInterval)latestExperimentStartTimestampBetweenTimestamp:(NSTimeInterval)timestamp andPayloads:(NSArray * _Nonnull)payloads; [Export ("latestExperimentStartTimestampBetweenTimestamp:andPayloads:")] double GetLatestExperimentStartTimestampBetweenTimestamp (double timestamp, NSData [] payloads); + + // -(void)validateRunningExperimentsForServiceOrigin:(NSString * _Nonnull)origin runningExperimentPayloads:(NSArray * _Nonnull)payloads; + [Export ("validateRunningExperimentsForServiceOrigin:runningExperimentPayloads:")] + void ValidateRunningExperiments (string origin, NSObject [] payloads); + + // -(void)activateExperiment:(ABTExperimentPayload * _Nonnull)experimentPayload forServiceOrigin:(NSString * _Nonnull)origin; + [Export ("activateExperiment:forServiceOrigin:")] + void ActivateExperiment (NSObject experimentPayload, string origin); } [Static] diff --git a/source/Firebase/AdMob/AdMob.csproj b/source/Firebase/AdMob/AdMob.csproj index e368c72c9..dc514cd0a 100644 --- a/source/Firebase/AdMob/AdMob.csproj +++ b/source/Firebase/AdMob/AdMob.csproj @@ -6,7 +6,7 @@ Firebase.AdMob Firebase.AdMob 1.0.0.0 - 7.66.0 + 8.6.0 Resources true false @@ -24,7 +24,7 @@ https://go.microsoft.com/fwlink/?linkid=865546 License.md true - 7.66.0 + 8.6.0 diff --git a/source/Firebase/Analytics/Analytics.csproj b/source/Firebase/Analytics/Analytics.csproj index 5a2548bf7..f436ec161 100644 --- a/source/Firebase/Analytics/Analytics.csproj +++ b/source/Firebase/Analytics/Analytics.csproj @@ -6,9 +6,10 @@ Firebase.Analytics Firebase.Analytics 1.0.0.0 - 6.9.0 + 8.2.0 Resources true + true @@ -23,7 +24,7 @@ https://go.microsoft.com/fwlink/?linkid=865559 License.md true - 6.9.0 + 8.2.0 @@ -46,12 +47,9 @@ - - - - + diff --git a/source/Firebase/Analytics/Analytics.targets b/source/Firebase/Analytics/Analytics.targets index 6df02fbda..17981fc9c 100644 --- a/source/Firebase/Analytics/Analytics.targets +++ b/source/Firebase/Analytics/Analytics.targets @@ -1,34 +1,29 @@ - + <_FirebaseAnalyticsAssemblyName>Firebase.Analytics, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - <_FirebaseAnalyticsItemsFolder>FAnlytcs-6.9.0 - <_FirebaseAnalyticsSDKBaseFolder>$(XamarinBuildDownloadDir)$(_FirebaseAnalyticsItemsFolder)\Frameworks\ + <_FirebaseAnalyticsItemsFolder>FAnlytcs-8.2.0 + <_FirebaseAnalyticsSDKBaseFolder>$(XamarinBuildDownloadDir)$(_FirebaseAnalyticsItemsFolder)\FirebaseAnalytics-8.1.1\Frameworks\ - https://dl.google.com/firebase/ios/analytics/560b7928a9322b07/FirebaseAnalytics-6.9.0.tar.gz + https://dl.google.com/firebase/ios/analytics/19ed8dba01e90708/FirebaseAnalytics-8.1.1.tar.gz Tgz - - + + Framework True True -ObjC -lc++ -lsqlite3 -lz AddressBook AdSupport CoreGraphics StoreKit SystemConfiguration - - Framework - True - True - - + \ No newline at end of file diff --git a/source/Firebase/Analytics/ApiDefinition.cs b/source/Firebase/Analytics/ApiDefinition.cs index 18e029152..2d371c394 100644 --- a/source/Firebase/Analytics/ApiDefinition.cs +++ b/source/Firebase/Analytics/ApiDefinition.cs @@ -30,11 +30,6 @@ interface Analytics [Export ("setUserID:")] void SetUserId ([NullAllowed] string userId); - // + (void)setScreenName:(nullable NSString *)screenName screenClass:(nullable NSString *)screenClassOverride; - [Static] - [Export ("setScreenName:screenClass:")] - void SetScreenNameAndClass ([NullAllowed] string screenName, [NullAllowed] string screenClassOverride); - // +(void)setAnalyticsCollectionEnabled:(BOOL)analyticsCollectionEnabled; [Static] [Export ("setAnalyticsCollectionEnabled:")] @@ -45,7 +40,7 @@ interface Analytics [Export ("setSessionTimeoutInterval:")] void SetSessionTimeoutInterval (double sessionTimeoutInterval); - // + (NSString *)appInstanceID; + // + (nullable NSString *)appInstanceID; [Static] [Export ("appInstanceID")] string AppInstanceId { get; } @@ -55,6 +50,15 @@ interface Analytics [Export ("resetAnalyticsData")] void ResetAnalyticsData (); + // +(void)setDefaultEventParameters:(NSDictionary * _Nullable)parameters; + [Static] + [Export ("setDefaultEventParameters:")] + void SetDefaultEventParameters ([NullAllowed] NSDictionary nsParameters); + + [Static] + [Wrap ("SetDefaultEventParameters (parameters == null ? null : parameters.Keys.Count == 0 ? new NSDictionary () : NSDictionary.FromObjectsAndKeys (System.Linq.Enumerable.ToArray (parameters.Values), System.Linq.Enumerable.ToArray (parameters.Keys), parameters.Keys.Count))")] + void SetDefaultEventParameters ([NullAllowed] Dictionary parameters); + /// /// This method comes from a category (FIRAnalytics+AppDelegate.h) /// @@ -73,5 +77,15 @@ interface Analytics [Static] [Export ("handleUserActivity:")] void HandleUserActivity (NSObject userActivity); + + /// + /// This method comes from a category (FIRAnalytics+Constent.h) + /// + + // + (void)setConsent:(NSDictionary *)consentSettings; + [Static] + [Internal] + [Export ("setConsent:")] + void _SetConsent (NSDictionary consentSettings); } } diff --git a/source/Firebase/Analytics/Enums.cs b/source/Firebase/Analytics/Enums.cs index 4c8a99e2a..608593bd3 100644 --- a/source/Firebase/Analytics/Enums.cs +++ b/source/Firebase/Analytics/Enums.cs @@ -1,6 +1,28 @@ using System; +using System.Collections.Generic; + +using Foundation; using ObjCRuntime; namespace Firebase.Analytics { + public enum ConsentType { + // extern FIRConsentType const FIRConsentTypeAdStorage; + [Field ("FIRConsentTypeAdStorage", "__Internal")] + AdStorage, + + // extern FIRConsentType const FIRConsentTypeAnalyticsStorage; + [Field ("FIRConsentTypeAnalyticsStorage", "__Internal")] + AnalyticsStorage, + } + + public enum ConsentStatus { + // extern FIRConsentStatus const FIRConsentStatusDenied; + [Field ("FIRConsentStatusDenied", "__Internal")] + Denied, + + // extern FIRConsentStatus const FIRConsentStatusGranted; + [Field ("FIRConsentStatusGranted", "__Internal")] + Granted, + } } diff --git a/source/Firebase/Analytics/Extension.cs b/source/Firebase/Analytics/Extension.cs index aa1d1311d..fe6447543 100644 --- a/source/Firebase/Analytics/Extension.cs +++ b/source/Firebase/Analytics/Extension.cs @@ -1,4 +1,5 @@ using System; +using System.Collections.Generic; using Foundation; namespace Firebase.Analytics @@ -8,6 +9,7 @@ public static class EventNamesConstants public static NSString AddPaymentInfo { get; } = new NSString ("add_payment_info"); public static NSString AddToCart { get; } = new NSString ("add_to_cart"); public static NSString AddToWishlist { get; } = new NSString ("add_to_wishlist"); + public static NSString AdImpression { get; } = new NSString ("ad_impression"); public static NSString AppOpen { get; } = new NSString ("app_open"); public static NSString BeginCheckout { get; } = new NSString ("begin_checkout"); public static NSString CampaignDetails { get; } = new NSString ("campaign_details"); @@ -24,6 +26,7 @@ public static class EventNamesConstants public static NSString PresentOffer { get; } = new NSString ("present_offer"); public static NSString PurchaseRefund { get; } = new NSString ("purchase_refund"); public static NSString RemoveFromCart { get; } = new NSString ("remove_from_cart"); + public static NSString ScreenView { get; } = new NSString ("screen_view"); public static NSString Search { get; } = new NSString ("search"); public static NSString SelectContent { get; } = new NSString ("select_content"); public static NSString SetCheckoutOption { get; } = new NSString ("set_checkout_option"); @@ -48,7 +51,11 @@ public static class EventNamesConstants public static class ParameterNamesConstants { public static NSString AchievementId { get; } = new NSString ("achievement_id"); + public static NSString AdFormat { get; } = new NSString ("ad_format"); public static NSString AdNetworkClickId { get; } = new NSString ("aclid"); + public static NSString AdPlatform { get; } = new NSString ("ad_platform"); + public static NSString AdSource { get; } = new NSString ("ad_source"); + public static NSString AdUnitName { get; } = new NSString ("ad_unit_name"); public static NSString Affiliation { get; } = new NSString ("affiliation"); public static NSString Campaign { get; } = new NSString ("campaign"); public static NSString Character { get; } = new NSString ("character"); @@ -83,6 +90,8 @@ public static class ParameterNamesConstants public static NSString Price { get; } = new NSString ("price"); public static NSString Quantity { get; } = new NSString ("quantity"); public static NSString Score { get; } = new NSString ("score"); + public static NSString ScreenClass { get; } = new NSString ("screen_class"); + public static NSString ScreenName { get; } = new NSString ("score_name"); public static NSString SearchTerm { get; } = new NSString ("search_term"); public static NSString Shipping { get; } = new NSString ("shipping"); [Obsolete ("Use Method property instead.")] @@ -119,5 +128,20 @@ public static class UserPropertyNamesConstants public static NSString SignUpMethod { get; } = new NSString ("sign_up_method"); public static NSString AllowAdPersonalizationSignals { get; } = new NSString ("allow_personalized_ads"); } + + public partial class Analytics { + public static void SetConsent (Dictionary consentSettings) + { + var keys = new List (); + var values = new List (); + + foreach (var kv in consentSettings) { + keys.Add (global::Firebase.Analytics.ConsentTypeExtensions.GetConstant (kv.Key)); + values.Add (global::Firebase.Analytics.ConsentStatusExtensions.GetConstant (kv.Value)); + } + + _SetConsent (new NSDictionary (keys.ToArray (), values.ToArray ())); + } + } } diff --git a/source/Firebase/AppCheck/ApiDefinition.cs b/source/Firebase/AppCheck/ApiDefinition.cs new file mode 100644 index 000000000..e60df1490 --- /dev/null +++ b/source/Firebase/AppCheck/ApiDefinition.cs @@ -0,0 +1,119 @@ +using System; +using Firebase.Core; +using Foundation; + +namespace Firebase.AppCheck { + // typedef void (^)(FIRAppCheckToken *_Nullable token, NSError *_Nullable error) + delegate void TokenCompletionHandler (AppCheckToken token, NSError error); + + // @interface FIRAppCheck : NSObject + [DisableDefaultCtor] + [BaseType (typeof (NSObject), Name = "FIRAppCheck")] + interface AppCheck { + // +(instancetype _Nonnull)appCheck __attribute__((swift_name("appCheck()"))); + [Static] + [Export ("appCheck")] + AppCheck SharedInstance { get; } + + // +(instancetype _Nullable)appCheckWithApp:(FIRApp * _Nonnull)firebaseApp __attribute__((swift_name("appCheck(app:)"))); + [Static] + [Export ("appCheckWithApp:")] + [return: NullAllowed] + AppCheck Create (App firebaseApp); + + // +(void)setAppCheckProviderFactory:(id _Nullable)factory; + [Static] + [Export ("setAppCheckProviderFactory:")] + void SetAppCheckProviderFactory ([NullAllowed] AppCheckProviderFactory factory); + + // @property (assign, nonatomic) BOOL isTokenAutoRefreshEnabled; + [Export ("isTokenAutoRefreshEnabled")] + bool IsTokenAutoRefreshEnabled { get; set; } + } + + // @protocol FIRAppCheckProvider + [Protocol] + [BaseType (typeof (NSObject), Name = "FIRAppCheckProvider")] + interface AppCheckProvider { + // @required -(void)getTokenWithCompletion:(void (^ _Nonnull)(FIRAppCheckToken * _Nullable, NSError * _Nullable))handler __attribute__((swift_name("getToken(completion:)"))); + [Abstract] + [Export ("getTokenWithCompletion:")] + void GetTokenWithCompletion (TokenCompletionHandler handler); + } + + // @protocol FIRAppCheckProviderFactory + [Protocol] + [BaseType (typeof (NSObject), Name = "FIRAppCheckProviderFactory")] + interface AppCheckProviderFactory { + // @required -(id _Nullable)createProviderWithApp:(FIRApp * _Nonnull)app; + [Abstract] + [Export ("createProviderWithApp:")] + [return: NullAllowed] + AppCheckProvider CreateProviderWithApp (App app); + } + + // @interface FIRAppCheckToken : NSObject + [DisableDefaultCtor] + [BaseType (typeof (NSObject), Name = "FIRAppCheckToken")] + interface AppCheckToken { + // @property (readonly, nonatomic) NSString * _Nonnull token; + [Export ("token")] + string Token { get; } + + // @property (readonly, nonatomic) NSDate * _Nonnull expirationDate; + [Export ("expirationDate")] + NSDate ExpirationDate { get; } + + // -(instancetype _Nonnull)initWithToken:(NSString * _Nonnull)token expirationDate:(NSDate * _Nonnull)expirationDate; + [Export ("initWithToken:expirationDate:")] + IntPtr Constructor (string token, NSDate expirationDate); + } + + // @interface FIRAppCheckDebugProvider : NSObject + [DisableDefaultCtor] + [BaseType (typeof (NSObject), Name = "FIRAppCheckDebugProvider")] + interface AppCheckDebugProvider : AppCheckProvider { + // -(instancetype _Nullable)initWithApp:(FIRApp * _Nonnull)app; + [Export ("initWithApp:")] + IntPtr Constructor (App app); + + // -(NSString * _Nonnull)localDebugToken; + [Export ("localDebugToken")] + string LocalDebugToken { get; } + + // -(NSString * _Nonnull)currentDebugToken; + [Export ("currentDebugToken")] + string CurrentDebugToken { get; } + } + + // @interface FIRAppCheckDebugProviderFactory : NSObject + [BaseType (typeof (NSObject), Name = "FIRAppCheckDebugProviderFactory")] + interface AppCheckDebugProviderFactory : AppCheckProviderFactory { + } + + // @interface FIRDeviceCheckProvider : NSObject + //[TV (11, 0), NoWatch, Mac (10, 15), iOS (11, 0)] + [DisableDefaultCtor] + [BaseType (typeof (NSObject), Name = "FIRDeviceCheckProvider")] + interface DeviceCheckProvider : AppCheckProvider { + // -(instancetype _Nullable)initWithApp:(FIRApp * _Nonnull)app; + [Export ("initWithApp:")] + IntPtr Constructor (App app); + } + + // @interface FIRAppAttestProvider : NSObject + //[NoTV, NoWatch, NoMac, iOS (14, 0)] + [DisableDefaultCtor] + [BaseType (typeof (NSObject), Name = "FIRAppAttestProvider")] + interface AppAttestProvider : AppCheckProvider { + // -(instancetype _Nullable)initWithApp:(FIRApp * _Nonnull)app; + [Export ("initWithApp:")] + IntPtr Constructor (App app); + } + + // @interface FIRDeviceCheckProviderFactory : NSObject + //[TV (11, 0), NoWatch, Mac (10, 15), iOS (11, 0)] + [BaseType (typeof (NSObject), Name = "FIRDeviceCheckProviderFactory")] + interface DeviceCheckProviderFactory : AppCheckProviderFactory { + } +} diff --git a/source/Firebase/AppCheck/AppCheck.csproj b/source/Firebase/AppCheck/AppCheck.csproj new file mode 100644 index 000000000..f8a2912dc --- /dev/null +++ b/source/Firebase/AppCheck/AppCheck.csproj @@ -0,0 +1,76 @@ + + + + Xamarin.iOS10 + true + Firebase.AppCheck + Firebase.AppCheck + 1.0.0.0 + 8.2.0 + Resources + true + + + + Xamarin.Firebase.iOS.AppCheck + Firebase APIs App Check iOS Library + C# bindings for Firebase APIs App Check iOS Library + C# bindings for Firebase APIs App Check iOS Library + Microsoft + Microsoft + © Microsoft Corporation. All rights reserved. + firebaseiosappcheck_128x128.png + https://go.microsoft.com/fwlink/?linkid=865559 + License.md + true + 8.2.0 + + + + + + + + + + + + + FirebaseAppCheck.framework + + + + + + + + Framework + True + True + -ObjC + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/source/Firebase/AppCheck/Enums.cs b/source/Firebase/AppCheck/Enums.cs new file mode 100644 index 000000000..bf947f340 --- /dev/null +++ b/source/Firebase/AppCheck/Enums.cs @@ -0,0 +1,6 @@ +using System; +using ObjCRuntime; + +namespace Firebase.AppCheck +{ +} diff --git a/source/Firebase/AppCheck/License.md b/source/Firebase/AppCheck/License.md new file mode 100644 index 000000000..bbed91285 --- /dev/null +++ b/source/Firebase/AppCheck/License.md @@ -0,0 +1,17 @@ +**Xamarin is not responsible for, nor does it grant any licenses to, third-party packages. Some packages may require or install dependencies which are governed by additional licenses.** + +Note: This component depends on [Firebase App Check for iOS](https://firebase.google.com/docs/analytics/ios/start), which is subject to the [Terms of Service for Firebase Services](https://firebase.google.com/terms/). + +### Xamarin Component for Firebase App Distribution for iOS + +**The MIT License (MIT)** + +Copyright (c) .NET Foundation Contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +20160910 diff --git a/source/Firebase/AppCheck/Loader.cs b/source/Firebase/AppCheck/Loader.cs new file mode 100644 index 000000000..649a40880 --- /dev/null +++ b/source/Firebase/AppCheck/Loader.cs @@ -0,0 +1,25 @@ +using System; + +namespace Firebase.AppCheck +{ + public class Loader + { + static Loader () + { + Firebase.Core.Loader.ForceLoad (); + } + + public static void ForceLoad () { } + } +} + +namespace ApiDefinition +{ + partial class AppCheck + { + static AppCheck () + { + Firebase.AppCheck.Loader.ForceLoad (); + } + } +} diff --git a/source/Firebase/AppDistribution/ApiDefinition.cs b/source/Firebase/AppDistribution/ApiDefinition.cs new file mode 100644 index 000000000..77ec735aa --- /dev/null +++ b/source/Firebase/AppDistribution/ApiDefinition.cs @@ -0,0 +1,75 @@ +using System; +using System.Collections.Generic; + +using Foundation; +using ObjCRuntime; + +namespace Firebase.AppDistribution +{ + // (void (^)(NSError *_Nullable error))completion + delegate void ErrorHandler ([NullAllowed] NSError error); + + // (void (^)(FIRAppDistributionRelease *_Nullable release, NSError *_Nullable error))completion + delegate void AppDistributionReleaseHandler ([NullAllowed] AppDistributionRelease release, [NullAllowed] NSError error); + + // @interface FIRAppDistribution : NSObject + [DisableDefaultCtor] + [BaseType (typeof (NSObject), Name = "FIRAppDistribution")] + interface AppDistribution + { + // NSString *const FIRAppDistributionErrorDomain + [Field ("FIRAppDistributionErrorDomain", "__Internal")] + NSString ErrorDomain { get; } + + // NSString *const FIRAppDistributionErrorDetailsKey + [Field ("FIRAppDistributionErrorDetailsKey", "__Internal")] + NSString ErrorDetailsKey { get; } + + // + (instancetype)appDistribution + [Static] + [Export("appDistribution")] + AppDistribution SharedInstance { get; } + + // @property(nonatomic, readonly) BOOL isTesterSignedIn; + [Export ("isTesterSignedIn")] + bool IsTesterSignedIn { get; } + + // - (void)signInTesterWithCompletion: (void (^)(NSError *_Nullable error))completion + [Export ("signInTesterWithCompletion:")] + void SigInTester (ErrorHandler completion); + + // - (void)checkForUpdateWithCompletion: (void (^)(FIRAppDistributionRelease *_Nullable release, NSError *_Nullable error))completion; + [Export ("checkForUpdateWithCompletion:")] + void SigInTester (AppDistributionReleaseHandler completion); + + // - (void)signOutTester; + [Export ("signOutTester:")] + void SignOutTester (); + } + + // @interface FIRAppDistributionRelease : NSObject + [DisableDefaultCtor] + [BaseType (typeof (NSObject), Name = "FIRAppDistributionRelease")] + interface Release + { + // @property(nonatomic, copy, readonly) NSString *displayVersion; + [Export ("displayVersion")] + string DisplayVersion { get; } + + // @property(nonatomic, copy, readonly) NSString *buildVersion; + [Export ("buildVersion")] + string BuildVersion { get; } + + // @property(nonatomic, copy, readonly) NSString *releaseNotes; + [Export ("releaseNotes")] + string ReleaseNotes { get; } + + // @property(nonatomic, strong, readonly) NSURL *downloadURL; + [Export ("displayVersion")] + NSURL DownloadUrl { get; } + + // @property(nonatomic, readonly) BOOL isExpired; + [Export ("isExpired")] + bool IsExpired { get; } + } +} diff --git a/source/Firebase/AppDistribution/AppDistribution.csproj b/source/Firebase/AppDistribution/AppDistribution.csproj new file mode 100644 index 000000000..1004228d1 --- /dev/null +++ b/source/Firebase/AppDistribution/AppDistribution.csproj @@ -0,0 +1,77 @@ + + + + Xamarin.iOS10 + true + Firebase.AppDistribution + Firebase.AppDistribution + 1.0.0.0 + 8.2.0 + Resources + true + + + + Xamarin.Firebase.iOS.AppDistribution + Firebase APIs App Distribution iOS Library + C# bindings for Firebase APIs App Distribution iOS Library + C# bindings for Firebase APIs App Distribution iOS Library + Microsoft + Microsoft + © Microsoft Corporation. All rights reserved. + firebaseiosappdistribution_128x128.png + https://go.microsoft.com/fwlink/?linkid=865559 + License.md + true + 8.2.0 + + + + + + + + + + + + + FirebaseAppDistribution.framework + + + + + + + + Framework + True + True + -ObjC + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/source/Firebase/AppDistribution/Enums.cs b/source/Firebase/AppDistribution/Enums.cs new file mode 100644 index 000000000..2a40b9db4 --- /dev/null +++ b/source/Firebase/AppDistribution/Enums.cs @@ -0,0 +1,13 @@ +using System; +using ObjCRuntime; + +namespace Firebase.AppDistribution +{ + [Native] + public enum Error : uint { + Unknown = 0, + AuthenticationFailure = 1, + AuthenticationCancelled = 2, + NetworkFailure = 3, + } +} diff --git a/source/Firebase/AppDistribution/License.md b/source/Firebase/AppDistribution/License.md new file mode 100644 index 000000000..9d547703f --- /dev/null +++ b/source/Firebase/AppDistribution/License.md @@ -0,0 +1,17 @@ +**Xamarin is not responsible for, nor does it grant any licenses to, third-party packages. Some packages may require or install dependencies which are governed by additional licenses.** + +Note: This component depends on [Firebase App Distribution for iOS](https://firebase.google.com/docs/analytics/ios/start), which is subject to the [Terms of Service for Firebase Services](https://firebase.google.com/terms/). + +### Xamarin Component for Firebase App Distribution for iOS + +**The MIT License (MIT)** + +Copyright (c) .NET Foundation Contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +20160910 diff --git a/source/Firebase/AppDistribution/Loader.cs b/source/Firebase/AppDistribution/Loader.cs new file mode 100644 index 000000000..3739ff45b --- /dev/null +++ b/source/Firebase/AppDistribution/Loader.cs @@ -0,0 +1,26 @@ +using System; + +namespace Firebase.AppDistribution +{ + public class Loader + { + static Loader () + { + Firebase.Installations.Loader.ForceLoad(); + Firebase.Core.Loader.ForceLoad (); + } + + public static void ForceLoad () { } + } +} + +namespace ApiDefinition +{ + partial class AppDistribution + { + static AppDistribution () + { + Firebase.AppDistribution.Loader.ForceLoad (); + } + } +} diff --git a/source/Firebase/Auth/ApiDefinition.cs b/source/Firebase/Auth/ApiDefinition.cs index 8a62be6d1..bda25ea9d 100644 --- a/source/Firebase/Auth/ApiDefinition.cs +++ b/source/Firebase/Auth/ApiDefinition.cs @@ -122,11 +122,6 @@ interface ActionCodeInfo [Export ("operation")] ActionCodeOperation Operation { get; } - // -(NSString * _Nonnull)dataForKey:(FIRActionDataKey)key; - [Obsolete ("Deprecated. Please directly use Email or PreviousEmail properties instead.")] - [Export ("dataForKey:")] - string DataForKey (ActionDataKey key); - // @property (readonly, copy, nonatomic) NSString * _Nullable email; [NullAllowed] [Export ("email")] @@ -182,15 +177,6 @@ interface ActionCodeUrl [BaseType (typeof (NSObject), Name = "FIRAuth")] interface Auth { - // extern const double FirebaseAuthVersionNum; - [Field ("FirebaseAuthVersionNum", "__Internal")] - double CurrentVersionNumber { get; } - - // extern const char *const FirebaseAuthVersionStr; - [Internal] - [Field ("FirebaseAuthVersionStr", "__Internal")] - IntPtr _CurrentVersion { get; } - // extern NSString *const FIRAuthErrorDomain; [Field ("FIRAuthErrorDomain", "__Internal")] NSString ErrorDomain { get; } @@ -253,6 +239,10 @@ interface Auth [Export ("userAccessGroup")] string UserAccessGroup { get; } + // @property (nonatomic) BOOL shareAuthStateAcrossDevices; + [Export ("shareAuthStateAcrossDevices")] + bool ShareAuthStateAcrossDevices { get; set; } + [NullAllowed] [Export ("APNSToken", ArgumentSemantic.Strong)] NSData ApnsToken { get; set; } @@ -262,12 +252,6 @@ interface Auth [Export ("updateCurrentUser:completion:")] void UpdateCurrentUser (User user, [NullAllowed] UserUpdateHandler completion); - // -(void)fetchProvidersForEmail:(NSString * _Nonnull)email completion:(FIRProviderQueryCallback _Nullable)completion; - [Obsolete ("Use the FetchSignInMethods method instead.")] - [Async] - [Export ("fetchProvidersForEmail:completion:")] - void FetchProviders (string email, [NullAllowed] ProviderQueryHandler completion); - // -(void)fetchSignInMethodsForEmail:(NSString * _Nonnull)email completion:(FIRSignInMethodQueryCallback _Nullable)completion; [Async] [Export ("fetchSignInMethodsForEmail:completion:")] @@ -288,12 +272,6 @@ interface Auth [Export ("signInWithProvider:UIDelegate:completion:")] void SignInWithProvider (IFederatedAuthProvider provider, [NullAllowed] IAuthUIDelegate uiDelegate, [NullAllowed] AuthDataResultHandler completion); - // - (void)signInAndRetrieveDataWithCredential:(FIRAuthCredential *)credential completion:(nullable FIRAuthDataResultCallback) completion; - [Obsolete ("Please, use SignInWithCredential method instead.")] - [Async] - [Export ("signInAndRetrieveDataWithCredential:completion:")] - void SignInAndRetrieveDataWithCredential (AuthCredential credential, [NullAllowed] AuthDataResultHandler completion); - // - (void) signInWithCredential:(FIRAuthCredential*) credential completion:(nullable FIRAuthDataResultCallback) completion; [Async] [Export ("signInWithCredential:completion:")] @@ -377,6 +355,10 @@ interface Auth [Export ("useAppLanguage")] void UseAppLanguage (); + // - (void)useEmulatorWithHost:(NSString *)host port:(NSInteger)port; + [Export ("useEmulatorWithHost:port:")] + void UseEmulatorWithHost (string host, nint port); + // - (BOOL)canHandleURL:(nonnull NSURL *)URL; [Export ("canHandleURL:")] bool CanHandleUrl (NSUrl url); @@ -799,11 +781,6 @@ interface PhoneAuthProvider [Export ("providerWithAuth:")] PhoneAuthProvider Create (Auth auth); - [Obsolete ("Use Create static method instead. This will be removed in future versions.")] - [Static] - [Wrap ("Create (auth)")] - PhoneAuthProvider From (Auth auth); - // - (void)verifyPhoneNumber:(NSString *)phoneNumber UIDelegate:(nullable id)UIDelegate completion:(nullable FIRVerificationResultCallback) completion; [Async] [Export ("verifyPhoneNumber:UIDelegate:completion:")] @@ -940,12 +917,6 @@ interface User : UserInfo [Export ("reauthenticateWithCredential:completion:")] void Reauthenticate (AuthCredential credential, [NullAllowed] UserProfileChangeHandler completion); - // -(void)reauthenticateAndRetrieveDataWithCredential:(FIRAuthCredential * _Nonnull)credential completion:(FIRAuthDataResultCallback _Nullable)completion; - [Obsolete ("Please, use Reauthenticate method instead.")] - [Async] - [Export ("reauthenticateAndRetrieveDataWithCredential:completion:")] - void ReauthenticateAndRetrieveData (AuthCredential credential, [NullAllowed] AuthDataResultHandler completion); - // -(void)reauthenticateWithProvider:(id _Nonnull)provider UIDelegate:(id _Nullable)UIDelegate completion:(FIRAuthDataResultCallback _Nullable)completion __attribute__((swift_name("reauthenticate(with:uiDelegate:completion:)"))) __attribute__((availability(ios, introduced=8.0))); [iOS (8,0)] [Async] @@ -972,12 +943,6 @@ interface User : UserInfo [Export ("getIDTokenForcingRefresh:completion:")] void GetIdToken (bool forceRefresh, [NullAllowed] AuthTokenHandler completion); - // -(void)linkAndRetrieveDataWithCredential:(FIRAuthCredential * _Nonnull)credential completion:(FIRAuthDataResultCallback _Nullable)completion; - [Obsolete ("Please, use Link method instead.")] - [Async] - [Export ("linkAndRetrieveDataWithCredential:completion:")] - void LinkAndRetrieveData (AuthCredential credential, [NullAllowed] AuthDataResultHandler completion); - // -(void)linkWithCredential:(FIRAuthCredential * _Nonnull)credential completion:(FIRAuthDataResultCallback _Nullable)completion; [Async] [Export ("linkWithCredential:completion:")] diff --git a/source/Firebase/Auth/Auth.csproj b/source/Firebase/Auth/Auth.csproj index d9d45470a..8cb8f8550 100644 --- a/source/Firebase/Auth/Auth.csproj +++ b/source/Firebase/Auth/Auth.csproj @@ -6,7 +6,7 @@ Firebase.Auth Firebase.Auth 1.0.0.0 - 6.9.2 + 8.2.0 Resources true @@ -23,7 +23,7 @@ https://go.microsoft.com/fwlink/?linkid=865530 License.md true - 6.9.2 + 8.2.0 diff --git a/source/Firebase/Auth/Enums.cs b/source/Firebase/Auth/Enums.cs index fea06d69a..bf6f39ec3 100644 --- a/source/Firebase/Auth/Enums.cs +++ b/source/Firebase/Auth/Enums.cs @@ -11,14 +11,6 @@ public enum AuthApnsTokenType : long Production } - [Obsolete ("Deprecated. Please directly use Email or PreviousEmail properties instead.")] - [Native] - public enum ActionDataKey : long - { - EmailKey = 0, - FromEmailKey = 1 - } - [Native] public enum ActionCodeOperation : long { diff --git a/source/Firebase/CloudFirestore/ApiDefinition.cs b/source/Firebase/CloudFirestore/ApiDefinition.cs index 2f33c63ac..efba8227e 100644 --- a/source/Firebase/CloudFirestore/ApiDefinition.cs +++ b/source/Firebase/CloudFirestore/ApiDefinition.cs @@ -340,6 +340,8 @@ interface FieldValue // void (^)(id _Nullable result, NSError *_Nullable error) delegate void TransactionCompletionHandler ([NullAllowed] NSObject result, [NullAllowed] NSError error); + // (nullable void (^)(FIRLoadBundleTaskProgress *_Nullable progress, NSError *_Nullable error) + delegate void LoadBundleCompletionHandler ([NullAllowed] LoadBundleTaskProgress progress, [NullAllowed] NSError error); // @interface FIRFirestore : NSObject [DisableDefaultCtor] @@ -393,6 +395,10 @@ interface Firestore [Export ("enableLogging:")] void EnableLogging (bool logging); + // - (void) useEmulatorWithHost:(NSString*) host port:(NSInteger) port; + [Export ("useEmulatorWithHost:port:")] + void UseEmulatorWithHost (string host, uint port); + // -(void)enableNetworkWithCompletion:(void (^ _Nullable)(NSError * _Nullable))completion; [Async] [Export ("enableNetworkWithCompletion:")] @@ -422,6 +428,68 @@ interface Firestore [Async] [Export ("terminateWithCompletion:")] void Terminate ([NullAllowed] Action completion); + + // - (FIRLoadBundleTask *)loadBundle:(NSData *)bundleData; + [Export ("loadBundle:")] + LoadBundleTask LoadBundle (NSData bundleData); + + // - (FIRLoadBundleTask *)loadBundle:(NSData *)bundleData completion:(nullable void (^)(FIRLoadBundleTaskProgress *_Nullable progress, NSError *_Nullable error))completion; + [Export ("loadBundle:completion:")] + LoadBundleTask LoadBundle (NSData bundleData, [NullAllowed] LoadBundleCompletionHandler completion); + + // - (FIRLoadBundleTask *)loadBundleStream:(NSInputStream *)bundleStream; + [Export ("loadBundleStream:")] + LoadBundleTask LoadBundleStream (NSInputStream bundleStream); + + // - (FIRLoadBundleTask *)loadBundleStream:(NSInputStream *)bundleStream completion: (nullable void (^)(FIRLoadBundleTaskProgress *_Nullable progress, NSError *_Nullable error))completion + [Export ("loadBundleStream:completion:")] + LoadBundleTask LoadBundleStream (NSInputStream bundleStream, [NullAllowed] LoadBundleCompletionHandler completion); + + // - (void)getQueryNamed:(NSString *)name completion:(void (^)(FIRQuery *_Nullable query))completion + [Export ("getQueryNamed:completion:")] + void GetQueryNamed (NSInputStream bundleStream, Action completion); + } + + // @interface FIRTimestamp : NSObject + [DisableDefaultCtor] + [BaseType (typeof (NSObject), Name = "FIRLoadBundleTaskProgress")] + interface LoadBundleTaskProgress { + // @property(readonly, nonatomic) NSInteger documentsLoaded; + [Export ("documentsLoaded")] + nint DocumentsLoaded { get; } + + // @property(readonly, nonatomic) NSInteger totalDocuments; + [Export ("totalDocuments")] + nint TotalDocuments { get; } + + // @property(readonly, nonatomic) NSInteger bytesLoaded; + [Export ("bytesLoaded")] + nint BytesLoaded { get; } + + // @property(readonly, nonatomic) NSInteger totalBytes; + [Export ("totalBytes")] + nint TotalBytes { get; } + + //@property(readonly, nonatomic) FIRLoadBundleTaskState state; + [Export ("state")] + LoadBundleTaskState State { get; } + } + + // @interface FIRTimestamp : NSObject + [DisableDefaultCtor] + [BaseType (typeof (NSObject), Name = "FIRLoadBundleTask")] + interface LoadBundleTask { + // - (FIRLoadBundleObserverHandle):(void (^)(FIRLoadBundleTaskProgress *progress))observer + [Export ("addObserver:")] + nint AddObserver (Action observer); + + // - (void)removeObserverWithHandle:(FIRLoadBundleObserverHandle)handle + [Export ("removeObserverWithHandle:")] + void RemoveObserver (nint handle); + + // - (void)removeAllObservers; + [Export ("removeAllObservers")] + void RemoveAllObservers (); } // @interface FIRFirestoreSettings : NSObject @@ -448,11 +516,6 @@ interface FirestoreSettings : INSCopying [Export ("persistenceEnabled")] bool PersistenceEnabled { [Bind ("isPersistenceEnabled")] get; set; } - // @property (getter = areTimestampsInSnapshotsEnabled, nonatomic) BOOL timestampsInSnapshotsEnabled; - [Obsolete ("This setting now defaults to true and will be removed in a future release.")] - [Export ("timestampsInSnapshotsEnabled")] - bool TimestampsInSnapshotsEnabled { [Bind ("areTimestampsInSnapshotsEnabled")] get; set; } - // @property (assign, nonatomic) int64_t cacheSizeBytes; [Export ("cacheSizeBytes")] long CacheSizeBytes { get; set; } diff --git a/source/Firebase/CloudFirestore/CloudFirestore.csproj b/source/Firebase/CloudFirestore/CloudFirestore.csproj index c6fa5ca21..075a5e342 100644 --- a/source/Firebase/CloudFirestore/CloudFirestore.csproj +++ b/source/Firebase/CloudFirestore/CloudFirestore.csproj @@ -6,7 +6,7 @@ Firebase.CloudFirestore Firebase.CloudFirestore 1.0.0.0 - 1.19.0 + 8.2.0 Resources true @@ -23,7 +23,7 @@ https://go.microsoft.com/fwlink/?linkid=2030883 License.md true - 1.19.0 + 8.2.0 diff --git a/source/Firebase/CloudFirestore/Enums.cs b/source/Firebase/CloudFirestore/Enums.cs index 9e462e160..7ad57c438 100644 --- a/source/Firebase/CloudFirestore/Enums.cs +++ b/source/Firebase/CloudFirestore/Enums.cs @@ -48,4 +48,12 @@ public enum FirestoreSource : ulong Server, Cache } + + [Native] + public enum LoadBundleTaskState : long + { + Error, + InProgress, + Success + } } diff --git a/source/Firebase/CloudFunctions/ApiDefinition.cs b/source/Firebase/CloudFunctions/ApiDefinition.cs index 495aae47f..a8a0976f6 100644 --- a/source/Firebase/CloudFunctions/ApiDefinition.cs +++ b/source/Firebase/CloudFunctions/ApiDefinition.cs @@ -23,23 +23,41 @@ interface CloudFunctions [Export("functionsForApp:")] CloudFunctions From(App app); - //+ (FIRFunctions *) functionsForRegion:(NSString*) region; + // + (instancetype)functionsForApp:(FIRApp *)app customDomain:(NSString *)customDomain + [Static] + [Export("functionsForApp:customDomain:")] + CloudFunctions FromCustomDomain(App app, string customDomain); + + //+ (FIRFunctions *)functionsForCustomDomain:(NSString*) customDomain [Static] - [Export("functionsForRegion:")] - CloudFunctions From(string region); + [Export ("functionsForCustomDomain:")] + CloudFunctions FromCustomDomain (string customDomain); //+ (FIRFunctions *)functionsForApp:(FIRApp *)app region:(NSString*) region [Static] [Export("functionsForApp:region:")] - CloudFunctions From(App app, string region); + CloudFunctions FromRegion(App app, string region); + + //+ (FIRFunctions *) functionsForRegion:(NSString*) region; + [Static] + [Export ("functionsForRegion:")] + CloudFunctions FromRegion (string region); //- (FIRHTTPSCallable *)HTTPSCallableWithName:(NSString *)name; [Export("HTTPSCallableWithName:")] HttpsCallable HttpsCallable(string name); + // @property(nonatomic, readonly, nullable) NSString *emulatorOrigin; + [Export("emulatorOrigin")] + string EmulatorOrigin { get; } + //- (void)useFunctionsEmulatorOrigin:(NSString *)origin [Export("useFunctionsEmulatorOrigin:")] void UseFunctionsEmulatorOrigin(string origin); + + //- (void)useEmulatorWithHost:(NSString *)host port:(NSInteger) port; + [Export ("useEmulatorWithHost:port:")] + void UseEmulatorOriginWithHost (string host, uint port); } // void (^)(FIRHTTPSCallableResult *_Nullable result, NSError *_Nullable error); diff --git a/source/Firebase/CloudFunctions/CloudFunctions.csproj b/source/Firebase/CloudFunctions/CloudFunctions.csproj index 6d8e6a3a0..d7894e0af 100644 --- a/source/Firebase/CloudFunctions/CloudFunctions.csproj +++ b/source/Firebase/CloudFunctions/CloudFunctions.csproj @@ -6,7 +6,7 @@ Firebase.CloudFunctions Firebase.CloudFunctions 1.0.0.0 - 2.9.0 + 8.2.0 Resources true @@ -23,7 +23,7 @@ https://go.microsoft.com/fwlink/?linkid=2125916 License.md true - 2.9.0 + 8.2.0 diff --git a/source/Firebase/CloudMessaging/ApiDefinition.cs b/source/Firebase/CloudMessaging/ApiDefinition.cs index 4aa86ab8d..64ae63896 100644 --- a/source/Firebase/CloudMessaging/ApiDefinition.cs +++ b/source/Firebase/CloudMessaging/ApiDefinition.cs @@ -16,6 +16,8 @@ namespace Firebase.CloudMessaging // typedef void (^FIRMessagingTopicOperationCompletion)(NSError *_Nullable error); delegate void MessagingTopicOperationCompletionHandler ([NullAllowed] NSError error); + delegate void DeleteDataCompletionHandler ([NullAllowed] NSError error); + // @interface FIRMessagingMessageInfo : NSObject [BaseType (typeof (NSObject), Name = "FIRMessagingMessageInfo")] interface MessageInfo @@ -25,20 +27,6 @@ interface MessageInfo MessageStatus Status { get; } } - // @interface FIRMessagingRemoteMessage : NSObject - [DisableDefaultCtor] - [BaseType (typeof (NSObject), Name = "FIRMessagingRemoteMessage")] - interface RemoteMessage - { - // @property (readonly, copy, nonatomic) NSString * _Nonnull messageID; - [Export ("messageID")] - string MessageId { get; } - - // @property(nonatomic, readonly, strong, nonnull) NSDictionary *appData; - [Export ("appData", ArgumentSemantic.Strong)] - NSDictionary AppData { get; } - } - interface IMessagingDelegate { } @@ -52,11 +40,6 @@ interface MessagingDelegate // @optional -(void)messaging:(FIRMessaging * _Nonnull)messaging didReceiveRegistrationToken:(NSString * _Nonnull)fcmToken; [Export ("messaging:didReceiveRegistrationToken:")] void DidReceiveRegistrationToken (Messaging messaging, string fcmToken); - - // - (void)messaging:(nonnull FIRMessaging *)messaging didReceiveMessage:(nonnull FIRMessagingRemoteMessage *)remoteMessage FIR_SWIFT_NAME(messaging(_:didReceive:) - [Obsolete ("FCM direct channel is deprecated, please use APNs for downstream message handling.")] - [Export ("messaging:didReceiveMessage:")] - void DidReceiveMessage (Messaging messaging, RemoteMessage remoteMessage); } // @interface FIRMessaging : NSObject @@ -64,51 +47,11 @@ interface MessagingDelegate [BaseType (typeof (NSObject), Name = "FIRMessaging")] interface Messaging { - // extern NSString *const _Nonnull FIRMessagingSendSuccessNotification; - [Obsolete] - [Notification] - [Field ("FIRMessagingSendSuccessNotification", "__Internal")] - NSString SendSuccessNotification { get; } - - // extern NSString *const _Nonnull FIRMessagingSendErrorNotification; - [Obsolete] - [Notification] - [Field ("FIRMessagingSendErrorNotification", "__Internal")] - NSString SendErrorNotification { get; } - - // extern NSString *const _Nonnull FIRMessagingMessagesDeletedNotification; - [Obsolete] - [Notification] - [Field ("FIRMessagingMessagesDeletedNotification", "__Internal")] - NSString MessagesDeletedNotification { get; } - - // extern NSString *const _Nonnull FIRMessagingConnectionStateChangedNotification; - [Obsolete] - [Notification] - [Field ("FIRMessagingConnectionStateChangedNotification", "__Internal")] - NSString ConnectionStateChangedNotification { get; } - - // extern NSString *const _Nonnull FIRMessagingRegistrationTokenRefreshedNotification; - [Obsolete] - [Notification] - [Field ("FIRMessagingRegistrationTokenRefreshedNotification", "__Internal")] - NSString RegistrationTokenRefreshedNotification { get; } - // @property(nonatomic, weak, nullable) id delegate; [NullAllowed] [Export ("delegate", ArgumentSemantic.Weak)] IMessagingDelegate Delegate { get; set; } - // @property(nonatomic) BOOL shouldEstablishDirectChannel; - [Obsolete ("FCM direct channel is deprecated, please use APNs channel for downstream message delivery.")] - [Export ("shouldEstablishDirectChannel")] - bool ShouldEstablishDirectChannel { get; set; } - - // @property(nonatomic, readonly) BOOL isDirectChannelEstablished; - [Obsolete ("FCM direct channel is deprecated, please use APNs channel for downstream message delivery.")] - [Export ("isDirectChannelEstablished")] - bool IsDirectChannelEstablished { get; } - // +(instancetype _Nonnull)messaging; [Static] [Export ("messaging")] @@ -138,6 +81,16 @@ interface Messaging [Export ("FCMToken")] string FcmToken { get; } + // -(void)tokenWithCompletion:(void (^ _Nonnull)(NSString * _Nullable, NSError * _Nullable))completion; + [Export ("tokenWithCompletion:")] + [Async] + void FetchToken (MessagingDeleteFcmTokenCompletionHandler completion); + + // -(void)deleteTokenWithCompletion:(void (^ _Nonnull)(NSError * _Nullable))completion; + [Export ("deleteTokenWithCompletion:")] + [Async] + void DeleteToken (MessagingDeleteFcmTokenCompletionHandler completion); + // - (void)retrieveFCMTokenForSenderID:(nonnull NSString *)senderID completion:(nonnull FIRMessagingFCMTokenFetchCompletion) completion FIR_SWIFT_NAME(retrieveFCMToken(forSenderID:completion:)); [Async] [Export ("retrieveFCMTokenForSenderID:completion:")] @@ -166,18 +119,13 @@ interface Messaging [Export ("unsubscribeFromTopic:completion:")] void Unsubscribe (string topic, MessagingTopicOperationCompletionHandler completion); - // -(void)sendMessage:(NSDictionary * _Nonnull)message to:(NSString * _Nonnull)receiver withMessageID:(NSString * _Nonnull)messageID timeToLive:(int64_t)ttl; - [Obsolete ("Upstream messaging through direct channel is deprecated. For realtime updates, use Cloud Firestore, Realtime Database, or other services.")] - [Export ("sendMessage:to:withMessageID:timeToLive:")] - void SendMessage (NSDictionary nsMessage, string receiver, string messageId, long ttl); - - [Obsolete ("Upstream messaging through direct channel is deprecated. For realtime updates, use Cloud Firestore, Realtime Database, or other services.")] - [Wrap ("SendMessage (message == null ? null : NSDictionary.FromObjectsAndKeys (System.Linq.Enumerable.ToArray (message.Values), System.Linq.Enumerable.ToArray (message.Keys), message.Keys.Count), receiver, messageId, ttl)")] - void SendMessage (Dictionary message, string receiver, string messageId, long ttl); - // -(FIRMessagingMessageInfo * _Nonnull)appDidReceiveMessage:(NSDictionary * _Nonnull)message; [Export ("appDidReceiveMessage:")] MessageInfo AppDidReceiveMessage (NSDictionary message); + + // - (void)deleteDataWithCompletion:(void (^)(NSError *__nullable error))completion; + [Export ("deleteDataWithCompletion:")] + void DeleteData (DeleteDataCompletionHandler completion); } // @interface FIRMessagingExtensionHelper : NSObject diff --git a/source/Firebase/CloudMessaging/CloudMessaging.csproj b/source/Firebase/CloudMessaging/CloudMessaging.csproj index 5c1029ec1..a0f796f1c 100644 --- a/source/Firebase/CloudMessaging/CloudMessaging.csproj +++ b/source/Firebase/CloudMessaging/CloudMessaging.csproj @@ -6,7 +6,7 @@ Firebase.CloudMessaging Firebase.CloudMessaging 1.0.0.0 - 4.7.1 + 8.2.0 Resources true @@ -23,7 +23,7 @@ https://go.microsoft.com/fwlink/?linkid=865576 License.md true - 4.7.1 + 8.2.0 @@ -74,7 +74,6 @@ - diff --git a/source/Firebase/CloudMessaging/Loader.cs b/source/Firebase/CloudMessaging/Loader.cs index 8717f69f9..e4a0c52f9 100644 --- a/source/Firebase/CloudMessaging/Loader.cs +++ b/source/Firebase/CloudMessaging/Loader.cs @@ -8,7 +8,6 @@ static Loader () { Firebase.Core.Loader.ForceLoad (); Firebase.Installations.Loader.ForceLoad(); - Firebase.InstanceID.Loader.ForceLoad (); } public static void ForceLoad () { } diff --git a/source/Firebase/Core/Core.csproj b/source/Firebase/Core/Core.csproj index 55dc4756f..24ac35541 100644 --- a/source/Firebase/Core/Core.csproj +++ b/source/Firebase/Core/Core.csproj @@ -6,7 +6,7 @@ Firebase.Core Firebase.Core 1.0.0.0 - 6.10.4 + 8.2.0 Resources true @@ -23,7 +23,7 @@ https://go.microsoft.com/fwlink/?linkid=2007321 License.md true - 6.10.4 + 8.2.0 diff --git a/source/Firebase/Core/Core.targets b/source/Firebase/Core/Core.targets index 4d0dda3cd..397acb3a5 100644 --- a/source/Firebase/Core/Core.targets +++ b/source/Firebase/Core/Core.targets @@ -3,21 +3,31 @@ <_FirebaseCoreAssemblyName>Firebase.Core, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - <_GoogleAppMeasurementItemsFolder>GAppM-6.9.0 - <_GoogleAppMeasurementSDKBaseFolder>$(XamarinBuildDownloadDir)$(_GoogleAppMeasurementItemsFolder)\Frameworks\ + <_GoogleAppMeasurementItemsFolder>GAppM-8.2.0 + <_GoogleAppMeasurementSDKBaseFolder>$(XamarinBuildDownloadDir)$(_GoogleAppMeasurementItemsFolder)\GoogleAppMeasurement-8.1.1\Frameworks\ - https://dl.google.com/firebase/ios/analytics/002e6bbf37cc906f/GoogleAppMeasurement-6.9.0.tar.gz + https://dl.google.com/firebase/ios/analytics/2962dad7aa0f51fb/GoogleAppMeasurement-8.1.1.tar.gz Tgz - - - + + + + Framework + True + True + -ObjC -lc++ -lsqlite3 -lz + Security StoreKit SystemConfiguration UIKit + + + + + Framework True True diff --git a/source/Firebase/Core/Extension.cs b/source/Firebase/Core/Extension.cs index 1ea219cde..164a3c5d2 100644 --- a/source/Firebase/Core/Extension.cs +++ b/source/Firebase/Core/Extension.cs @@ -1,19 +1,23 @@ using System; -using ObjCRuntime; using System.Runtime.InteropServices; +using Foundation; + namespace Firebase.Core { public partial class App { - static string currentVersion; - public static string CurrentVersion { + // extern NSString * _Nonnull FIRFirebaseVersion () __attribute__((swift_name("FirebaseVersion()"))); + [DllImport ("__Internal", EntryPoint = "FIRFirebaseVersion")] + extern internal static IntPtr _FIRFirebaseVersion (); + + static string firebaseVersion; + public static string FirebaseVersion { get { - if (currentVersion == null) { - IntPtr RTLD_MAIN_ONLY = Dlfcn.dlopen (null, 0); - IntPtr ptr = Dlfcn.dlsym (RTLD_MAIN_ONLY, "FirebaseCoreVersionString"); - currentVersion = Marshal.PtrToStringAnsi (ptr); - Dlfcn.dlclose (RTLD_MAIN_ONLY); + if (firebaseVersion == null) { + + IntPtr verStrPtr = _FIRFirebaseVersion (); + firebaseVersion = NSString.FromHandle (verStrPtr); } - return currentVersion; + return firebaseVersion; } } } diff --git a/source/Firebase/Crashlytics/ApiDefinition.cs b/source/Firebase/Crashlytics/ApiDefinition.cs index 80d029c07..7ea3b9c2f 100644 --- a/source/Firebase/Crashlytics/ApiDefinition.cs +++ b/source/Firebase/Crashlytics/ApiDefinition.cs @@ -6,20 +6,14 @@ using UIKit; namespace Firebase.Crashlytics { + delegate void HasUnsentReportsHandler (bool hasUnsentReports); + delegate void CheckAndUpdateUnsentReportsHandler ([NullAllowed] CrashlyticsReport report); + // @interface FIRCrashlytics : NSObject [DisableDefaultCtor] [BaseType (typeof(NSObject), Name = "FIRCrashlytics")] interface Crashlytics { - // extern double FirebaseCrashlyticsVersionNumber; - [Field ("FirebaseCrashlyticsVersionNumber", "__Internal")] - double CurrentVersionNumber { get; } - - // extern const unsigned char [] FirebaseCrashlyticsVersionString; - [Internal] - [Field ("FirebaseCrashlyticsVersionString", "__Internal")] - IntPtr _CurrentVersion { get; } - // +(instancetype _Nonnull)crashlytics __attribute__((swift_name("crashlytics()"))); [Static] [Export ("crashlytics")] @@ -33,6 +27,10 @@ interface Crashlytics [Export ("setCustomValue:forKey:")] void SetCustomValue (NSObject value, string key); + // -(void)setCustomKeysAndValues:(NSDictionary * _Nonnull)keysAndValues; + [Export ("setCustomKeysAndValues:")] + void SetCustomKeysAndValues (NSDictionary keysAndValues); + // -(void)setUserID:(NSString * _Nonnull)userID; [Export ("setUserID:")] void SetUserId (string userId); @@ -60,7 +58,11 @@ interface Crashlytics // -(void)checkForUnsentReportsWithCompletion:(void (^ _Nonnull)(BOOL))completion __attribute__((swift_name("checkForUnsentReports(completion:)"))); [Async] [Export ("checkForUnsentReportsWithCompletion:")] - void CheckForUnsentReports (Action completion); + void CheckForUnsentReports (HasUnsentReportsHandler completion); + + // -(void)checkAndUpdateUnsentReportsWithCompletion:(void (^ _Nonnull)(FIRCrashlyticsReport * _Nullable))completion __attribute__((swift_name("checkAndUpdateUnsentReports(completion:)"))); + [Export ("checkAndUpdateUnsentReportsWithCompletion:")] + void CheckAndUpdateUnsentReportsWithCompletion (CheckAndUpdateUnsentReportsHandler completionHandler); // -(void)sendUnsentReports; [Export ("sendUnsentReports")] @@ -108,4 +110,37 @@ interface StackFrame [Export ("stackFrameWithSymbol:file:line:")] StackFrame Create (string symbol, string file, nint line); } + + // @interface FIRCrashlyticsReport : NSObject + [DisableDefaultCtor] + [BaseType (typeof (NSObject), Name = "FIRCrashlyticsReport")] + interface CrashlyticsReport { + // @property (readonly, nonatomic) NSString * _Nonnull reportID; + [Export ("reportID")] + string ReportID { get; } + + // @property (readonly, nonatomic) NSDate * _Nonnull dateCreated; + [Export ("dateCreated")] + NSDate DateCreated { get; } + + // @property (readonly, nonatomic) BOOL hasCrash; + [Export ("hasCrash")] + bool HasCrash { get; } + + // -(void)log:(NSString * _Nonnull)msg; + [Export ("log:")] + void Log (string msg); + + // -(void)setCustomValue:(id _Nonnull)value forKey:(NSString * _Nonnull)key; + [Export ("setCustomValue:forKey:")] + void SetCustomValue (NSObject value, string key); + + // -(void)setCustomKeysAndValues:(NSDictionary * _Nonnull)keysAndValues; + [Export ("setCustomKeysAndValues:")] + void SetCustomKeysAndValues (NSDictionary keysAndValues); + + // -(void)setUserID:(NSString * _Nonnull)userID; + [Export ("setUserID:")] + void SetUserID (string userID); + } } diff --git a/source/Firebase/Crashlytics/Crashlytics.csproj b/source/Firebase/Crashlytics/Crashlytics.csproj index 62d13b7ac..4242ac105 100644 --- a/source/Firebase/Crashlytics/Crashlytics.csproj +++ b/source/Firebase/Crashlytics/Crashlytics.csproj @@ -6,7 +6,7 @@ Firebase.Crashlytics Firebase.Crashlytics 1.0.0.0 - 4.6.2 + 8.2.0 Resources true @@ -23,7 +23,7 @@ https://go.microsoft.com/fwlink/?linkid=873305 License.md true - 4.6.2 + 8.2.0 diff --git a/source/Firebase/Crashlytics/Crashlytics.targets b/source/Firebase/Crashlytics/Crashlytics.targets index 387ca9155..f4660d176 100644 --- a/source/Firebase/Crashlytics/Crashlytics.targets +++ b/source/Firebase/Crashlytics/Crashlytics.targets @@ -2,7 +2,7 @@ <_FirebaseCrashlyticsAssemblyName>Firebase.Crashlytics, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - <_FirebaseCrashlyticsItemsFolder>FCrshlytcs-4.6.2 + <_FirebaseCrashlyticsItemsFolder>FCrshlytcs-8.2.0 <_FirebaseCrashlyticsSDKBaseFolder>$(XamarinBuildDownloadDir)$(_FirebaseCrashlyticsItemsFolder)\ <_FirebaseScriptName>upload-symbols.sh @@ -22,7 +22,7 @@ - https://raw.githubusercontent.com/firebase/firebase-ios-sdk/c93d07529993352b6286ec71e58114a8ac8bd949/Crashlytics/upload-symbols + https://raw.githubusercontent.com/firebase/firebase-ios-sdk/22d785016bf9b9a5d425597bf4a0ddd4cb158e5f/Crashlytics/upload-symbols $(_FirebaseCrashlyticsSDKBaseFolder)$(_FirebaseScriptName) Uncompressed diff --git a/source/Firebase/Crashlytics/Extensions.cs b/source/Firebase/Crashlytics/Extensions.cs index 7a1d052bf..a152f11fe 100644 --- a/source/Firebase/Crashlytics/Extensions.cs +++ b/source/Firebase/Crashlytics/Extensions.cs @@ -7,21 +7,7 @@ using ObjCRuntime; namespace Firebase.Crashlytics { - public partial class Crashlytics { - static string currentVersion; - public static string CurrentVersion { - get { - if (currentVersion == null) { - IntPtr RTLD_MAIN_ONLY = Dlfcn.dlopen (null, 0); - IntPtr ptr = Dlfcn.dlsym (RTLD_MAIN_ONLY, "FirebaseCrashlyticsVersionString"); - currentVersion = Marshal.PtrToStringAnsi (ptr); - Dlfcn.dlclose (RTLD_MAIN_ONLY); - } - - return currentVersion; - } - } - + public partial class Crashlytics { public void LogCallerInformation (string message, string className = "", [CallerFilePath] string filePath = "", [CallerMemberName] string memberName = "", [CallerLineNumber] int lineNumber = 0) { var logBuilder = new StringBuilder (); diff --git a/source/Firebase/Database/ApiDefinition.cs b/source/Firebase/Database/ApiDefinition.cs index 02627ba5f..c4e0c3499 100644 --- a/source/Firebase/Database/ApiDefinition.cs +++ b/source/Firebase/Database/ApiDefinition.cs @@ -82,6 +82,10 @@ interface Database [Static] [Export ("sdkVersion")] string SdkVersion { get; } + + // - (void) useEmulatorWithHost:(NSString*) host port:(NSInteger) port; + [Export ("useEmulatorWithHost:port:")] + void UseEmulatorWithHost (string host, uint port); } delegate void DatabaseQueryUpdateHandler (DataSnapshot snapshot); @@ -168,6 +172,16 @@ interface DatabaseQuery [Export ("queryStartingAtValue:childKey:")] DatabaseQuery GetQueryStartingAtValue ([NullAllowed] NSObject startValue, [NullAllowed] string childKey); + // - (FIRDatabaseQuery *)queryStartingAfterValue:(nullable id)startAfterValue; + [New] + [Export ("queryStartingAfterValue:")] + DatabaseQuery GetQueryStartingAfterValue ([NullAllowed] NSObject startAfterValue); + + // - (FIRDatabaseQuery *)queryStartingAfterValue:(nullable id)startAfterValue childKey:(nullable NSString *)childKey; + [New] + [Export ("queryStartingAfterValue:childKey:")] + DatabaseQuery GetQueryStartingAfterValue ([NullAllowed] NSObject startAfterValue, [NullAllowed] string childKey); + // -(FIRDatabaseQuery * _Nonnull)queryEndingAtValue:(id _Nullable)endValue; [Export ("queryEndingAtValue:")] DatabaseQuery GetQueryEndingAtValue ([NullAllowed] NSObject endValue); @@ -176,6 +190,16 @@ interface DatabaseQuery [Export ("queryEndingAtValue:childKey:")] DatabaseQuery GetQueryEndingAtValue ([NullAllowed] NSObject endValue, [NullAllowed] string childKey); + // - (FIRDatabaseQuery *)queryEndingBeforeValue:(nullable id)endValue; + [New] + [Export ("queryEndingBeforeValue:")] + DatabaseQuery GetQueryEndingBeforeValue ([NullAllowed] NSObject endValue); + + // - (FIRDatabaseQuery *)queryEndingBeforeValue:(nullable id)endValue childKey:(nullable NSString *)childKey; + [New] + [Export ("queryEndingBeforeValue:childKey:")] + DatabaseQuery GetQueryEndingBeforeValue ([NullAllowed] NSObject endValue, [NullAllowed] string childKey); + // -(FIRDatabaseQuery * _Nonnull)queryEqualToValue:(id _Nullable)value; [Export ("queryEqualToValue:")] DatabaseQuery GetQueryEqualToValue ([NullAllowed] NSObject value); @@ -192,6 +216,7 @@ interface DatabaseQuery delegate void DatabaseReferenceCompletionHandler ([NullAllowed] NSError error, DatabaseReference reference); delegate TransactionResult DatabaseReferenceTransactionHandler (MutableData currentData); delegate void DatabaseReferenceTransactionCompletionHandler ([NullAllowed] NSError error, bool commited, [NullAllowed] DataSnapshot snapshot); + delegate void DataSnapshotCompletionHandler ([NullAllowed] NSError error, [NullAllowed] DataSnapshot snapshot); // @interface FIRDatabaseReference : FIRDatabaseQuery [BaseType (typeof (DatabaseQuery), Name = "FIRDatabaseReference")] @@ -269,6 +294,11 @@ interface DatabaseReference [Export ("observeEventType:andPreviousSiblingKeyWithBlock:withCancelBlock:")] nuint ObserveEvent (DataEventType eventType, DatabaseQueryPreviousSiblingKeyUpdateHandler completionHandler, [NullAllowed] DatabaseQueryCancelHandler cancelHandler); + // - (void)getDataWithCompletionBlock: (void (^_Nonnull)(NSError* __nullable error, FIRDataSnapshot *snapshot))block; + [New] + [Export ("getDataWithCompletionBlock:")] + void GetData (DataSnapshotCompletionHandler completionHandler); + // -(void)observeSingleEventOfType:(FIRDataEventType)eventType withBlock:(void (^ _Nonnull)(FIRDataSnapshot * _Nonnull))block; [New] [Export ("observeSingleEventOfType:withBlock:")] @@ -339,6 +369,16 @@ interface DatabaseReference [Export ("queryStartingAtValue:childKey:")] DatabaseQuery GetQueryStartingAtValue ([NullAllowed] NSObject startValue, [NullAllowed] string childKey); + // - (FIRDatabaseQuery *)queryStartingAfterValue:(nullable id)startAfterValue; + [New] + [Export ("queryStartingAfterValue:")] + DatabaseQuery GetQueryStartingAfterValue ([NullAllowed] NSObject startAfterValue); + + // - (FIRDatabaseQuery *)queryStartingAfterValue:(nullable id)startAfterValue childKey:(nullable NSString *)childKey; + [New] + [Export ("queryStartingAfterValue:childKey:")] + DatabaseQuery GetQueryStartingAfterValue ([NullAllowed] NSObject startAfterValue, [NullAllowed] string childKey); + // -(FIRDatabaseQuery * _Nonnull)queryEndingAtValue:(id _Nullable)endValue; [New] [Export ("queryEndingAtValue:")] diff --git a/source/Firebase/Database/Database.csproj b/source/Firebase/Database/Database.csproj index 09942582f..2933b9930 100644 --- a/source/Firebase/Database/Database.csproj +++ b/source/Firebase/Database/Database.csproj @@ -6,7 +6,7 @@ Firebase.Database Firebase.Database 1.0.0.0 - 6.6.0 + 8.2.0 Resources true @@ -23,7 +23,7 @@ https://go.microsoft.com/fwlink/?linkid=865568 License.md true - 6.6.0 + 8.2.0 diff --git a/source/Firebase/DynamicLinks/ApiDefinition.cs b/source/Firebase/DynamicLinks/ApiDefinition.cs index 41d172113..d27b7a5f9 100644 --- a/source/Firebase/DynamicLinks/ApiDefinition.cs +++ b/source/Firebase/DynamicLinks/ApiDefinition.cs @@ -283,12 +283,6 @@ interface DynamicLinkComponents [Export ("componentsWithLink:domainURIPrefix:")] DynamicLinkComponents Create (NSUrl link, string domainUriPrefix); - [Obsolete("Use the Create static method instead. This will be removed in future versions.")] - [Static] - [return: NullAllowed] - [Wrap ("Create (link, domainUriPrefix)")] - DynamicLinkComponents FromLink (NSUrl link, string domainUriPrefix); - // -(instancetype _Nonnull)initWithLink:(NSURL * _Nonnull)link domain:(NSString * _Nonnull)domain; [Export ("initWithLink:domainURIPrefix:")] IntPtr Constructor (NSUrl link, string domainUriPrefix); @@ -319,6 +313,10 @@ interface DynamicLink [Export ("matchType", ArgumentSemantic.Assign)] DynamicLinkMatchType MatchType { get; } + // @property (readonly, copy, readonly) NSDictionary *utmParametersDictionary; + [Export ("utmParametersDictionary", ArgumentSemantic.Copy)] + NSDictionary UtmParametersDictionary { get; } + // @property(nonatomic, copy, readonly, nullable) NSString *minimumAppVersion; [NullAllowed] [Export ("minimumAppVersion")] @@ -354,9 +352,14 @@ interface DynamicLinks [Export ("dynamicLinkFromCustomSchemeURL:")] DynamicLink FromCustomSchemeUrl (NSUrl url); + // - (void)dynamicLinkFromUniversalLinkURL:(NSURL *)url completion:(FIRDynamicLinkUniversalLinkHandler)completion + [Export ("dynamicLinkFromUniversalLinkURL:completion:")] + void FromUniversalLinkUrl (NSUrl url, DynamicLinkUniversalLinkHandler completion); + // -(FIRDynamicLink * _Nullable)dynamicLinkFromUniversalLinkURL:(NSURL * _Nonnull)url; [return: NullAllowed] [Export ("dynamicLinkFromUniversalLinkURL:")] + [Obsolete("Use 'FromUniversalLinkUrl (NSUrl url, DynamicLinkUniversalLinkHandler completion)' instead")] DynamicLink FromUniversalLinkUrl (NSUrl url); // -(BOOL)handleUniversalLink:(NSURL * _Nonnull)url completion:(FIRDynamicLinkUniversalLinkHandler _Nonnull)completion; diff --git a/source/Firebase/DynamicLinks/DynamicLinks.csproj b/source/Firebase/DynamicLinks/DynamicLinks.csproj index 6bf11612b..855d4cba7 100644 --- a/source/Firebase/DynamicLinks/DynamicLinks.csproj +++ b/source/Firebase/DynamicLinks/DynamicLinks.csproj @@ -6,7 +6,7 @@ Firebase.DynamicLinks Firebase.DynamicLinks 1.0.0.0 - 4.3.1 + 8.2.0 Resources true @@ -23,7 +23,7 @@ https://go.microsoft.com/fwlink/?linkid=865537 License.md true - 4.3.1 + 8.2.0 diff --git a/source/Firebase/InAppMessaging/ApiDefinition.cs b/source/Firebase/InAppMessaging/ApiDefinition.cs index d60a01d7a..e73538dbd 100644 --- a/source/Firebase/InAppMessaging/ApiDefinition.cs +++ b/source/Firebase/InAppMessaging/ApiDefinition.cs @@ -12,15 +12,6 @@ namespace Firebase.InAppMessaging [BaseType (typeof(NSObject), Name = "FIRInAppMessaging")] interface InAppMessaging { - // extern double FirebaseInAppMessagingVersionNumber; - [Field ("FirebaseInAppMessagingVersionNumber", "__Internal")] - double CurrentVersionNumber { get; } - - // extern const unsigned char [] FirebaseInAppMessagingVersionString; - [Internal] - [Field ("FirebaseInAppMessagingVersionString", "__Internal")] - IntPtr _CurrentVersion { get; } - // +(FIRInAppMessaging * _Nonnull)inAppMessaging __attribute__((swift_name("inAppMessaging()"))); [Static] [Export ("inAppMessaging")] @@ -64,10 +55,6 @@ interface InAppMessagingActionButton // @property (readonly, copy, nonatomic) UIColor * _Nonnull buttonBackgroundColor; [Export ("buttonBackgroundColor", ArgumentSemantic.Copy)] UIColor ButtonBackgroundColor { get; } - - // -(instancetype _Nonnull)initWithButtonText:(NSString * _Nonnull)btnText buttonTextColor:(UIColor * _Nonnull)textColor backgroundColor:(UIColor * _Nonnull)bkgColor __attribute__((deprecated(""))); - [Export ("initWithButtonText:buttonTextColor:backgroundColor:")] - IntPtr Constructor (string btnText, UIColor textColor, UIColor bkgColor); } // @interface FIRInAppMessagingImageData : NSObject @@ -105,10 +92,6 @@ interface InAppMessagingCampaignInfo // @property (readonly, nonatomic) BOOL renderAsTestMessage; [Export("renderAsTestMessage")] bool RenderAsTestMessage { get; } - - // -(instancetype _Nonnull)initWithMessageID:(NSString * _Nonnull)messageID campaignName:(NSString * _Nonnull)campaignName renderAsTestMessage:(BOOL)renderAsTestMessage __attribute__((deprecated(""))); - [Export("initWithMessageID:campaignName:renderAsTestMessage:")] - IntPtr Constructor(string messageId, string campaignName, bool renderAsTestMessage); } // @interface FIRInAppMessagingAction : NSObject @@ -152,10 +135,6 @@ interface InAppMessagingDisplayMessage [NullAllowed] [Export ("appData")] NSDictionary AppData { get; } - - // -(instancetype _Nonnull)initWithMessageID:(NSString * _Nonnull)messageID campaignName:(NSString * _Nonnull)campaignName renderAsTestMessage:(BOOL)renderAsTestMessage messageType:(FIRInAppMessagingDisplayMessageType)messageType triggerType:(FIRInAppMessagingDisplayTriggerType)triggerType __attribute__((deprecated(""))); - [Export ("initWithMessageID:campaignName:renderAsTestMessage:messageType:triggerType:")] - IntPtr Constructor (string messageId, string campaignName, bool renderAsTestMessage, InAppMessagingDisplayMessageType messageType, InAppMessagingDisplayTriggerType triggerType); } // @interface FIRInAppMessagingCardDisplay : FIRInAppMessagingDisplayMessage @@ -237,17 +216,13 @@ interface InAppMessagingModalDisplay [Export ("actionURL")] NSUrl ActionUrl { get; } - // @property (copy, nonatomic) UIColor * _Nonnull displayBackgroundColor; + // @property(nonatomic, copy, nonnull, readonly) UIColor *displayBackgroundColor; [Export ("displayBackgroundColor", ArgumentSemantic.Copy)] - UIColor DisplayBackgroundColor { get; set; } + UIColor DisplayBackgroundColor { get; } - // @property (copy, nonatomic) UIColor * _Nonnull textColor; + // @property(nonatomic, copy, nonnull, readonly) UIColor *textColor; [Export ("textColor", ArgumentSemantic.Copy)] - UIColor TextColor { get; set; } - - // -(instancetype _Nonnull)initWithMessageID:(NSString * _Nonnull)messageID campaignName:(NSString * _Nonnull)campaignName renderAsTestMessage:(BOOL)renderAsTestMessage triggerType:(FIRInAppMessagingDisplayTriggerType)triggerType titleText:(NSString * _Nonnull)title bodyText:(NSString * _Nonnull)bodyText textColor:(UIColor * _Nonnull)textColor backgroundColor:(UIColor * _Nonnull)backgroundColor imageData:(FIRInAppMessagingImageData * _Nullable)imageData actionButton:(FIRInAppMessagingActionButton * _Nullable)actionButton actionURL:(NSURL * _Nullable)actionURL __attribute__((deprecated(""))); - [Export ("initWithMessageID:campaignName:renderAsTestMessage:triggerType:titleText:bodyText:textColor:backgroundColor:imageData:actionButton:actionURL:")] - IntPtr Constructor (string messageId, string campaignName, bool renderAsTestMessage, InAppMessagingDisplayTriggerType triggerType, string title, string bodyText, UIColor textColor, UIColor backgroundColor, [NullAllowed] InAppMessagingImageData imageData, [NullAllowed] InAppMessagingActionButton actionButton, [NullAllowed] NSUrl actionUrl); + UIColor TextColor { get; } } // @interface FIRInAppMessagingBannerDisplay : FIRInAppMessagingDisplayMessage @@ -273,18 +248,14 @@ interface InAppMessagingBannerDisplay [Export ("displayBackgroundColor", ArgumentSemantic.Copy)] UIColor DisplayBackgroundColor { get; } - // @property (copy, nonatomic) UIColor * _Nonnull textColor; + // @property (nonatomic, copy, nonnull, readonly) UIColor * _Nonnull textColor; [Export ("textColor", ArgumentSemantic.Copy)] - UIColor TextColor { get; set; } + UIColor TextColor { get; } // @property (readonly, nonatomic) NSURL * _Nullable actionURL; [NullAllowed] [Export ("actionURL")] NSUrl ActionUrl { get; } - - // -(instancetype _Nonnull)initWithMessageID:(NSString * _Nonnull)messageID campaignName:(NSString * _Nonnull)campaignName renderAsTestMessage:(BOOL)renderAsTestMessage triggerType:(FIRInAppMessagingDisplayTriggerType)triggerType titleText:(NSString * _Nonnull)title bodyText:(NSString * _Nonnull)bodyText textColor:(UIColor * _Nonnull)textColor backgroundColor:(UIColor * _Nonnull)backgroundColor imageData:(FIRInAppMessagingImageData * _Nullable)imageData actionURL:(NSURL * _Nullable)actionURL __attribute__((deprecated(""))); - [Export ("initWithMessageID:campaignName:renderAsTestMessage:triggerType:titleText:bodyText:textColor:backgroundColor:imageData:actionURL:")] - IntPtr Constructor (string messageId, string campaignName, bool renderAsTestMessage, InAppMessagingDisplayTriggerType triggerType, string title, string bodyText, UIColor textColor, UIColor backgroundColor, [NullAllowed] InAppMessagingImageData imageData, [NullAllowed] NSUrl actionUrl); } // @interface FIRInAppMessagingImageOnlyDisplay : FIRInAppMessagingDisplayMessage @@ -300,10 +271,6 @@ interface InAppMessagingImageOnlyDisplay [NullAllowed] [Export ("actionURL")] NSUrl ActionUrl { get; } - - // -(instancetype _Nonnull)initWithMessageID:(NSString * _Nonnull)messageID campaignName:(NSString * _Nonnull)campaignName renderAsTestMessage:(BOOL)renderAsTestMessage triggerType:(FIRInAppMessagingDisplayTriggerType)triggerType imageData:(FIRInAppMessagingImageData * _Nullable)imageData actionURL:(NSURL * _Nullable)actionURL __attribute__((deprecated(""))); - [Export ("initWithMessageID:campaignName:renderAsTestMessage:triggerType:imageData:actionURL:")] - IntPtr Constructor (string messageId, string campaignName, bool renderAsTestMessage, InAppMessagingDisplayTriggerType triggerType, [NullAllowed] InAppMessagingImageData imageData, [NullAllowed] NSUrl actionUrl); } interface IInAppMessagingDisplayDelegate { } @@ -318,10 +285,6 @@ interface InAppMessagingDisplayDelegate [Export ("messageDismissed:dismissType:")] void MessageDismissed (InAppMessagingDisplayMessage inAppMessage, InAppMessagingDismissType dismissType); - // @optional -(void)messageClicked:(FIRInAppMessagingDisplayMessage * _Nonnull)inAppMessage __attribute__((deprecated(""))); - [Export ("messageClicked:")] - void MessageClicked (InAppMessagingDisplayMessage inAppMessage); - // @optional -(void)messageClicked:(FIRInAppMessagingDisplayMessage * _Nonnull)inAppMessage withAction:(FIRInAppMessagingAction * _Nonnull)action; [Export ("messageClicked:withAction:")] void MessageClicked (InAppMessagingDisplayMessage inAppMessage, InAppMessagingAction action); diff --git a/source/Firebase/InAppMessaging/Extensions.cs b/source/Firebase/InAppMessaging/Extensions.cs deleted file mode 100644 index f9a137860..000000000 --- a/source/Firebase/InAppMessaging/Extensions.cs +++ /dev/null @@ -1,22 +0,0 @@ -using System; -using System.Runtime.InteropServices; - -using ObjCRuntime; - -namespace Firebase.InAppMessaging { - public partial class InAppMessaging { - static string currentVersion; - public static string CurrentVersion { - get { - if (currentVersion == null) { - IntPtr RTLD_MAIN_ONLY = Dlfcn.dlopen (null, 0); - IntPtr ptr = Dlfcn.dlsym (RTLD_MAIN_ONLY, "FirebaseInAppMessagingVersionString"); - currentVersion = Marshal.PtrToStringAnsi (ptr); - Dlfcn.dlclose (RTLD_MAIN_ONLY); - } - - return currentVersion; - } - } - } -} diff --git a/source/Firebase/InAppMessaging/InAppMessaging.csproj b/source/Firebase/InAppMessaging/InAppMessaging.csproj index adf2687c1..46259d492 100644 --- a/source/Firebase/InAppMessaging/InAppMessaging.csproj +++ b/source/Firebase/InAppMessaging/InAppMessaging.csproj @@ -6,7 +6,7 @@ Firebase.InAppMessaging Firebase.InAppMessaging 1.0.0.0 - 0.24.0 + 8.2.0 Resources true @@ -23,7 +23,7 @@ https://go.microsoft.com/fwlink/?linkid=2125628 License.md true - 0.24.0 + 8.2.0 @@ -75,10 +75,5 @@ - - - - - diff --git a/source/Firebase/Installations/ApiDefinition.cs b/source/Firebase/Installations/ApiDefinition.cs index 59c817157..d17bb0fe9 100644 --- a/source/Firebase/Installations/ApiDefinition.cs +++ b/source/Firebase/Installations/ApiDefinition.cs @@ -22,10 +22,6 @@ interface InstallationIdChangedEventArgs [BaseType (typeof(NSObject), Name = "FIRInstallations")] interface Installations { - // extern const unsigned char [] FirebaseInstallationsVersionString; - [Field("FirebaseInstallationsVersionString", "__Internal")] - IntPtr _CurrentVersion { get; } - // extern const NSNotificationName _Nonnull FIRInstallationIDDidChangeNotification; [Notification (typeof (InstallationIdChangedEventArgs))] [Field ("FIRInstallationIDDidChangeNotification", "__Internal")] diff --git a/source/Firebase/Installations/Extensions.cs b/source/Firebase/Installations/Extensions.cs deleted file mode 100644 index 1501e2b38..000000000 --- a/source/Firebase/Installations/Extensions.cs +++ /dev/null @@ -1,22 +0,0 @@ -using System; -using System.Runtime.InteropServices; - -using ObjCRuntime; - -namespace Firebase.Installations { - public partial class Installations { - static string currentVersion; - public static string CurrentVersion { - get { - if (currentVersion == null) { - IntPtr RTLD_MAIN_ONLY = Dlfcn.dlopen (null, 0); - IntPtr ptr = Dlfcn.dlsym (RTLD_MAIN_ONLY, "FIRInstallationsVersionStr"); - currentVersion = Marshal.PtrToStringAnsi (ptr); - Dlfcn.dlclose (RTLD_MAIN_ONLY); - } - - return currentVersion; - } - } - } -} diff --git a/source/Firebase/Installations/Installations.csproj b/source/Firebase/Installations/Installations.csproj index e8ca5eae7..2825de7f8 100644 --- a/source/Firebase/Installations/Installations.csproj +++ b/source/Firebase/Installations/Installations.csproj @@ -6,7 +6,7 @@ Firebase.Installations Firebase.Installations 1.0.0.0 - 1.7.0 + 8.2.0 Resources true @@ -23,7 +23,7 @@ https://go.microsoft.com/fwlink/?linkid=2125908 License.md true - 1.7.0 + 8.2.0 @@ -73,10 +73,5 @@ - - - - - diff --git a/source/Firebase/InstanceID/InstanceID.csproj b/source/Firebase/InstanceID/InstanceID.csproj index 29436f7e6..9a0da3de3 100644 --- a/source/Firebase/InstanceID/InstanceID.csproj +++ b/source/Firebase/InstanceID/InstanceID.csproj @@ -6,7 +6,7 @@ Firebase.InstanceID Firebase.InstanceID 1.0.0.0 - 4.8.0 + 7.11.0 Resources true @@ -23,7 +23,7 @@ https://go.microsoft.com/fwlink/?linkid=865551 License.md true - 4.8.0 + 7.11.0 diff --git a/source/Firebase/PerformanceMonitoring/Loader.cs b/source/Firebase/PerformanceMonitoring/Loader.cs index 013732fde..3bc9f2236 100644 --- a/source/Firebase/PerformanceMonitoring/Loader.cs +++ b/source/Firebase/PerformanceMonitoring/Loader.cs @@ -8,7 +8,6 @@ static Loader () { Firebase.Core.Loader.ForceLoad (); Firebase.Installations.Loader.ForceLoad(); - Firebase.InstanceID.Loader.ForceLoad (); Firebase.ABTesting.Loader.ForceLoad (); Firebase.RemoteConfig.Loader.ForceLoad (); } diff --git a/source/Firebase/PerformanceMonitoring/PerformanceMonitoring.csproj b/source/Firebase/PerformanceMonitoring/PerformanceMonitoring.csproj index 2f636ec26..c1e94c59d 100644 --- a/source/Firebase/PerformanceMonitoring/PerformanceMonitoring.csproj +++ b/source/Firebase/PerformanceMonitoring/PerformanceMonitoring.csproj @@ -6,7 +6,7 @@ Firebase.PerformanceMonitoring Firebase.PerformanceMonitoring 1.0.0.0 - 3.3.0 + 8.2.0 Resources true @@ -23,7 +23,7 @@ https://go.microsoft.com/fwlink/?linkid=866312 License.md true - 3.3.0 + 8.2.0 @@ -35,12 +35,23 @@ - - + + FirebaseFunctions.framework + + + + Framework + True + True + -ObjC -lc++ + CoreTelephony QuartzCore SystemConfiguration + + + @@ -61,10 +72,9 @@ - - + diff --git a/source/Firebase/PerformanceMonitoring/PerformanceMonitoring.targets b/source/Firebase/PerformanceMonitoring/PerformanceMonitoring.targets deleted file mode 100644 index 306743656..000000000 --- a/source/Firebase/PerformanceMonitoring/PerformanceMonitoring.targets +++ /dev/null @@ -1,27 +0,0 @@ - - - - <_FirebasePerformanceMonitoringAssemblyName>Firebase.PerformanceMonitoring, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - <_FirebasePerformanceMonitoringItemsFolder>FPrfrmncM-3.3.0 - <_FirebasePerformanceMonitoringSDKBaseFolder>$(XamarinBuildDownloadDir)$(_FirebasePerformanceMonitoringItemsFolder)\FirebasePerformance-3.3.0\Frameworks\ - - - - https://dl.google.com/dl/cpdc/ec10178ac6b36ea6/FirebasePerformance-3.3.0.tar.gz - Tgz - - - - - - - - Framework - True - True - -ObjC -lc++ - CoreTelephony QuartzCore SystemConfiguration - - - - \ No newline at end of file diff --git a/source/Firebase/RemoteConfig/ApiDefinition.cs b/source/Firebase/RemoteConfig/ApiDefinition.cs index 5bbc69422..a82a121d8 100644 --- a/source/Firebase/RemoteConfig/ApiDefinition.cs +++ b/source/Firebase/RemoteConfig/ApiDefinition.cs @@ -11,15 +11,15 @@ namespace Firebase.RemoteConfig // typedef void (^FIRRemoteConfigFetchCompletion)(FIRRemoteConfigFetchStatus, NSError * _Nullable); delegate void RemoteConfigFetchCompletionHandler (RemoteConfigFetchStatus status, [NullAllowed] NSError error); - // typedef void (^FIRRemoteConfigActivateCompletion)(NSError * _Nullable); - delegate void RemoteConfigActivateCompletionHandler ([NullAllowed] NSError error); - // typedef void (^FIRRemoteConfigInitializationCompletion)(NSError * _Nullable); delegate void RemoteConfigInitializationCompletionHandler ([NullAllowed] NSError error); // typedef void (^FIRRemoteConfigFetchAndActivateCompletion)(FIRRemoteConfigFetchAndActivateStatus, NSError * _Nullable); delegate void RemoteConfigFetchAndActivateCompletionHandler (RemoteConfigFetchAndActivateStatus status, [NullAllowed] NSError error); + // typedef void (^_Nullable)(BOOL changed, NSError *_Nullable error); + delegate void RemoteConfigActivateCompletionHandler (bool changed, [NullAllowed] NSError error); + // @interface FIRRemoteConfigValue : NSObject [DisableDefaultCtor] [BaseType (typeof (NSObject), Name = "FIRRemoteConfigValue")] @@ -30,8 +30,7 @@ interface RemoteConfigValue : INSCopying [Export ("stringValue")] NSString NSStringValue { get; } - // @property (readonly, nonatomic) NSNumber * _Nullable numberValue; - [NullAllowed] + // @property(nonatomic, readonly, nonnull) NSNumber *numberValue; [Export ("numberValue")] NSNumber NumberValue { get; } @@ -64,16 +63,6 @@ interface RemoteConfigSettings // @property (assign, nonatomic) NSTimeInterval fetchTimeout; [Export ("fetchTimeout")] double FetchTimeout { get; set; } - - // @property (readonly, nonatomic) BOOL isDeveloperModeEnabled; - [Obsolete ("This no longer needs to be set during development.")] - [Export ("isDeveloperModeEnabled")] - bool IsDeveloperModeEnabled { get; } - - // -(FIRRemoteConfigSettings * _Nullable)initWithDeveloperModeEnabled:(BOOL)developerModeEnabled __attribute__((objc_designated_initializer)); - [Obsolete ("This no longer needs to be set during development.")] - [Export ("initWithDeveloperModeEnabled:")] - IntPtr Constructor (bool developerModeEnabled); } // @interface FIRRemoteConfig : NSObject @@ -93,10 +82,10 @@ interface RemoteConfig [Field ("FIRRemoteConfigErrorDomain", "__Internal")] NSString ErrorDomain { get; } - // @property (readonly, nonatomic, strong) NSDate * _Nullable lastFetchTime; + // @property(nonatomic, readonly, strong, nullable) NSDate *lastFetchTime; [NullAllowed] [Export ("lastFetchTime", ArgumentSemantic.Strong)] - NSDate LastFetchTime { get; set; } + NSDate LastFetchTime { get; } // @property (readonly, assign, nonatomic) FIRRemoteConfigFetchStatus lastFetchStatus; [Export ("lastFetchStatus", ArgumentSemantic.Assign)] @@ -136,52 +125,34 @@ interface RemoteConfig [Export ("fetchAndActivateWithCompletionHandler:")] void FetchAndActivate ([NullAllowed] RemoteConfigFetchAndActivateCompletionHandler completionHandler); - // -(void)activateWithCompletionHandler:(FIRRemoteConfigActivateCompletion _Nullable)completionHandler; + // - (void)activateWithCompletion:(void (^_Nullable)(BOOL changed, NSError *_Nullable error))completion; [Async] - [Export ("activateWithCompletionHandler:")] + [Export ("activateWithCompletion:")] void Activate ([NullAllowed] RemoteConfigActivateCompletionHandler completionHandler); - // -(BOOL)activateFetched; - [Obsolete ("Use the Activate method instead.")] - [Export ("activateFetched")] - bool ActivateFetched (); + [Wrap ("Activate (null)")] + void Activate (); + + // - (nonnull FIRRemoteConfigValue *)objectForKeyedSubscript:(nonnull NSString *)key; + [Export ("objectForKeyedSubscript:")] + RemoteConfigValue GetObjectForKeyedSubscript (NSString key); // -(FIRRemoteConfigValue * _Nonnull)configValueForKey:(NSString * _Nullable)key; [Export ("configValueForKey:")] RemoteConfigValue GetConfigValue ([NullAllowed] string key); - // -(FIRRemoteConfigValue * _Nonnull)configValueForKey:(NSString * _Nullable)key namespace:(NSString * _Nullable)aNamespace __attribute__((deprecated("Use -[FIRRemoteConfig configValueForKey:] instead."))); - [Obsolete ("Use the GetConfigValue (string) overload method instead.")] - [Export ("configValueForKey:namespace:")] - RemoteConfigValue GetConfigValue ([NullAllowed] string key, [NullAllowed] string aNamespace); - // -(FIRRemoteConfigValue * _Nonnull)configValueForKey:(NSString * _Nullable)key source:(FIRRemoteConfigSource)source; [Export ("configValueForKey:source:")] RemoteConfigValue GetConfigValue ([NullAllowed] string key, RemoteConfigSource source); - // -(FIRRemoteConfigValue * _Nonnull)configValueForKey:(NSString * _Nullable)key namespace:(NSString * _Nullable)aNamespace source:(FIRRemoteConfigSource)source __attribute__((deprecated("Use -[FIRRemoteConfig configValueForKey:source:] instead."))); - [Obsolete ("Use the GetConfigValue (string, RemoteConfigSource) overload method instead.")] - [Export ("configValueForKey:namespace:source:")] - RemoteConfigValue GetConfigValue ([NullAllowed] string key, [NullAllowed] string aNamespace, RemoteConfigSource source); - // -(NSArray * _Nonnull)allKeysFromSource:(FIRRemoteConfigSource)source; [Export ("allKeysFromSource:")] string [] GetAllKeys (RemoteConfigSource source); - // -(NSArray * _Nonnull)allKeysFromSource:(FIRRemoteConfigSource)source namespace:(NSString * _Nullable)aNamespace __attribute__((deprecated("Use -[FIRRemoteConfig allKeysFromSource:] instead."))); - [Obsolete ("Use the GetAllKeys (RemoteConfigSource) overload method instead.")] - [Export ("allKeysFromSource:namespace:")] - string [] GetAllKeys (RemoteConfigSource source, [NullAllowed] string aNamespace); - // -(NSSet * _Nonnull)keysWithPrefix:(NSString * _Nullable)prefix; [Export ("keysWithPrefix:")] NSSet GetKeys ([NullAllowed] string prefix); - // -(NSSet * _Nonnull)keysWithPrefix:(NSString * _Nullable)prefix namespace:(NSString * _Nullable)aNamespace; - [Obsolete ("Use the GetKeys (string) overload method instead.")] - [Export ("keysWithPrefix:namespace:")] - NSSet GetKeys ([NullAllowed] string prefix, [NullAllowed] string aNamespace); - // -(void)setDefaults:(NSDictionary * _Nullable)defaults; [Export ("setDefaults:")] void SetDefaults ([NullAllowed] NSDictionary nsDefaults); @@ -189,33 +160,13 @@ interface RemoteConfig [Wrap ("SetDefaults (defaults == null ? null : NSDictionary.FromObjectsAndKeys (System.Linq.Enumerable.ToArray (defaults.Values), System.Linq.Enumerable.ToArray (defaults.Keys), defaults.Keys.Count))")] void SetDefaults (Dictionary defaults); - // -(void)setDefaults:(NSDictionary * _Nullable)defaultConfig namespace:(NSString * _Nullable)aNamespace; - [Obsolete ("Use the SetDefaults (NSDictionary) overload method instead.")] - [Export ("setDefaults:namespace:")] - void SetDefaults ([NullAllowed] NSDictionary nsDefaults, [NullAllowed] string aNamespace); - - [Obsolete ("Use the SetDefaults (Dictionary) overload method instead.")] - [Wrap ("SetDefaults (defaults == null ? null : NSDictionary.FromObjectsAndKeys (System.Linq.Enumerable.ToArray (defaults.Values), System.Linq.Enumerable.ToArray (defaults.Keys), defaults.Keys.Count), aNamespace)")] - void SetDefaults (Dictionary defaults, string aNamespace); - // -(void)setDefaultsFromPlistFileName:(NSString * _Nullable)fileName; [Export ("setDefaultsFromPlistFileName:")] void SetDefaults ([NullAllowed] string plistFileName); - // -(void)setDefaultsFromPlistFileName:(NSString * _Nullable)fileName namespace:(NSString * _Nullable)aNamespace; - [Obsolete ("Use the SetDefaults (string) overload method instead.")] - [Export ("setDefaultsFromPlistFileName:namespace:")] - void SetDefaults ([NullAllowed] string plistFileName, [NullAllowed] string aNamespace); - // -(FIRRemoteConfigValue * _Nullable)defaultValueForKey:(NSString * _Nullable)key; [return: NullAllowed] [Export ("defaultValueForKey:")] RemoteConfigValue GetDefaultValue ([NullAllowed] string key); - - // -(FIRRemoteConfigValue * _Nullable)defaultValueForKey:(NSString * _Nullable)key namespace:(NSString * _Nullable)aNamespace; - [Obsolete ("Use the GetDefaultValue (string) overload method instead.")] - [return: NullAllowed] - [Export ("defaultValueForKey:namespace:")] - RemoteConfigValue GetDefaultValue ([NullAllowed] string key, [NullAllowed] string aNamespace); } } diff --git a/source/Firebase/RemoteConfig/Loader.cs b/source/Firebase/RemoteConfig/Loader.cs index 220870c7f..64399a42a 100644 --- a/source/Firebase/RemoteConfig/Loader.cs +++ b/source/Firebase/RemoteConfig/Loader.cs @@ -7,7 +7,6 @@ static Loader () { Firebase.Core.Loader.ForceLoad (); Firebase.Installations.Loader.ForceLoad(); - Firebase.InstanceID.Loader.ForceLoad (); Firebase.ABTesting.Loader.ForceLoad (); } diff --git a/source/Firebase/RemoteConfig/RemoteConfig.csproj b/source/Firebase/RemoteConfig/RemoteConfig.csproj index 83398cf3b..977e63c48 100644 --- a/source/Firebase/RemoteConfig/RemoteConfig.csproj +++ b/source/Firebase/RemoteConfig/RemoteConfig.csproj @@ -6,7 +6,7 @@ Firebase.RemoteConfig Firebase.RemoteConfig 1.0.0.0 - 4.9.1 + 8.2.0 Resources true @@ -23,7 +23,7 @@ https://go.microsoft.com/fwlink/?linkid=865532 License.md true - 4.9.1 + 8.2.0 @@ -73,7 +73,6 @@ - diff --git a/source/Firebase/Storage/ApiDefinition.cs b/source/Firebase/Storage/ApiDefinition.cs index 8575ea622..196d7894e 100644 --- a/source/Firebase/Storage/ApiDefinition.cs +++ b/source/Firebase/Storage/ApiDefinition.cs @@ -13,11 +13,6 @@ namespace Firebase.Storage [BaseType (typeof (NSObject), Name = "FIRStorage")] interface Storage { - // extern const unsigned char *const FirebaseStorageVersionString; - [Internal] - [Field ("FIRStorageVersionString", "__Internal")] - IntPtr _CurrentVersion { get; } - // extern NSString *const _Nonnull FIRStorageErrorDomain; [Field ("FIRStorageErrorDomain", "__Internal")] NSString ErrorDomain { get; } @@ -73,6 +68,10 @@ interface Storage // -(FIRStorageReference * _Nonnull)referenceWithPath:(NSString * _Nonnull)string; [Export ("referenceWithPath:")] StorageReference GetReferenceFromPath (string path); + + // - (void) useEmulatorWithHost:(NSString*) host port:(NSInteger) port; + [Export ("useEmulatorWithHost:port:")] + void UseEmulatorWithHost (string host, uint port); } // @interface FIRStorageDownloadTask : FIRStorageObservableTask diff --git a/source/Firebase/Storage/Extension.cs b/source/Firebase/Storage/Extension.cs index 495783a41..15b9b4c7a 100644 --- a/source/Firebase/Storage/Extension.cs +++ b/source/Firebase/Storage/Extension.cs @@ -8,23 +8,6 @@ namespace Firebase.Storage { - public partial class Storage - { - static string currentVersion; - public static string CurrentVersion { - get { - if (currentVersion == null) { - IntPtr RTLD_MAIN_ONLY = Dlfcn.dlopen (null, 0); - IntPtr ptr = Dlfcn.dlsym (RTLD_MAIN_ONLY, "FIRStorageVersionString"); - currentVersion = Marshal.PtrToStringAnsi (ptr); - Dlfcn.dlclose (RTLD_MAIN_ONLY); - } - - return currentVersion; - } - } - } - public partial class StorageMetadata { public StorageMetadata (Dictionary dictionary) : this (NSDictionary.FromObjectsAndKeys (dictionary.Values.ToArray (), dictionary.Keys.ToArray (), dictionary.Keys.Count)) diff --git a/source/Firebase/Storage/Storage.csproj b/source/Firebase/Storage/Storage.csproj index db89425f3..97b940580 100644 --- a/source/Firebase/Storage/Storage.csproj +++ b/source/Firebase/Storage/Storage.csproj @@ -6,7 +6,7 @@ Firebase.Storage Firebase.Storage 1.0.0.0 - 3.9.1 + 8.2.0 Resources true @@ -23,7 +23,7 @@ https://go.microsoft.com/fwlink/?linkid=865545 License.md true - 3.9.1 + 8.2.0 diff --git a/source/Google/Analytics/Analytics.csproj b/source/Google/Analytics/Analytics.csproj index eaa437e49..cab2fe630 100644 --- a/source/Google/Analytics/Analytics.csproj +++ b/source/Google/Analytics/Analytics.csproj @@ -6,7 +6,7 @@ Google.Analytics Google.Analytics 1.0.0.0 - 3.17.0.6 + 3.17.0.7 Resources true @@ -23,7 +23,7 @@ https://go.microsoft.com/fwlink/?linkid=865535 License.md true - 3.17.0.6 + 3.17.0.7 diff --git a/source/Google/Cast/ApiDefinition.cs b/source/Google/Cast/ApiDefinition.cs index a9e778c8e..d76f3f4b3 100644 --- a/source/Google/Cast/ApiDefinition.cs +++ b/source/Google/Cast/ApiDefinition.cs @@ -19,7 +19,7 @@ interface Common { [Field ("kGCKInvalidRequestID", "__Internal")] nint InvalidRequestId { get; } } - + // @interface GCKAdBreakClipVastAdsRequest : NSObject [Obsolete ("Use the VASTAdsRequest class instead.")] [BaseType (typeof (NSObject), Name = "GCKAdBreakClipVastAdsRequest")] @@ -241,7 +241,7 @@ interface AdBreakStatus : INSCopying { double CurrentAdBreakClipTime { get; } // @property (readonly, assign, nonatomic) NSTimeInterval whenSkippable; - [Export("whenSkippable")] + [Export ("whenSkippable")] double WhenSkippable { get; } // @property (readonly, copy, nonatomic) NSString * _Nonnull adBreakID; @@ -392,6 +392,10 @@ interface CastContext { [Export ("unregisterDeviceProviderForCategory:")] void UnregisterDeviceProviderForCategory (string category); + // - (void)setLaunchCredentialsData:(GCKCredentialsData *_Nullable)credentialsData; + [Export ("setLaunchCredentialsData:")] + void SetLaunchCredentialsData ([NullAllowed] CredentialsData credentialsData); + //////////////////////////////////// /// From Category CastContext_UI /// //////////////////////////////////// @@ -509,6 +513,10 @@ interface CastOptions : INSCopying, INSSecureCoding { // @property (assign, readwrite, nonatomic) BOOL stopReceiverApplicationWhenEndingSession; [Export ("stopReceiverApplicationWhenEndingSession")] bool StopReceiverApplicationWhenEndingSession { get; set; } + + // @property(nonatomic, assign) BOOL startDiscoveryAfterFirstTapOnCastButton; + [Export ("startDiscoveryAfterFirstTapOnCastButton")] + bool StartDiscoveryAfterFirstTapOnCastButton { get; set; } } // @interface GCKCastSession : GCKSession @@ -665,6 +673,28 @@ interface Color : INSCopying, INSSecureCoding { Color GetWhite (); } + [DisableDefaultCtor] + [BaseType (typeof (NSObject), Name = "GCKCredentialsData")] + interface CredentialsData { + // - (instancetype)initWithCredentials:(NSString *_Nullable)credentials; + [Export ("initWithCredentials:")] + IntPtr Constructor ([NullAllowed] string credentials); + + // - (instancetype)initWithCredentials:(NSString *_Nullable)credentials credentialsType:(NSString *_Nullable)credentialsType NS_DESIGNATED_INITIALIZER; + [Export ("initWithCredentials:credentialsType:")] + IntPtr Constructor ([NullAllowed] string credentials, [NullAllowed] string credentialsType); + + // - (NSString *_Nullable)credentials; + [NullAllowed] + [Export ("credentials")] + string Credentials { get; } + + // - (NSString *_Nullable)credentialsType; + [NullAllowed] + [Export ("credentialsType")] + string CredentialsType { get; } + } + [DisableDefaultCtor] [BaseType (typeof (NSObject), Name = "GCKDevice")] interface Device : INSCopying, INSSecureCoding { @@ -730,10 +760,6 @@ interface Device : INSCopying, INSSecureCoding { [Export ("hasCapabilities:")] bool HasCapabilities (DeviceCapabilities deviceCapabilities); - [Obsolete ("Use HasCapabilities (DeviceCapabilities) overload method instead. This will be removed in future versions.")] - [Wrap ("HasCapabilities ((DeviceCapabilities)(long)deviceCapabilities)")] - bool HasCapabilities (nint deviceCapabilities); - [Export ("setAttribute:forKey:")] void SetAttribute (INSSecureCoding attribute, string key); @@ -1005,7 +1031,7 @@ interface Error { NSString CustomDataKey { get; } // extern NSString *const _Nonnull kGCKErrorDetailedCodeKey __attribute__((visibility("default"))); - [Field("kGCKErrorDetailedCodeKey", "__Internal")] + [Field ("kGCKErrorDetailedCodeKey", "__Internal")] NSString DetailedCodeKey { get; } // extern NSString *const _Nonnull kGCKErrorExtraInfoKey __attribute__((visibility("default"))); @@ -1013,7 +1039,7 @@ interface Error { NSString ExtraInfoKey { get; } // extern NSString *const _Nonnull kGCKErrorReasonKey __attribute__((visibility("default"))); - [Field("kGCKErrorReasonKey", "__Internal")] + [Field ("kGCKErrorReasonKey", "__Internal")] NSString ReasonKey { get; } [Field ("kGCKErrorDomain", "__Internal")] @@ -1080,6 +1106,36 @@ interface GenericChannelDelegate { void DidChangeWritableState (CastChannel channel, bool writable); } + // @interface GCKHLSSegment : NSObject + [BaseType (typeof (NSObject), Name = "GCKHLSSegment")] + interface HlsSegment { + // +(NSString * _Nullable)mapHLSSegmentFormatToString:(GCKHLSSegmentFormat)hlsSegmentFormat; + [Static] + [Export ("mapHLSSegmentFormatToString:")] + [return: NullAllowed] + string MapHlsSegmentFormatToString (HlsSegmentFormat hlsSegmentFormat); + + // +(GCKHLSSegmentFormat)mapHLSSegmentFormatStringToEnum:(NSString * _Nonnull)hlsSegmentFormatString; + [Static] + [Export ("mapHLSSegmentFormatStringToEnum:")] + HlsSegmentFormat MapHlsSegmentFormatStringToEnum (string hlsSegmentFormatString); + } + + // @interface GCKHLSVideoSegment : NSObject + [BaseType (typeof (NSObject), Name = "GCKHLSVideoSegment")] + interface HlsVideoSegment { + // +(NSString * _Nullable)mapHLSVideoSegmentFormatToString:(GCKHLSVideoSegmentFormat)hlsVideoSegmentFormat; + [Static] + [Export ("mapHLSVideoSegmentFormatToString:")] + [return: NullAllowed] + string MapHlsVideoSegmentFormatToString (HlsVideoSegmentFormat hlsVideoSegmentFormat); + + // +(GCKHLSVideoSegmentFormat)mapHLSVideoSegmentFormatStringToEnum:(NSString * _Nonnull)hlsVideoSegmentFormatString; + [Static] + [Export ("mapHLSVideoSegmentFormatStringToEnum:")] + HlsVideoSegmentFormat MapHlsVideoSegmentFormatStringToEnum (string hlsVideoSegmentFormatString); + } + [DisableDefaultCtor] [BaseType (typeof (NSObject), Name = "GCKImage")] interface Image : INSCopying, INSSecureCoding { @@ -1133,11 +1189,23 @@ interface LaunchOptions : INSCopying, INSSecureCoding { [Export ("relaunchIfRunning")] bool RelaunchIfRunning { get; set; } + // @property(nonatomic, assign) BOOL androidReceiverCompatible; + [Export ("androidReceiverCompatible")] + bool AndroidReceiverCompatible { get; set; } + [Export ("initWithRelaunchIfRunning:")] IntPtr Constructor (bool relaunchIfRunning); [Export ("initWithLanguageCode:relaunchIfRunning:")] IntPtr Constructor ([NullAllowed] string languageCode, bool relaunchIfRunning); + + // - (instancetype)initWithRelaunchIfRunning:(BOOL)relaunchIfRunning androidReceiverCompatible:(BOOL)androidReceiverCompatible; + [Export ("initWithRelaunchIfRunning:androidReceiverCompatible:")] + IntPtr Constructor (bool relaunchIfRunning, bool androidReceiverCompatible); + + // - (instancetype)initWithRelaunchIfRunning:(BOOL)relaunchIfRunning languageCode:(nullable NSString *)languageCode androidReceiverCompatible:(BOOL)androidReceiverCompatible; + [Export ("initWithRelaunchIfRunning:languageCode:androidReceiverCompatible:")] + IntPtr Constructor (bool relaunchIfRunning, [NullAllowed] string languageCode, bool androidReceiverCompatible); } [DisableDefaultCtor] @@ -1287,6 +1355,14 @@ interface MediaInformation : INSCopying, INSSecureCoding { [Export ("startAbsoluteTime")] double StartAbsoluteTime { get; } + // @property (readonly, nonatomic) GCKHLSSegmentFormat hlsSegmentFormat; + [Export ("hlsSegmentFormat")] + HlsSegmentFormat HlsSegmentFormat { get; } + + // @property (readonly, nonatomic) GCKHLSVideoSegmentFormat hlsVideoSegmentFormat; + [Export ("hlsVideoSegmentFormat")] + HlsVideoSegmentFormat HlsVideoSegmentFormat { get; } + [NullAllowed] [Export ("customData")] NSObject CustomData { get; } @@ -1368,6 +1444,14 @@ interface MediaInformationBuilder { [Export ("startAbsoluteTime")] double StartAbsoluteTime { get; set; } + // @property (readonly, nonatomic) GCKHLSSegmentFormat hlsSegmentFormat; + [Export ("hlsSegmentFormat")] + HlsSegmentFormat HlsSegmentFormat { get; } + + // @property (readonly, nonatomic) GCKHLSVideoSegmentFormat hlsVideoSegmentFormat; + [Export ("hlsVideoSegmentFormat")] + HlsVideoSegmentFormat HlsVideoSegmentFormat { get; } + // @property (readwrite, nonatomic, strong) id _Nullable customData; [NullAllowed] [Export ("customData", ArgumentSemantic.Strong)] @@ -2146,11 +2230,13 @@ interface MediaRequestItem : INSCopying, INSSecureCoding { // +(NSString * _Nonnull)mapHLSSegmentFormatToString:(GCKHLSSegmentFormat)hlsSegmentFormat; [Static] [Export ("mapHLSSegmentFormatToString:")] + [Obsolete ("Use HlsSegment.MapHlsSegmentFormatToString")] string MapHlsSegmentFormatToString (HlsSegmentFormat hlsSegmentFormat); // +(GCKHLSSegmentFormat)mapHLSSegmentFormatStringToEnum:(NSString * _Nonnull)hlsSegmentFormatString; [Static] [Export ("mapHLSSegmentFormatStringToEnum:")] + [Obsolete ("Use HlsSegment.MapHlsSegmentFormatStringToEnum")] HlsSegmentFormat MapHlsSegmentFormatStringToEnum (string hlsSegmentFormatString); // -(instancetype _Nonnull)initWithURL:(NSURL * _Nonnull)url protocolType:(GCKStreamingProtocolType)protocolType initialTime:(NSTimeInterval)initialTime hlsSegmentFormat:(GCKHLSSegmentFormat)hlsSegmentFormat; @@ -2230,51 +2316,51 @@ interface MediaCommand { nint QueuePrevious { get; } // extern const NSInteger kGCKMediaCommandQueueShuffle __attribute__((visibility("default"))); - [Field("kGCKMediaCommandQueueShuffle", "__Internal")] + [Field ("kGCKMediaCommandQueueShuffle", "__Internal")] nint QueueShuffle { get; } // extern const NSInteger kGCKMediaCommandSkipAd __attribute__((visibility("default"))); - [Field("kGCKMediaCommandSkipAd", "__Internal")] + [Field ("kGCKMediaCommandSkipAd", "__Internal")] nint SkipAd { get; } // extern const NSInteger kGCKMediaCommandQueueRepeatAll __attribute__((visibility("default"))); - [Field("kGCKMediaCommandQueueRepeatAll", "__Internal")] + [Field ("kGCKMediaCommandQueueRepeatAll", "__Internal")] nint QueueRepeatAll { get; } // extern const NSInteger kGCKMediaCommandQueueRepeatOne __attribute__((visibility("default"))); - [Field("kGCKMediaCommandQueueRepeatOne", "__Internal")] + [Field ("kGCKMediaCommandQueueRepeatOne", "__Internal")] nint QueueRepeatOne { get; } // extern const NSInteger kGCKMediaCommandQueueRepeat __attribute__((visibility("default"))); - [Field("kGCKMediaCommandQueueRepeat", "__Internal")] + [Field ("kGCKMediaCommandQueueRepeat", "__Internal")] nint QueueRepeat { get; } // extern const NSInteger kGCKMediaCommandEditTracks __attribute__((visibility("default"))); - [Field("kGCKMediaCommandEditTracks", "__Internal")] + [Field ("kGCKMediaCommandEditTracks", "__Internal")] nint EditTracks { get; } // extern const NSInteger kGCKMediaCommandSetPlaybackRate __attribute__((visibility("default"))); - [Field("kGCKMediaCommandSetPlaybackRate", "__Internal")] + [Field ("kGCKMediaCommandSetPlaybackRate", "__Internal")] nint SetPlaybackRate { get; } // extern const NSInteger kGCKMediaCommandLike __attribute__((visibility("default"))); - [Field("kGCKMediaCommandLike", "__Internal")] + [Field ("kGCKMediaCommandLike", "__Internal")] nint Like { get; } // extern const NSInteger kGCKMediaCommandDislike __attribute__((visibility("default"))); - [Field("kGCKMediaCommandDislike", "__Internal")] + [Field ("kGCKMediaCommandDislike", "__Internal")] nint Dislike { get; } // extern const NSInteger kGCKMediaCommandFollow __attribute__((visibility("default"))); - [Field("kGCKMediaCommandFollow", "__Internal")] + [Field ("kGCKMediaCommandFollow", "__Internal")] nint Follow { get; } // extern const NSInteger kGCKMediaCommandUnfollow __attribute__((visibility("default"))); - [Field("kGCKMediaCommandUnfollow", "__Internal")] + [Field ("kGCKMediaCommandUnfollow", "__Internal")] nint Unfollow { get; } // extern const NSInteger kGCKMediaCommandStreamTransfer __attribute__((visibility("default"))); - [Field("kGCKMediaCommandStreamTransfer", "__Internal")] + [Field ("kGCKMediaCommandStreamTransfer", "__Internal")] nint StreamTransfer { get; } } @@ -3414,12 +3500,19 @@ interface GCKUIButton { } // @interface GCKUICastButton : UIButton - [BaseType (typeof (UIButton), Name = "GCKUICastButton")] + [BaseType (typeof (UIButton), + Name = "GCKUICastButton", + Delegates = new string [] { "Delegate" }, + Events = new Type [] { typeof (UICastButtonDelegate) })] interface UICastButton { - // @property (assign, readwrite, nonatomic) BOOL triggersDefaultCastDialog; + // @property (assign, nonatomic) BOOL triggersDefaultCastDialog __attribute__((deprecated("Use the GCKUICastButtonDelegate methods to respond to the actions on the cast button."))); [Export ("triggersDefaultCastDialog")] bool TriggersDefaultCastDialog { get; set; } + // @property (nonatomic, weak) id _Nullable delegate; + [NullAllowed, Export ("delegate", ArgumentSemantic.Weak)] + UICastButtonDelegate Delegate { get; set; } + // -(instancetype _Nonnull)initWithFrame:(CGRect)frame; [Export ("initWithFrame:")] IntPtr Constructor (CGRect frame); @@ -3428,11 +3521,29 @@ interface UICastButton { [Export ("setInactiveIcon:activeIcon:animationIcons:")] void SetInactiveIcon (UIImage inactiveIcon, UIImage activeIcon, UIImage [] animationIcons); - // - (void)setAccessibilityLabel:(NSString *)label forCastState:(GCKCastState) state; + // -(void)setAccessibilityLabel:(NSString * _Nonnull)label forCastState:(GCKCastState)state; [Export ("setAccessibilityLabel:forCastState:")] void SetAccessibilityLabel (string label, CastState state); } + interface IUICastButtonDelegate { + } + + // @protocol GCKUICastButtonDelegate + [Protocol, Model (AutoGeneratedName = true)] + [BaseType (typeof (NSObject), Name = "GCKUICastButtonDelegate")] + interface UICastButtonDelegate { + // @optional -(void)castButtonDidTapToPresentLocalNetworkAccessPermissionDialog:(GCKUICastButton * _Nonnull)castButton; + [Export ("castButtonDidTapToPresentLocalNetworkAccessPermissionDialog:")] + [EventArgs ("CastButtonDidTapToPresentLocalNetworkAccessPermissionDialog")] + void CastButtonDidTapToPresentLocalNetworkAccessPermissionDialog (UICastButton castButton); + + // @optional -(void)castButtonDidTap:(GCKUICastButton * _Nonnull)castButton toPresentDialogForCastState:(GCKCastState)castState; + [Export ("castButtonDidTap:toPresentDialogForCastState:")] + [EventArgs ("CastButtonDidTap")] + void CastButtonDidTap (UICastButton castButton, CastState castState); + } + // @interface GCKUICastContainerViewController : UIViewController [BaseType (typeof (UIViewController), Name = "GCKUICastContainerViewController")] interface UICastContainerViewController { diff --git a/source/Google/Cast/Cast.csproj b/source/Google/Cast/Cast.csproj index 4dd774a62..6b8e9e41c 100644 --- a/source/Google/Cast/Cast.csproj +++ b/source/Google/Cast/Cast.csproj @@ -6,7 +6,7 @@ Google.Cast Google.Cast 1.0.0.0 - 4.4.6.1 + 4.6.1.0 Resources true @@ -23,7 +23,7 @@ https://go.microsoft.com/fwlink/?linkid=865570 License.md true - 4.4.6.1 + 4.6.1.0 diff --git a/source/Google/Cast/Cast.targets b/source/Google/Cast/Cast.targets index b28197af1..92eeb0efa 100644 --- a/source/Google/Cast/Cast.targets +++ b/source/Google/Cast/Cast.targets @@ -2,20 +2,21 @@ <_GoogleCastAssemblyName>Google.Cast, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - <_GoogleCastVersion>4.4.6 + <_GoogleCastVersion>4.6.1 <_GoogleCastItemsFolder Condition="'$(GoogleCastBluetoothEnabled)'=='True'">GCst-$(_GoogleCastVersion) <_GoogleCastItemsFolder Condition="'$(GoogleCastBluetoothEnabled)'!='True'">GCstNB-$(_GoogleCastVersion) <_GoogleCastFrameworks Condition="'$(GoogleCastBluetoothEnabled)'=='True'">Accelerate AudioToolbox AVFoundation CFNetwork CoreBluetooth CoreData CoreGraphics CoreMedia CoreText Foundation MediaAccessibility MediaPlayer QuartzCore Security SystemConfiguration UIKit <_GoogleCastFrameworks Condition="'$(GoogleCastBluetoothEnabled)'!='True'">Accelerate AudioToolbox AVFoundation CFNetwork CoreData CoreGraphics CoreMedia CoreText Foundation MediaAccessibility MediaPlayer QuartzCore Security SystemConfiguration UIKit <_GoogleCastUrl Condition="'$(GoogleCastBluetoothEnabled)'=='True'">https://dl.google.com/dl/chromecast/sdk/ios/GoogleCastSDK-ios-$(_GoogleCastVersion)_dynamic.zip - <_GoogleCastUrl Condition="'$(GoogleCastBluetoothEnabled)'!='True'">https://dl.google.com/dl/chromecast/sdk/ios/GoogleCastSDK-ios-no-bluetooth-$(_GoogleCastVersion)_dynamic.zip + <_GoogleCastUrl Condition="'$(GoogleCastBluetoothEnabled)'!='True'">https://dl.google.com/dl/chromecast/sdk/ios/GoogleCastSDK-ios-no-bluetooth-$(_GoogleCastVersion)_dynamic.zip + <_GoogleCastBaseFolder>$(XamarinBuildDownloadDir)$(_GoogleCastItemsFolder)\GoogleCastSDK-ios-$(_GoogleCastVersion)_dynamic\ $(_GoogleCastUrl) Zip - + False -lc++ $(_GoogleCastFrameworks) @@ -23,5 +24,999 @@ True True + + + + + GoogleCastCoreResources.bundle\af.lproj\CoreLocalizable.strings + + + GoogleCastCoreResources.bundle\ar.lproj\CoreLocalizable.strings + + + GoogleCastCoreResources.bundle\bg.lproj\CoreLocalizable.strings + + + GoogleCastCoreResources.bundle\bn.lproj\CoreLocalizable.strings + + + GoogleCastCoreResources.bundle\ca.lproj\CoreLocalizable.strings + + + GoogleCastCoreResources.bundle\CastFrameworkDB.momd\CastFrameworkDB.mom + + + GoogleCastCoreResources.bundle\CastFrameworkDB.momd\CastFrameworkDB01.mom + + + GoogleCastCoreResources.bundle\CastFrameworkDB.momd\CastFrameworkDB02.mom + + + GoogleCastCoreResources.bundle\CastFrameworkDB.momd\CastFrameworkDB03.mom + + + GoogleCastCoreResources.bundle\CastFrameworkDB.momd\CastFrameworkDB04.mom + + + GoogleCastCoreResources.bundle\CastFrameworkDB.momd\CastFrameworkDB05.mom + + + GoogleCastCoreResources.bundle\CastFrameworkDB.momd\CastFrameworkDB06.mom + + + GoogleCastCoreResources.bundle\CastFrameworkDB.momd\CastFrameworkDB07.mom + + + GoogleCastCoreResources.bundle\CastFrameworkDB.momd\CastFrameworkDB08.mom + + + GoogleCastCoreResources.bundle\CastFrameworkDB.momd\CastFrameworkDB08.omo + + + GoogleCastCoreResources.bundle\CastFrameworkDB.momd\VersionInfo.plist + + + GoogleCastCoreResources.bundle\cs.lproj\CoreLocalizable.strings + + + GoogleCastCoreResources.bundle\da.lproj\CoreLocalizable.strings + + + GoogleCastCoreResources.bundle\de.lproj\CoreLocalizable.strings + + + GoogleCastCoreResources.bundle\el.lproj\CoreLocalizable.strings + + + GoogleCastCoreResources.bundle\en.lproj\CoreLocalizable.strings + + + GoogleCastCoreResources.bundle\en_GB.lproj\CoreLocalizable.strings + + + GoogleCastCoreResources.bundle\es.lproj\CoreLocalizable.strings + + + GoogleCastCoreResources.bundle\es_419.lproj\CoreLocalizable.strings + + + GoogleCastCoreResources.bundle\et.lproj\CoreLocalizable.strings + + + GoogleCastCoreResources.bundle\fa.lproj\CoreLocalizable.strings + + + GoogleCastCoreResources.bundle\fi.lproj\CoreLocalizable.strings + + + GoogleCastCoreResources.bundle\fil.lproj\CoreLocalizable.strings + + + GoogleCastCoreResources.bundle\fr.lproj\CoreLocalizable.strings + + + GoogleCastCoreResources.bundle\hi.lproj\CoreLocalizable.strings + + + GoogleCastCoreResources.bundle\hr.lproj\CoreLocalizable.strings + + + GoogleCastCoreResources.bundle\hu.lproj\CoreLocalizable.strings + + + GoogleCastCoreResources.bundle\hy.lproj\CoreLocalizable.strings + + + GoogleCastCoreResources.bundle\id.lproj\CoreLocalizable.strings + + + GoogleCastCoreResources.bundle\is.lproj\CoreLocalizable.strings + + + GoogleCastCoreResources.bundle\it.lproj\CoreLocalizable.strings + + + GoogleCastCoreResources.bundle\iw.lproj\CoreLocalizable.strings + + + GoogleCastCoreResources.bundle\ja.lproj\CoreLocalizable.strings + + + GoogleCastCoreResources.bundle\ka.lproj\CoreLocalizable.strings + + + GoogleCastCoreResources.bundle\km.lproj\CoreLocalizable.strings + + + GoogleCastCoreResources.bundle\ko.lproj\CoreLocalizable.strings + + + GoogleCastCoreResources.bundle\lo.lproj\CoreLocalizable.strings + + + GoogleCastCoreResources.bundle\lt.lproj\CoreLocalizable.strings + + + GoogleCastCoreResources.bundle\lv.lproj\CoreLocalizable.strings + + + GoogleCastCoreResources.bundle\mk.lproj\CoreLocalizable.strings + + + GoogleCastCoreResources.bundle\mn.lproj\CoreLocalizable.strings + + + GoogleCastCoreResources.bundle\mr.lproj\CoreLocalizable.strings + + + GoogleCastCoreResources.bundle\ms.lproj\CoreLocalizable.strings + + + GoogleCastCoreResources.bundle\my.lproj\CoreLocalizable.strings + + + GoogleCastCoreResources.bundle\ne.lproj\CoreLocalizable.strings + + + GoogleCastCoreResources.bundle\nl.lproj\CoreLocalizable.strings + + + GoogleCastCoreResources.bundle\no.lproj\CoreLocalizable.strings + + + GoogleCastCoreResources.bundle\pl.lproj\CoreLocalizable.strings + + + GoogleCastCoreResources.bundle\pt.lproj\CoreLocalizable.strings + + + GoogleCastCoreResources.bundle\pt_PT.lproj\CoreLocalizable.strings + + + GoogleCastCoreResources.bundle\ro.lproj\CoreLocalizable.strings + + + GoogleCastCoreResources.bundle\ru.lproj\CoreLocalizable.strings + + + GoogleCastCoreResources.bundle\si.lproj\CoreLocalizable.strings + + + GoogleCastCoreResources.bundle\sk.lproj\CoreLocalizable.strings + + + GoogleCastCoreResources.bundle\sl.lproj\CoreLocalizable.strings + + + GoogleCastCoreResources.bundle\sr.lproj\CoreLocalizable.strings + + + GoogleCastCoreResources.bundle\sv.lproj\CoreLocalizable.strings + + + GoogleCastCoreResources.bundle\sw.lproj\CoreLocalizable.strings + + + GoogleCastCoreResources.bundle\ta.lproj\CoreLocalizable.strings + + + GoogleCastCoreResources.bundle\th.lproj\CoreLocalizable.strings + + + GoogleCastCoreResources.bundle\tr.lproj\CoreLocalizable.strings + + + GoogleCastCoreResources.bundle\uk.lproj\CoreLocalizable.strings + + + GoogleCastCoreResources.bundle\vi.lproj\CoreLocalizable.strings + + + GoogleCastCoreResources.bundle\zh.lproj\CoreLocalizable.strings + + + GoogleCastCoreResources.bundle\zh_CN.lproj\CoreLocalizable.strings + + + GoogleCastCoreResources.bundle\zh_TW.lproj\CoreLocalizable.strings + + + + + GoogleCastUIResources.bundle\af.lproj\CastComponents.strings + + + GoogleCastUIResources.bundle\af.lproj\UILocalizable.strings + + + GoogleCastUIResources.bundle\ar.lproj\CastComponents.strings + + + GoogleCastUIResources.bundle\ar.lproj\UILocalizable.strings + + + GoogleCastUIResources.bundle\Base.lproj\CastComponents.storyboardc\Info.plist + + + GoogleCastUIResources.bundle\Base.lproj\CastComponents.storyboardc\4HD-aa-FNo-view-1HP-BM-J3I.nib\objects-11.0+.nib + + + GoogleCastUIResources.bundle\Base.lproj\CastComponents.storyboardc\4HD-aa-FNo-view-1HP-BM-J3I.nib\runtime.nib + + + GoogleCastUIResources.bundle\Base.lproj\CastComponents.storyboardc\6is-ze-qoP-view-Vah-jq-ZgN.nib\objects-11.0+.nib + + + GoogleCastUIResources.bundle\Base.lproj\CastComponents.storyboardc\6is-ze-qoP-view-Vah-jq-ZgN.nib\runtime.nib + + + GoogleCastUIResources.bundle\Base.lproj\CastComponents.storyboardc\9V7-ce-5KJ-view-WQF-my-40r.nib\objects-11.0+.nib + + + GoogleCastUIResources.bundle\Base.lproj\CastComponents.storyboardc\9V7-ce-5KJ-view-WQF-my-40r.nib\runtime.nib + + + GoogleCastUIResources.bundle\Base.lproj\CastComponents.storyboardc\a4H-bv-VbH-view-Xbz-9K-eDJ.nib\objects-11.0+.nib + + + GoogleCastUIResources.bundle\Base.lproj\CastComponents.storyboardc\a4H-bv-VbH-view-Xbz-9K-eDJ.nib\runtime.nib + + + GoogleCastUIResources.bundle\Base.lproj\CastComponents.storyboardc\C87-rF-Kff-view-Z93-bw-eCT.nib\objects-11.0+.nib + + + GoogleCastUIResources.bundle\Base.lproj\CastComponents.storyboardc\C87-rF-Kff-view-Z93-bw-eCT.nib\runtime.nib + + + GoogleCastUIResources.bundle\Base.lproj\CastComponents.storyboardc\CastContainer.nib\objects-11.0+.nib + + + GoogleCastUIResources.bundle\Base.lproj\CastComponents.storyboardc\CastContainer.nib\runtime.nib + + + GoogleCastUIResources.bundle\Base.lproj\CastComponents.storyboardc\CastInstructions.nib\objects-11.0+.nib + + + GoogleCastUIResources.bundle\Base.lproj\CastComponents.storyboardc\CastInstructions.nib\runtime.nib + + + GoogleCastUIResources.bundle\Base.lproj\CastComponents.storyboardc\DeviceConnectionNavigation.nib\objects-11.0+.nib + + + GoogleCastUIResources.bundle\Base.lproj\CastComponents.storyboardc\DeviceConnectionNavigation.nib\runtime.nib + + + GoogleCastUIResources.bundle\Base.lproj\CastComponents.storyboardc\egs-hj-bEX-view-MTY-Nw-q8O.nib\objects-11.0+.nib + + + GoogleCastUIResources.bundle\Base.lproj\CastComponents.storyboardc\egs-hj-bEX-view-MTY-Nw-q8O.nib\runtime.nib + + + GoogleCastUIResources.bundle\Base.lproj\CastComponents.storyboardc\ExpandedMediaControlsViewController.nib\objects-11.0+.nib + + + GoogleCastUIResources.bundle\Base.lproj\CastComponents.storyboardc\ExpandedMediaControlsViewController.nib\runtime.nib + + + GoogleCastUIResources.bundle\Base.lproj\CastComponents.storyboardc\GuestModePairingViewController.nib\objects-11.0+.nib + + + GoogleCastUIResources.bundle\Base.lproj\CastComponents.storyboardc\GuestModePairingViewController.nib\runtime.nib + + + GoogleCastUIResources.bundle\Base.lproj\CastComponents.storyboardc\MediaTrackSelectionController.nib\objects-11.0+.nib + + + GoogleCastUIResources.bundle\Base.lproj\CastComponents.storyboardc\MediaTrackSelectionController.nib\runtime.nib + + + GoogleCastUIResources.bundle\Base.lproj\CastComponents.storyboardc\MediaTrackSelectionNavigation.nib\objects-11.0+.nib + + + GoogleCastUIResources.bundle\Base.lproj\CastComponents.storyboardc\MediaTrackSelectionNavigation.nib\runtime.nib + + + GoogleCastUIResources.bundle\Base.lproj\CastComponents.storyboardc\MiniMediaControlsViewController.nib\objects-11.0+.nib + + + GoogleCastUIResources.bundle\Base.lproj\CastComponents.storyboardc\MiniMediaControlsViewController.nib\runtime.nib + + + GoogleCastUIResources.bundle\Base.lproj\CastComponents.storyboardc\mzQ-08-M2L-view-QcC-yO-nhF.nib\objects-11.0+.nib + + + GoogleCastUIResources.bundle\Base.lproj\CastComponents.storyboardc\mzQ-08-M2L-view-QcC-yO-nhF.nib\runtime.nib + + + GoogleCastUIResources.bundle\Base.lproj\CastComponents.storyboardc\Osx-kD-8NW-view-pIN-ie-DHT.nib\objects-11.0+.nib + + + GoogleCastUIResources.bundle\Base.lproj\CastComponents.storyboardc\Osx-kD-8NW-view-pIN-ie-DHT.nib\runtime.nib + + + GoogleCastUIResources.bundle\bg.lproj\CastComponents.strings + + + GoogleCastUIResources.bundle\bg.lproj\UILocalizable.strings + + + GoogleCastUIResources.bundle\bn.lproj\CastComponents.strings + + + GoogleCastUIResources.bundle\bn.lproj\UILocalizable.strings + + + GoogleCastUIResources.bundle\ca.lproj\CastComponents.strings + + + GoogleCastUIResources.bundle\ca.lproj\UILocalizable.strings + + + GoogleCastUIResources.bundle\cs.lproj\CastComponents.strings + + + GoogleCastUIResources.bundle\cs.lproj\UILocalizable.strings + + + GoogleCastUIResources.bundle\da.lproj\CastComponents.strings + + + GoogleCastUIResources.bundle\da.lproj\UILocalizable.strings + + + GoogleCastUIResources.bundle\de.lproj\CastComponents.strings + + + GoogleCastUIResources.bundle\de.lproj\UILocalizable.strings + + + GoogleCastUIResources.bundle\el.lproj\CastComponents.strings + + + GoogleCastUIResources.bundle\el.lproj\UILocalizable.strings + + + GoogleCastUIResources.bundle\en.lproj\CastComponents.strings + + + GoogleCastUIResources.bundle\en.lproj\UILocalizable.strings + + + GoogleCastUIResources.bundle\en_GB.lproj\CastComponents.strings + + + GoogleCastUIResources.bundle\en_GB.lproj\UILocalizable.strings + + + GoogleCastUIResources.bundle\es.lproj\CastComponents.strings + + + GoogleCastUIResources.bundle\es.lproj\UILocalizable.strings + + + GoogleCastUIResources.bundle\es_419.lproj\CastComponents.strings + + + GoogleCastUIResources.bundle\es_419.lproj\UILocalizable.strings + + + GoogleCastUIResources.bundle\et.lproj\CastComponents.strings + + + GoogleCastUIResources.bundle\et.lproj\UILocalizable.strings + + + GoogleCastUIResources.bundle\fa.lproj\CastComponents.strings + + + GoogleCastUIResources.bundle\fa.lproj\UILocalizable.strings + + + GoogleCastUIResources.bundle\fi.lproj\CastComponents.strings + + + GoogleCastUIResources.bundle\fi.lproj\UILocalizable.strings + + + GoogleCastUIResources.bundle\fil.lproj\CastComponents.strings + + + GoogleCastUIResources.bundle\fil.lproj\UILocalizable.strings + + + GoogleCastUIResources.bundle\fr.lproj\CastComponents.strings + + + GoogleCastUIResources.bundle\fr.lproj\UILocalizable.strings + + + GoogleCastUIResources.bundle\hi.lproj\CastComponents.strings + + + GoogleCastUIResources.bundle\hi.lproj\UILocalizable.strings + + + GoogleCastUIResources.bundle\hr.lproj\CastComponents.strings + + + GoogleCastUIResources.bundle\hr.lproj\UILocalizable.strings + + + GoogleCastUIResources.bundle\hu.lproj\CastComponents.strings + + + GoogleCastUIResources.bundle\hu.lproj\UILocalizable.strings + + + GoogleCastUIResources.bundle\hy.lproj\CastComponents.strings + + + GoogleCastUIResources.bundle\hy.lproj\UILocalizable.strings + + + GoogleCastUIResources.bundle\Icons\audio_track_48pt.png + + + GoogleCastUIResources.bundle\Icons\audio_track_48pt@2x.png + + + GoogleCastUIResources.bundle\Icons\audio_track_48pt@3x.png + + + GoogleCastUIResources.bundle\Icons\cast_connected_24pt.png + + + GoogleCastUIResources.bundle\Icons\cast_connected_24pt@2x.png + + + GoogleCastUIResources.bundle\Icons\cast_connected_24pt@3x.png + + + GoogleCastUIResources.bundle\Icons\cast_disconnected_24pt.png + + + GoogleCastUIResources.bundle\Icons\cast_disconnected_24pt@2x.png + + + GoogleCastUIResources.bundle\Icons\cast_disconnected_24pt@3x.png + + + GoogleCastUIResources.bundle\Icons\cast_on0.png + + + GoogleCastUIResources.bundle\Icons\cast_on0@2x.png + + + GoogleCastUIResources.bundle\Icons\cast_on0@3x.png + + + GoogleCastUIResources.bundle\Icons\cast_on1.png + + + GoogleCastUIResources.bundle\Icons\cast_on1@2x.png + + + GoogleCastUIResources.bundle\Icons\cast_on1@3x.png + + + GoogleCastUIResources.bundle\Icons\cast_on2.png + + + GoogleCastUIResources.bundle\Icons\cast_on2@2x.png + + + GoogleCastUIResources.bundle\Icons\cast_on2@3x.png + + + GoogleCastUIResources.bundle\Icons\closed_caption_36pt.png + + + GoogleCastUIResources.bundle\Icons\closed_caption_36pt@2x.png + + + GoogleCastUIResources.bundle\Icons\closed_caption_36pt@3x.png + + + GoogleCastUIResources.bundle\Icons\closed_caption_48pt.png + + + GoogleCastUIResources.bundle\Icons\closed_caption_48pt@2x.png + + + GoogleCastUIResources.bundle\Icons\closed_caption_48pt@3x.png + + + GoogleCastUIResources.bundle\Icons\collapse_arrow_24pt.png + + + GoogleCastUIResources.bundle\Icons\collapse_arrow_24pt@2x.png + + + GoogleCastUIResources.bundle\Icons\collapse_arrow_24pt@3x.png + + + GoogleCastUIResources.bundle\Icons\forward_30_36pt.png + + + GoogleCastUIResources.bundle\Icons\forward_30_36pt@2x.png + + + GoogleCastUIResources.bundle\Icons\forward_30_36pt@3x.png + + + GoogleCastUIResources.bundle\Icons\forward_30_48pt.png + + + GoogleCastUIResources.bundle\Icons\forward_30_48pt@2x.png + + + GoogleCastUIResources.bundle\Icons\forward_30_48pt@3x.png + + + GoogleCastUIResources.bundle\Icons\hardware_speaker_24pt.png + + + GoogleCastUIResources.bundle\Icons\hardware_speaker_24pt@2x.png + + + GoogleCastUIResources.bundle\Icons\hardware_speaker_24pt@3x.png + + + GoogleCastUIResources.bundle\Icons\hardware_speaker_group_24pt.png + + + GoogleCastUIResources.bundle\Icons\hardware_speaker_group_24pt@2x.png + + + GoogleCastUIResources.bundle\Icons\hardware_speaker_group_24pt@3x.png + + + GoogleCastUIResources.bundle\Icons\hardware_tv_24pt.png + + + GoogleCastUIResources.bundle\Icons\hardware_tv_24pt@2x.png + + + GoogleCastUIResources.bundle\Icons\hardware_tv_24pt@3x.png + + + GoogleCastUIResources.bundle\Icons\ic_close_icon.png + + + GoogleCastUIResources.bundle\Icons\ic_close_icon@2x.png + + + GoogleCastUIResources.bundle\Icons\ic_close_icon@3x.png + + + GoogleCastUIResources.bundle\Icons\pause_48pt.png + + + GoogleCastUIResources.bundle\Icons\pause_48pt@2x.png + + + GoogleCastUIResources.bundle\Icons\pause_48pt@3x.png + + + GoogleCastUIResources.bundle\Icons\pause_circle_filled_64pt.png + + + GoogleCastUIResources.bundle\Icons\pause_circle_filled_64pt@2x.png + + + GoogleCastUIResources.bundle\Icons\pause_circle_filled_64pt@3x.png + + + GoogleCastUIResources.bundle\Icons\play_48pt.png + + + GoogleCastUIResources.bundle\Icons\play_48pt@2x.png + + + GoogleCastUIResources.bundle\Icons\play_48pt@3x.png + + + GoogleCastUIResources.bundle\Icons\play_circle_filled_64pt.png + + + GoogleCastUIResources.bundle\Icons\play_circle_filled_64pt@2x.png + + + GoogleCastUIResources.bundle\Icons\play_circle_filled_64pt@3x.png + + + GoogleCastUIResources.bundle\Icons\replay_30_36pt.png + + + GoogleCastUIResources.bundle\Icons\replay_30_36pt@2x.png + + + GoogleCastUIResources.bundle\Icons\replay_30_36pt@3x.png + + + GoogleCastUIResources.bundle\Icons\replay_30_48pt.png + + + GoogleCastUIResources.bundle\Icons\replay_30_48pt@2x.png + + + GoogleCastUIResources.bundle\Icons\replay_30_48pt@3x.png + + + GoogleCastUIResources.bundle\Icons\skip_next_36pt.png + + + GoogleCastUIResources.bundle\Icons\skip_next_36pt@2x.png + + + GoogleCastUIResources.bundle\Icons\skip_next_36pt@3x.png + + + GoogleCastUIResources.bundle\Icons\skip_next_48pt.png + + + GoogleCastUIResources.bundle\Icons\skip_next_48pt@2x.png + + + GoogleCastUIResources.bundle\Icons\skip_next_48pt@3x.png + + + GoogleCastUIResources.bundle\Icons\skip_previous_36pt.png + + + GoogleCastUIResources.bundle\Icons\skip_previous_36pt@2x.png + + + GoogleCastUIResources.bundle\Icons\skip_previous_36pt@3x.png + + + GoogleCastUIResources.bundle\Icons\skip_previous_48pt.png + + + GoogleCastUIResources.bundle\Icons\skip_previous_48pt@2x.png + + + GoogleCastUIResources.bundle\Icons\skip_previous_48pt@3x.png + + + GoogleCastUIResources.bundle\Icons\sliderthumb_focused_light.png + + + GoogleCastUIResources.bundle\Icons\sliderthumb_focused_light@2x.png + + + GoogleCastUIResources.bundle\Icons\sliderthumb_focused_light@3x.png + + + GoogleCastUIResources.bundle\Icons\sliderthumb_normal_light.png + + + GoogleCastUIResources.bundle\Icons\sliderthumb_normal_light@2x.png + + + GoogleCastUIResources.bundle\Icons\sliderthumb_normal_light@3x.png + + + GoogleCastUIResources.bundle\Icons\stop_36pt.png + + + GoogleCastUIResources.bundle\Icons\stop_36pt@2x.png + + + GoogleCastUIResources.bundle\Icons\stop_36pt@3x.png + + + GoogleCastUIResources.bundle\Icons\stop_48pt.png + + + GoogleCastUIResources.bundle\Icons\stop_48pt@2x.png + + + GoogleCastUIResources.bundle\Icons\stop_48pt@3x.png + + + GoogleCastUIResources.bundle\Icons\volume_mute_36pt.png + + + GoogleCastUIResources.bundle\Icons\volume_mute_36pt@2x.png + + + GoogleCastUIResources.bundle\Icons\volume_mute_36pt@3x.png + + + GoogleCastUIResources.bundle\Icons\volume_mute_48pt.png + + + GoogleCastUIResources.bundle\Icons\volume_mute_48pt@2x.png + + + GoogleCastUIResources.bundle\Icons\volume_mute_48pt@3x.png + + + GoogleCastUIResources.bundle\Icons\volume_off_36pt.png + + + GoogleCastUIResources.bundle\Icons\volume_off_36pt@2x.png + + + GoogleCastUIResources.bundle\Icons\volume_off_36pt@3x.png + + + GoogleCastUIResources.bundle\Icons\volume_off_48pt.png + + + GoogleCastUIResources.bundle\Icons\volume_off_48pt@2x.png + + + GoogleCastUIResources.bundle\Icons\volume_off_48pt@3x.png + + + GoogleCastUIResources.bundle\Icons\volume_up_36pt.png + + + GoogleCastUIResources.bundle\Icons\volume_up_36pt@2x.png + + + GoogleCastUIResources.bundle\Icons\volume_up_36pt@3x.png + + + GoogleCastUIResources.bundle\Icons\volume_up_48pt.png + + + GoogleCastUIResources.bundle\Icons\volume_up_48pt@2x.png + + + GoogleCastUIResources.bundle\Icons\volume_up_48pt@3x.png + + + GoogleCastUIResources.bundle\id.lproj\CastComponents.strings + + + GoogleCastUIResources.bundle\id.lproj\UILocalizable.strings + + + GoogleCastUIResources.bundle\is.lproj\CastComponents.strings + + + GoogleCastUIResources.bundle\is.lproj\UILocalizable.strings + + + GoogleCastUIResources.bundle\it.lproj\CastComponents.strings + + + GoogleCastUIResources.bundle\it.lproj\UILocalizable.strings + + + GoogleCastUIResources.bundle\iw.lproj\CastComponents.strings + + + GoogleCastUIResources.bundle\iw.lproj\UILocalizable.strings + + + GoogleCastUIResources.bundle\ja.lproj\CastComponents.strings + + + GoogleCastUIResources.bundle\ja.lproj\UILocalizable.strings + + + GoogleCastUIResources.bundle\ka.lproj\CastComponents.strings + + + GoogleCastUIResources.bundle\ka.lproj\UILocalizable.strings + + + GoogleCastUIResources.bundle\km.lproj\CastComponents.strings + + + GoogleCastUIResources.bundle\km.lproj\UILocalizable.strings + + + GoogleCastUIResources.bundle\ko.lproj\CastComponents.strings + + + GoogleCastUIResources.bundle\ko.lproj\UILocalizable.strings + + + GoogleCastUIResources.bundle\lo.lproj\CastComponents.strings + + + GoogleCastUIResources.bundle\lo.lproj\UILocalizable.strings + + + GoogleCastUIResources.bundle\lt.lproj\CastComponents.strings + + + GoogleCastUIResources.bundle\lt.lproj\UILocalizable.strings + + + GoogleCastUIResources.bundle\lv.lproj\CastComponents.strings + + + GoogleCastUIResources.bundle\lv.lproj\UILocalizable.strings + + + GoogleCastUIResources.bundle\mk.lproj\CastComponents.strings + + + GoogleCastUIResources.bundle\mk.lproj\UILocalizable.strings + + + GoogleCastUIResources.bundle\mn.lproj\CastComponents.strings + + + GoogleCastUIResources.bundle\mn.lproj\UILocalizable.strings + + + GoogleCastUIResources.bundle\mr.lproj\CastComponents.strings + + + GoogleCastUIResources.bundle\mr.lproj\UILocalizable.strings + + + GoogleCastUIResources.bundle\ms.lproj\CastComponents.strings + + + GoogleCastUIResources.bundle\ms.lproj\UILocalizable.strings + + + GoogleCastUIResources.bundle\my.lproj\CastComponents.strings + + + GoogleCastUIResources.bundle\my.lproj\UILocalizable.strings + + + GoogleCastUIResources.bundle\ne.lproj\CastComponents.strings + + + GoogleCastUIResources.bundle\ne.lproj\UILocalizable.strings + + + GoogleCastUIResources.bundle\nl.lproj\CastComponents.strings + + + GoogleCastUIResources.bundle\nl.lproj\UILocalizable.strings + + + GoogleCastUIResources.bundle\no.lproj\CastComponents.strings + + + GoogleCastUIResources.bundle\no.lproj\UILocalizable.strings + + + GoogleCastUIResources.bundle\pl.lproj\CastComponents.strings + + + GoogleCastUIResources.bundle\pl.lproj\UILocalizable.strings + + + GoogleCastUIResources.bundle\pt.lproj\CastComponents.strings + + + GoogleCastUIResources.bundle\pt.lproj\UILocalizable.strings + + + GoogleCastUIResources.bundle\pt_PT.lproj\CastComponents.strings + + + GoogleCastUIResources.bundle\pt_PT.lproj\UILocalizable.strings + + + GoogleCastUIResources.bundle\ro.lproj\CastComponents.strings + + + GoogleCastUIResources.bundle\ro.lproj\UILocalizable.strings + + + GoogleCastUIResources.bundle\ru.lproj\CastComponents.strings + + + GoogleCastUIResources.bundle\ru.lproj\UILocalizable.strings + + + GoogleCastUIResources.bundle\si.lproj\CastComponents.strings + + + GoogleCastUIResources.bundle\si.lproj\UILocalizable.strings + + + GoogleCastUIResources.bundle\sk.lproj\CastComponents.strings + + + GoogleCastUIResources.bundle\sk.lproj\UILocalizable.strings + + + GoogleCastUIResources.bundle\sl.lproj\CastComponents.strings + + + GoogleCastUIResources.bundle\sl.lproj\UILocalizable.strings + + + GoogleCastUIResources.bundle\sr.lproj\CastComponents.strings + + + GoogleCastUIResources.bundle\sr.lproj\UILocalizable.strings + + + GoogleCastUIResources.bundle\sv.lproj\CastComponents.strings + + + GoogleCastUIResources.bundle\sv.lproj\UILocalizable.strings + + + GoogleCastUIResources.bundle\sw.lproj\CastComponents.strings + + + GoogleCastUIResources.bundle\sw.lproj\UILocalizable.strings + + + GoogleCastUIResources.bundle\ta.lproj\CastComponents.strings + + + GoogleCastUIResources.bundle\ta.lproj\UILocalizable.strings + + + GoogleCastUIResources.bundle\th.lproj\CastComponents.strings + + + GoogleCastUIResources.bundle\th.lproj\UILocalizable.strings + + + GoogleCastUIResources.bundle\tr.lproj\CastComponents.strings + + + GoogleCastUIResources.bundle\tr.lproj\UILocalizable.strings + + + GoogleCastUIResources.bundle\uk.lproj\CastComponents.strings + + + GoogleCastUIResources.bundle\uk.lproj\UILocalizable.strings + + + GoogleCastUIResources.bundle\vi.lproj\CastComponents.strings + + + GoogleCastUIResources.bundle\vi.lproj\UILocalizable.strings + + + GoogleCastUIResources.bundle\zh.lproj\CastComponents.strings + + + GoogleCastUIResources.bundle\zh.lproj\UILocalizable.strings + + + GoogleCastUIResources.bundle\zh_CN.lproj\CastComponents.strings + + + GoogleCastUIResources.bundle\zh_CN.lproj\UILocalizable.strings + + + GoogleCastUIResources.bundle\zh_TW.lproj\CastComponents.strings + + + GoogleCastUIResources.bundle\zh_TW.lproj\UILocalizable.strings + + + diff --git a/source/Google/Cast/Enums.cs b/source/Google/Cast/Enums.cs index 6b6cc77c9..3ade1a86e 100644 --- a/source/Google/Cast/Enums.cs +++ b/source/Google/Cast/Enums.cs @@ -1,11 +1,9 @@ using System; using ObjCRuntime; -namespace Google.Cast -{ +namespace Google.Cast { [Native] - public enum ConnectionState : long - { + public enum ConnectionState : long { Disconnected = 0, Connecting = 1, Connected = 2, @@ -13,8 +11,7 @@ public enum ConnectionState : long } [Native] - public enum ConnectionSuspendReason : long - { + public enum ConnectionSuspendReason : long { Unknown = -1, None = 0, AppBackgrounded = 1, @@ -24,24 +21,21 @@ public enum ConnectionSuspendReason : long } [Native] - public enum ActiveInputStatus : long - { + public enum ActiveInputStatus : long { Unknown = -1, Inactive = 0, Active = 1 } [Native] - public enum StandbyStatus : long - { + public enum StandbyStatus : long { Unknown = -1, Inactive = 0, Active = 1, } [Native] - public enum CastState : ulong - { + public enum CastState : ulong { NoDevicesAvailable = 0, NotConnected = 1, Connecting = 2, @@ -49,8 +43,7 @@ public enum CastState : ulong } [Native] - public enum DeviceStatus : long - { + public enum DeviceStatus : long { Unknown = -1, Idle = 0, Busy = 1, @@ -65,6 +58,8 @@ public enum DeviceCapabilities : long { AudioIn = 1 << 3, MultizoneGroup = 1 << 5, DynamicGroup = 1 << 6, + MultiChannelGroup = 1 << 7, + MultiChannelMember = 1 << 8, MasterOrFixedVolume = 1 << 11, AttenuationOrFixedVolume = 1 << 12, DynamicGroupingSupported = 1 << 16 @@ -73,8 +68,7 @@ public enum DeviceCapabilities : long { [Obsolete ("Use DeviceCapabilities enum instead.")] [Flags] [Native] - public enum DeviceCapability : long - { + public enum DeviceCapability : long { VideoOut = 1 << 0, VideoIn = 1 << 1, AudioOut = 1 << 2, @@ -87,8 +81,7 @@ public enum DeviceCapability : long } [Native] - public enum DeviceType : long - { + public enum DeviceType : long { Generic = 0, Tv, Speaker, @@ -97,15 +90,13 @@ public enum DeviceType : long } [Native] - public enum DiscoveryState : long - { + public enum DiscoveryState : long { Stopped = 0, Running = 1 } [Native] - public enum ErrorCode : long - { + public enum ErrorCode : long { NoError = 0, NetworkError = 1, Timeout = 2, @@ -150,36 +141,36 @@ public enum ErrorCode : long DeviceCapabilityNotSupported = 46, CrlInvalid = 47, CrlCheckFailed = 48, - BroadcastMessageEncryptionFailed = 50, - BroadcastKeyExchangeInvalidResponse = 51, - BroadcastKeyExchangeInvalidInput = 52, - BroadcastKeyExchangeEmptyResponse = 53, - BroadcastKeyExchangeRequestTimeout = 54, - BroadcastKeyExchangeFailedToFindDevice = 55, - BroadcastKeyExchangeFailedToConnect = 56, - BroadcastMessageDropped = 57, - BroadcastSocketError = 58, - BroadcastFailedToGenerateEncryptionKey = 59, + BroadcastMessageEncryptionFailed = 50, + BroadcastKeyExchangeInvalidResponse = 51, + BroadcastKeyExchangeInvalidInput = 52, + BroadcastKeyExchangeEmptyResponse = 53, + BroadcastKeyExchangeRequestTimeout = 54, + BroadcastKeyExchangeFailedToFindDevice = 55, + BroadcastKeyExchangeFailedToConnect = 56, + BroadcastMessageDropped = 57, + BroadcastSocketError = 58, + BroadcastFailedToGenerateEncryptionKey = 59, GuestModeListenFailed = 60, - RemoteDisplayError = 80, - RemoteDisplayDeviceNotSupported = 81, - RemoteDisplayFeatureNotSupported = 82, - RemoteDisplayConfigurationRejectedByReceiver = 83, - RemoteDisplayOpenGLError = 84, - RemoteDisplayMetalError = 85, - RemoteDisplayAudioConversionError = 86, + RemoteDisplayError = 80, + RemoteDisplayDeviceNotSupported = 81, + RemoteDisplayFeatureNotSupported = 82, + RemoteDisplayConfigurationRejectedByReceiver = 83, + RemoteDisplayOpenGLError = 84, + RemoteDisplayMetalError = 85, + RemoteDisplayAudioConversionError = 86, AppDidEnterBackground = 91, Disconnected = 92, UnsupportedFeature = 93, Unknown = 99, DeviceAuthenticationMessageParseFailure = 100, DeviceAuthenticationMessageChallengeReceivedFailure = 101, - DeviceAuthenticationTimeoutFailure = 102 + DeviceAuthenticationTimeoutFailure = 102, + LaunchRequestCancelled = 103 } [Native] - public enum LoggerLevel : long - { + public enum LoggerLevel : long { None = 0, Verbose = 1, Debug = 2, @@ -190,16 +181,14 @@ public enum LoggerLevel : long } [Native] - public enum MediaResumeState : long - { + public enum MediaResumeState : long { Unchanged = 0, Play = 1, Pause = 2 } [Native] - public enum MediaRepeatMode : long - { + public enum MediaRepeatMode : long { Unchanged = 0, Off = 1, Single = 2, @@ -208,8 +197,7 @@ public enum MediaRepeatMode : long } [Native] - public enum MediaStreamType : long - { + public enum MediaStreamType : long { None = 0, Buffered = 1, Live = 2, @@ -217,8 +205,7 @@ public enum MediaStreamType : long } [Native] - public enum MediaMetadataType : long - { + public enum MediaMetadataType : long { Generic = 0, Movie = 1, TvShow = 2, @@ -249,8 +236,7 @@ public enum MediaQueueType : long { } [Native] - public enum StreamingProtocolType : long - { + public enum StreamingProtocolType : long { Unknown = 0, MpegDash = 1, Hls = 2, @@ -258,18 +244,26 @@ public enum StreamingProtocolType : long } [Native] - public enum HlsSegmentFormat : long - { + public enum HlsSegmentFormat : long { Undefined = 0, Aac = 1, Ac3 = 2, Mp3 = 3, - Ts = 4 + Ts = 4, + TsAac = 5, + EAc3 = 6, + Fmp4 = 7 } [Native] - public enum MediaPlayerState : long - { + public enum HlsVideoSegmentFormat : long { + Undefined = 0, + Mpeg2Ts = 1, + Fmp4 = 2 + } + + [Native] + public enum MediaPlayerState : long { Unknown = 0, Idle = 1, Playing = 2, @@ -279,8 +273,7 @@ public enum MediaPlayerState : long } [Native] - public enum MediaPlayerIdleReason : long - { + public enum MediaPlayerIdleReason : long { None = 0, Finished = 1, Cancelled = 2, @@ -289,8 +282,7 @@ public enum MediaPlayerIdleReason : long } [Native] - public enum MediaTextTrackStyleEdgeType : long - { + public enum MediaTextTrackStyleEdgeType : long { Unknown = -1, None = 0, Outline = 1, @@ -300,8 +292,7 @@ public enum MediaTextTrackStyleEdgeType : long } [Native] - public enum MediaTextTrackStyleWindowType : long - { + public enum MediaTextTrackStyleWindowType : long { Unknown = -1, None = 0, Normal = 1, @@ -309,8 +300,7 @@ public enum MediaTextTrackStyleWindowType : long } [Native] - public enum MediaTextTrackStyleFontGenericFamily : long - { + public enum MediaTextTrackStyleFontGenericFamily : long { Unknown = -1, None = 0, SansSerif = 1, @@ -323,8 +313,7 @@ public enum MediaTextTrackStyleFontGenericFamily : long } [Native] - public enum MediaTextTrackStyleFontStyle : long - { + public enum MediaTextTrackStyleFontStyle : long { Unknown = -1, Normal = 0, Bold = 1, @@ -333,8 +322,7 @@ public enum MediaTextTrackStyleFontStyle : long } [Native] - public enum MediaTrackType : long - { + public enum MediaTrackType : long { Unknown = 0, Text = 1, Audio = 2, @@ -342,8 +330,7 @@ public enum MediaTrackType : long } [Native] - public enum MediaTextTrackSubtype : long - { + public enum MediaTextTrackSubtype : long { Unknown = 0, Subtitles = 1, Captions = 3, @@ -353,8 +340,7 @@ public enum MediaTextTrackSubtype : long } [Native] - public enum NetworkAddressType : long - { + public enum NetworkAddressType : long { Unknown = 0, IPv4 = 1, IPv6 = 2, @@ -362,15 +348,13 @@ public enum NetworkAddressType : long } [Native] - public enum RequestAbortReason : long - { + public enum RequestAbortReason : long { Replaced = 1, Cancelled = 2 } [Native] - public enum SenderApplicationInfoPlatform : long - { + public enum SenderApplicationInfoPlatform : long { Android = 1, iOS = 2, Chrome = 3, @@ -378,16 +362,14 @@ public enum SenderApplicationInfoPlatform : long } [Native] - public enum SessionEndAction : long - { + public enum SessionEndAction : long { Leave = 1, Disconnect = 2, StopCasting = 3 } [Native] - public enum MediaMetadataImageType : long - { + public enum MediaMetadataImageType : long { Custom = 0, CastDialog = 1, MiniController = 2, @@ -395,8 +377,7 @@ public enum MediaMetadataImageType : long } [Native] - public enum UIMediaButtonType : long - { + public enum UIMediaButtonType : long { None, PlayPauseToggle, SkipNext, @@ -410,16 +391,14 @@ public enum UIMediaButtonType : long } [Native] - public enum UIPlayPauseState : long - { + public enum UIPlayPauseState : long { None = 0, Play = 1, Pause = 2 } [Native] - public enum VideoInfoHdrType : long - { + public enum VideoInfoHdrType : long { Unknown = -1, Sdr = 0, Dv = 1, diff --git a/source/Google/Maps/ApiDefinition.cs b/source/Google/Maps/ApiDefinition.cs index 58c437ed3..4386c8d00 100644 --- a/source/Google/Maps/ApiDefinition.cs +++ b/source/Google/Maps/ApiDefinition.cs @@ -80,6 +80,9 @@ interface Constants [Field ("kGMSAccessibilityMyLocation", "__Internal")] NSString AccessibilityMyLocation { get; } + [Field ("kGMSAccessiblityOutOfQuota", "__Internal")] + NSString AccessiblityOutOfQuota { get; } + [Field ("kGMSEquatorProjectedMeter", "__Internal")] double EquatorProjectedMeter { get; } } @@ -430,7 +433,6 @@ interface IndoorLevel string ShortName { get; } } - [BaseType (typeof (Layer), Name = "GMSMapLayer")] interface MapLayer { @@ -664,6 +666,19 @@ interface MapView // - (BOOL)areEqualForRenderingPosition:(GMSCameraPosition *)position position:(GMSCameraPosition*)otherPosition; [Export ("areEqualForRenderingPosition:position:")] bool Equals (CameraPosition position, CameraPosition otherPosition); + + /// + /// From a category (GMSMapView+Premium.h) + /// + + // +(instancetype _Nonnull)mapWithFrame:(CGRect)frame mapID:(GMSMapID * _Nonnull)mapID camera:(GMSCameraPosition * _Nonnull)camera __attribute__((availability(swift, unavailable))); + [Static] + [Export ("mapWithFrame:mapID:camera:")] + MapView MapWithFrame (CGRect frame, MapId mapId, CameraPosition camera); + + // -(instancetype _Nonnull)initWithFrame:(CGRect)frame mapID:(GMSMapID * _Nonnull)mapID camera:(GMSCameraPosition * _Nonnull)camera; + [Export ("initWithFrame:mapID:camera:")] + IntPtr Constructor (CGRect frame, MapId mapId, CameraPosition camera); } [BaseType (typeof (MapView))] @@ -753,6 +768,14 @@ interface Marker [Static] [Export ("markerImageWithColor:")] UIImage MarkerImage ([NullAllowed] UIColor color); + + /// + /// From a category (GMSMarker+Premium.h) + /// + + // @property (nonatomic) GMSCollisionBehavior collisionBehavior; + [Export ("collisionBehavior", ArgumentSemantic.Assign)] + CollisionBehavior CollisionBehavior { get; set; } } [DisableDefaultCtor] @@ -840,10 +863,6 @@ interface Panorama [Export ("panoramaID")] string PanoramaId { get; } - [Obsolete ("Use PanoramaId property instead. This will be removed in future versions.")] - [Wrap ("PanoramaId")] - string PanoramaID { get; } - [Export ("links", ArgumentSemantic.Copy)] PanoramaLink [] Links { get; } } @@ -930,10 +949,6 @@ interface PanoramaLink [Export ("panoramaID", ArgumentSemantic.Copy)] string PanoramaId { get; set; } - - [Obsolete ("Use PanoramaId property instead. This will be removed in future versions.")] - [Wrap ("PanoramaId")] - string PanoramaID { get; set; } } delegate void PanoramaCallback ([NullAllowed] Panorama panorama, [NullAllowed] NSError error); @@ -1252,16 +1267,16 @@ interface MapServices [Export ("provideAPIKey:")] bool ProvideApiKey (string apiKey); - [Obsolete ("Use ProvideApiKey static method instead. This will be removed in future versions.")] - [Static] - [Wrap ("ProvideApiKey (APIKey)")] - bool ProvideAPIKey (string APIKey); - // +(BOOL)provideAPIOptions:(NSArray * _Nonnull)APIOptions; [Static] [Export ("provideAPIOptions:")] bool ProvideApiOptions (string [] apiOptions); + // + (void)setAbnormalTerminationReportingEnabled:(BOOL)enabled; + [Static] + [Export ("setAbnormalTerminationReportingEnabled:")] + bool AbnormalTerminationReportingEnabled (bool enabled); + [Static] [Export ("openSourceLicenseInfo")] string OpenSourceLicenseInfo { get; } @@ -1270,11 +1285,6 @@ interface MapServices [Export ("SDKVersion")] string SdkVersion { get; } - [Obsolete ("Use SdkVersion static property instead. This will be removed in future versions.")] - [Static] - [Wrap ("SdkVersion")] - string SDKVersion { get; } - // +(NSString * _Nonnull)SDKLongVersion; [Static] [Export ("SDKLongVersion")] @@ -1425,4 +1435,52 @@ interface UrlTileLayer [Export ("userAgent", ArgumentSemantic.Copy)] string UserAgent { get; set; } } + + #region Premium + + // @interface GMSMapID : NSObject + [DisableDefaultCtor] + [BaseType (typeof (NSObject), Name = "GMSMapID")] + interface MapId : INSCopying { + // -(instancetype _Nonnull)initWithIdentifier:(NSString * _Nonnull)identifier __attribute__((objc_designated_initializer)); + [Export ("initWithIdentifier:")] + [DesignatedInitializer] + IntPtr Constructor (string identifier); + + // +(instancetype _Nonnull)mapIDWithIdentifier:(NSString * _Nonnull)identifier __attribute__((availability(swift, unavailable))); + [Static] + [Export ("mapIDWithIdentifier:")] + MapId MapIdWithIdentifier (string identifier); + } + + // @interface GMSStampStyle : NSObject + [DisableDefaultCtor] + [BaseType (typeof (NSObject), Name = "GMSStampStyle")] + interface StampStyle { + // @property (readonly, nonatomic) UIImage * _Nonnull stampImage; + [Export ("stampImage")] + UIImage StampImage { get; } + } + + // @interface GMSTextureStyle : GMSStampStyle + [BaseType (typeof (StampStyle), Name = "GMSTextureStyle")] + interface TextureStyle { + // +(instancetype _Nonnull)textureStyleWithImage:(UIImage * _Nonnull)image __attribute__((availability(swift, unavailable))); + [Static] + [Export ("textureStyleWithImage:")] + TextureStyle TextureStyleWithImage (UIImage image); + + // -(instancetype _Nonnull)initWithImage:(UIImage * _Nonnull)image __attribute__((objc_designated_initializer)); + [Export ("initWithImage:")] + [DesignatedInitializer] + IntPtr Constructor (UIImage image); + + // From a category (GMSStrokeStyle+Premium.h) + + // @property (nonatomic, strong) GMSStampStyle * _Nullable stampStyle; + [NullAllowed, Export ("stampStyle", ArgumentSemantic.Strong)] + StampStyle StampStyle { get; set; } + } + + #endregion } diff --git a/source/Google/Maps/Enums.cs b/source/Google/Maps/Enums.cs index e97fe1aa3..f92501fb5 100644 --- a/source/Google/Maps/Enums.cs +++ b/source/Google/Maps/Enums.cs @@ -68,4 +68,11 @@ public enum LengthKind : ulong Rhumb, Projected } + + [Native] + public enum CollisionBehavior : long { + Required, + RequiredAndHidesOptional, + OptionalAndHidesLowerPriority + } } diff --git a/source/Google/Maps/Maps.csproj b/source/Google/Maps/Maps.csproj index cbc4f810b..87211daa7 100644 --- a/source/Google/Maps/Maps.csproj +++ b/source/Google/Maps/Maps.csproj @@ -6,7 +6,7 @@ Google.Maps Google.Maps 1.0.0.0 - 3.9.0.0 + 5.0.0.0 Resources true @@ -23,7 +23,7 @@ https://go.microsoft.com/fwlink/?linkid=865548 License.md true - 3.9.0.0 + 5.0.0.0 diff --git a/source/Google/Maps/Maps.targets b/source/Google/Maps/Maps.targets index c4280235e..5ff15bc98 100644 --- a/source/Google/Maps/Maps.targets +++ b/source/Google/Maps/Maps.targets @@ -2,14 +2,14 @@ <_GoogleMapsAssemblyName>Google.Maps, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - <_GoogleMapsItemsFolder>GMps-3.9.0 + <_GoogleMapsItemsFolder>GMps-5.0.0 <_GoogleMapsSDKBaseFolder>$(XamarinBuildDownloadDir)$(_GoogleMapsItemsFolder)\Maps\Frameworks\ <_GoogleMapsBaseSDKBaseFolder>$(XamarinBuildDownloadDir)$(_GoogleMapsItemsFolder)\Base\Frameworks\ - https://dl.google.com/dl/cpdc/04a8fa7edaeaadf5/GoogleMaps-3.9.0.tar.gz + https://dl.google.com/dl/cpdc/ab79f3027f5ffbec/GoogleMaps-5.0.0.tar.gz Tgz @@ -36,57 +36,57 @@ - - GoogleMaps.bundle\Info.plist - GoogleMaps.bundle\bubble_left.png False - - GoogleMaps.bundle\bubble_left%402x.png + + GoogleMaps.bundle\bubble_left@2x.png False - - GoogleMaps.bundle\bubble_left%403x.png + + GoogleMaps.bundle\bubble_left@3x.png False GoogleMaps.bundle\bubble_right.png False - - GoogleMaps.bundle\bubble_right%402x.png + + GoogleMaps.bundle\bubble_right@2x.png False - - GoogleMaps.bundle\bubble_right%403x.png + + GoogleMaps.bundle\bubble_right@3x.png False GoogleMaps.bundle\default_marker.png False - - GoogleMaps.bundle\default_marker%402x.png + + GoogleMaps.bundle\default_marker@2x.png False - - GoogleMaps.bundle\default_marker%403x.png + + GoogleMaps.bundle\default_marker@3x.png False GoogleMaps.bundle\ic_error.png False - - GoogleMaps.bundle\ic_error%402x.png + + GoogleMaps.bundle\ic_error@2x.png False - - GoogleMaps.bundle\ic_error%403x.png + + GoogleMaps.bundle\ic_error@3x.png False + + GoogleMaps.bundle\Info.plist + GoogleMaps.bundle\oss_licenses_maps.txt.gz @@ -105,6 +105,46 @@ GoogleMaps.bundle\GMSCoreResources.bundle\Assets.car + + GoogleMaps.bundle\GMSCoreResources.bundle\button_background.png + False + + + GoogleMaps.bundle\GMSCoreResources.bundle\button_background@2x.png + False + + + GoogleMaps.bundle\GMSCoreResources.bundle\button_background@3x.png + False + + + GoogleMaps.bundle\GMSCoreResources.bundle\button_compass.png + False + + + GoogleMaps.bundle\GMSCoreResources.bundle\button_compass@2x.png + False + + + GoogleMaps.bundle\GMSCoreResources.bundle\button_compass_night.png + False + + + GoogleMaps.bundle\GMSCoreResources.bundle\button_compass_night@2x.png + False + + + GoogleMaps.bundle\GMSCoreResources.bundle\button_my_location.png + False + + + GoogleMaps.bundle\GMSCoreResources.bundle\button_my_location@2x.png + False + + + GoogleMaps.bundle\GMSCoreResources.bundle\dav_one_way_16_256.png + False + GoogleMaps.bundle\GMSCoreResources.bundle\DroidSansMerged-Regular.ttf @@ -144,108 +184,149 @@ GoogleMaps.bundle\GMSCoreResources.bundle\GMSSprites-0-3x.png False - - GoogleMaps.bundle\GMSCoreResources.bundle\Info.plist + + GoogleMaps.bundle\GMSCoreResources.bundle\ic_closed_place_waypoint_alert_32pt.png + False - - GoogleMaps.bundle\GMSCoreResources.bundle\Tharlon-Regular.ttf + + GoogleMaps.bundle\GMSCoreResources.bundle\ic_closed_place_waypoint_alert_32pt@2x.png + False - - GoogleMaps.bundle\GMSCoreResources.bundle\button_background.png + + GoogleMaps.bundle\GMSCoreResources.bundle\ic_closed_place_waypoint_alert_32pt@3x.png False - - GoogleMaps.bundle\GMSCoreResources.bundle\button_background%402x.png + + GoogleMaps.bundle\GMSCoreResources.bundle\ic_closed_place_waypoint_alert_night_32pt.png False - - GoogleMaps.bundle\GMSCoreResources.bundle\button_background%403x.png + + GoogleMaps.bundle\GMSCoreResources.bundle\ic_closed_place_waypoint_alert_night_32pt@2x.png False - - GoogleMaps.bundle\GMSCoreResources.bundle\button_compass.png + + GoogleMaps.bundle\GMSCoreResources.bundle\ic_closed_place_waypoint_alert_night_32pt@3x.png False - - GoogleMaps.bundle\GMSCoreResources.bundle\button_compass%402x.png + + GoogleMaps.bundle\GMSCoreResources.bundle\ic_compass_needle.png False - - GoogleMaps.bundle\GMSCoreResources.bundle\button_compass_night.png + + GoogleMaps.bundle\GMSCoreResources.bundle\ic_compass_needle@2x.png False - - GoogleMaps.bundle\GMSCoreResources.bundle\button_compass_night%402x.png + + GoogleMaps.bundle\GMSCoreResources.bundle\ic_compass_needle_32pt.png False - - GoogleMaps.bundle\GMSCoreResources.bundle\button_my_location.png + + GoogleMaps.bundle\GMSCoreResources.bundle\ic_compass_needle_32pt@2x.png False - - GoogleMaps.bundle\GMSCoreResources.bundle\button_my_location%402x.png + + GoogleMaps.bundle\GMSCoreResources.bundle\ic_compass_needle_32pt@3x.png False - - GoogleMaps.bundle\GMSCoreResources.bundle\dav_one_way_16_256.png + + GoogleMaps.bundle\GMSCoreResources.bundle\ic_compass_needle_large.png False - - GoogleMaps.bundle\GMSCoreResources.bundle\ic_compass_needle_32pt.png + + GoogleMaps.bundle\GMSCoreResources.bundle\ic_compass_needle_large@2x.png False - - GoogleMaps.bundle\GMSCoreResources.bundle\ic_compass_needle_32pt%402x.png + + GoogleMaps.bundle\GMSCoreResources.bundle\ic_compass_needle_large@3x.png False - - GoogleMaps.bundle\GMSCoreResources.bundle\ic_compass_needle_32pt%403x.png + + GoogleMaps.bundle\GMSCoreResources.bundle\ic_covid_border_waypoint_alert_32pt.png False - - GoogleMaps.bundle\GMSCoreResources.bundle\ic_compass_needle.png + + GoogleMaps.bundle\GMSCoreResources.bundle\ic_covid_border_waypoint_alert_32pt@2x.png False - - GoogleMaps.bundle\GMSCoreResources.bundle\ic_compass_needle%402x.png + + GoogleMaps.bundle\GMSCoreResources.bundle\ic_covid_border_waypoint_alert_32pt@3x.png False - - GoogleMaps.bundle\GMSCoreResources.bundle\ic_compass_needle_large.png + + GoogleMaps.bundle\GMSCoreResources.bundle\ic_covid_checkpoint_waypoint_alert_32pt.png + False + + + GoogleMaps.bundle\GMSCoreResources.bundle\ic_covid_checkpoint_waypoint_alert_32pt@2x.png + False + + + GoogleMaps.bundle\GMSCoreResources.bundle\ic_covid_checkpoint_waypoint_alert_32pt@3x.png + False + + + GoogleMaps.bundle\GMSCoreResources.bundle\ic_covid_checkpoint_waypoint_alert_night_32pt.png False - - GoogleMaps.bundle\GMSCoreResources.bundle\ic_compass_needle_large%402x.png + + GoogleMaps.bundle\GMSCoreResources.bundle\ic_covid_checkpoint_waypoint_alert_night_32pt@2x.png False - - GoogleMaps.bundle\GMSCoreResources.bundle\ic_compass_needle_large%403x.png + + GoogleMaps.bundle\GMSCoreResources.bundle\ic_covid_checkpoint_waypoint_alert_night_32pt@3x.png + False + + + GoogleMaps.bundle\GMSCoreResources.bundle\ic_covid_medical_waypoint_alert_32pt.png + False + + + GoogleMaps.bundle\GMSCoreResources.bundle\ic_covid_medical_waypoint_alert_32pt@2x.png + False + + + GoogleMaps.bundle\GMSCoreResources.bundle\ic_covid_medical_waypoint_alert_32pt@3x.png + False + + + GoogleMaps.bundle\GMSCoreResources.bundle\ic_covid_medical_waypoint_alert_night_32pt.png + False + + + GoogleMaps.bundle\GMSCoreResources.bundle\ic_covid_medical_waypoint_alert_night_32pt@2x.png + False + + + GoogleMaps.bundle\GMSCoreResources.bundle\ic_covid_medical_waypoint_alert_night_32pt@3x.png False GoogleMaps.bundle\GMSCoreResources.bundle\ic_location_off.png False - - GoogleMaps.bundle\GMSCoreResources.bundle\ic_location_off%402x.png + + GoogleMaps.bundle\GMSCoreResources.bundle\ic_location_off@2x.png False - - GoogleMaps.bundle\GMSCoreResources.bundle\ic_location_off%403x.png + + GoogleMaps.bundle\GMSCoreResources.bundle\ic_location_off@3x.png False GoogleMaps.bundle\GMSCoreResources.bundle\ic_qu_direction_mylocation.png False - - GoogleMaps.bundle\GMSCoreResources.bundle\ic_qu_direction_mylocation%402x.png + + GoogleMaps.bundle\GMSCoreResources.bundle\ic_qu_direction_mylocation@2x.png False - - GoogleMaps.bundle\GMSCoreResources.bundle\ic_qu_direction_mylocation%403x.png + + GoogleMaps.bundle\GMSCoreResources.bundle\ic_qu_direction_mylocation@3x.png False + + GoogleMaps.bundle\GMSCoreResources.bundle\Info.plist + GoogleMaps.bundle\GMSCoreResources.bundle\polyline_colors_texture.png False @@ -290,6 +371,9 @@ GoogleMaps.bundle\GMSCoreResources.bundle\road_8-2.png False + + GoogleMaps.bundle\GMSCoreResources.bundle\Tharlon-Regular.ttf + GoogleMaps.bundle\GMSCoreResources.bundle\ar.lproj\GMSCore.strings @@ -359,6 +443,9 @@ GoogleMaps.bundle\GMSCoreResources.bundle\ja.lproj\GMSCore.strings + + GoogleMaps.bundle\GMSCoreResources.bundle\ka.lproj\GMSCore.strings + GoogleMaps.bundle\GMSCoreResources.bundle\ko.lproj\GMSCore.strings @@ -371,6 +458,9 @@ GoogleMaps.bundle\GMSCoreResources.bundle\ms.lproj\GMSCore.strings + + GoogleMaps.bundle\GMSCoreResources.bundle\my.lproj\GMSCore.strings + GoogleMaps.bundle\GMSCoreResources.bundle\nb.lproj\GMSCore.strings @@ -398,9 +488,18 @@ GoogleMaps.bundle\GMSCoreResources.bundle\sk.lproj\GMSCore.strings + + GoogleMaps.bundle\GMSCoreResources.bundle\sq.lproj\GMSCore.strings + + + GoogleMaps.bundle\GMSCoreResources.bundle\sr.lproj\GMSCore.strings + GoogleMaps.bundle\GMSCoreResources.bundle\sv.lproj\GMSCore.strings + + GoogleMaps.bundle\GMSCoreResources.bundle\sw.lproj\GMSCore.strings + GoogleMaps.bundle\GMSCoreResources.bundle\th.lproj\GMSCore.strings diff --git a/source/Google/MobileAds/ApiDefinition.cs b/source/Google/MobileAds/ApiDefinition.cs index 0740aefb3..881e0cffd 100644 --- a/source/Google/MobileAds/ApiDefinition.cs +++ b/source/Google/MobileAds/ApiDefinition.cs @@ -57,6 +57,8 @@ interface AdSizeCons { // typedef void (^GADInitializationCompletionHandler)(GADInitializationStatus * _Nonnull); delegate void InitializationCompletionHandler (InitializationStatus status); + // typedef void (^GADAdInspectorCompletionHandler)(NSError *_Nullable error); + delegate void AdInspectorCompletionHandler (NSError error); // @interface GADMobileAds : NSObject [DisableDefaultCtor] @@ -95,23 +97,11 @@ interface MobileAds { [Export ("isSDKVersionAtLeastMajor:minor:patch:")] bool IsSdkVersionAtLeast (nint major, nint minor, nint patch); - [Obsolete ("Use IsSdkVersionAtLeast method instead. This will be removed in future versions.")] - [Wrap ("IsSdkVersionAtLeast (major, minor, patch)")] - bool IsSDKVersionAtLeast (nint major, nint minor, nint patch); - // -(void)startWithCompletionHandler:(GADInitializationCompletionHandler _Nullable)completionHandler; [Async] [Export ("startWithCompletionHandler:")] void Start ([NullAllowed] InitializationCompletionHandler completionHandler); - // -(void)disableAutomatedInAppPurchaseReporting; - [Export ("disableAutomatedInAppPurchaseReporting")] - void DisableTheAutomatedInAppPurchaseReporting (); - - // -(void)enableAutomatedInAppPurchaseReporting; - [Export ("enableAutomatedInAppPurchaseReporting")] - void EnableTheAutomatedInAppPurchaseReporting(); - // -(void)disableSDKCrashReporting; [Export ("disableSDKCrashReporting")] void DisableSdkCrashReporting (); @@ -120,23 +110,9 @@ interface MobileAds { [Export ("disableMediationInitialization")] void DisableMediationInitialization (); - // + (void)configureWithApplicationID:(NSString *)applicationID; - [Obsolete ("Use MobileAds.SharedInstance.Start method instead.")] - [Static] - [Export ("configureWithApplicationID:")] - void Configure (string applicationId); - - // +(void)disableAutomatedInAppPurchaseReporting; - [Obsolete ("Use MobileAds.SharedInstance.DisableTheAutomatedInAppPurchaseReporting method instead.")] - [Static] - [Export ("disableAutomatedInAppPurchaseReporting")] - void DisableAutomatedInAppPurchaseReporting (); - - // +(void)disableSDKCrashReporting; - [Obsolete("Use MobileAds.SharedInstance.DisableSdkCrashReporting method instead.")] - [Static] - [Export ("disableSDKCrashReporting")] - void DisableSDKCrashReporting (); + // - (void)presentAdInspectorFromViewController:(nonnull UIViewController *)viewController completionHandler: (nullable GADAdInspectorCompletionHandler)completionHandler; + [Export ("presentAdInspectorFromViewController:viewController:")] + void PresentAdInspectorFromViewController (UIViewController viewConroller, AdInspectorCompletionHandler completionHandler); } // @interface GADMultipleAdsAdLoaderOptions : GADAdLoaderOptions @@ -181,10 +157,6 @@ interface AdReward { Delegates = new string [] { "Delegate", "AdSizeDelegate" }, Events = new Type [] { typeof (BannerViewDelegate), typeof (AdSizeDelegate) })] interface BannerView { - - [Export ("initWithFrame:")] - IntPtr Constructor (CGRect frame); - [Export ("initWithAdSize:origin:")] IntPtr Constructor (AdSize size, CGPoint origin); @@ -195,11 +167,6 @@ interface BannerView { [Export ("adUnitID", ArgumentSemantic.Copy)] string AdUnitId { get; set; } - [Obsolete ("Use AdUnitId property instead. This will be removed in future versions.")] - [NullAllowed] - [Wrap ("AdUnitId")] - string AdUnitID { get; set; } - [NullAllowed] [Export ("rootViewController", ArgumentSemantic.Weak)] UIViewController RootViewController { get; set; } @@ -211,11 +178,6 @@ interface BannerView { [Export ("delegate", ArgumentSemantic.Weak)] IBannerViewDelegate Delegate { get; set; } - [Obsolete] - [NullAllowed] - [Export ("inAppPurchaseDelegate", ArgumentSemantic.Weak)] - IInAppPurchaseDelegate InAppPurchaseDelegate { get; set; } - // @property(nonatomic, weak, GAD_NULLABLE) IBOutlet id adSizeDelegate; [NullAllowed] [Export ("adSizeDelegate", ArgumentSemantic.Weak)] @@ -236,20 +198,6 @@ interface BannerView { [NullAllowed] [Export ("paidEventHandler", ArgumentSemantic.Copy)] PaidEventHandler PaidEventHandler { get; set; } - - [Obsolete] - [Export ("hasAutoRefreshed", ArgumentSemantic.Assign)] - bool HasAutoRefreshed { get; } - - [Obsolete ("Use ResponseInfo.AdNetworkClassName.")] - [NullAllowed] - [Export ("mediatedAdView", ArgumentSemantic.Weak)] - UIView MediatedAdView { get; } - - [Obsolete ("Use ResponseInfo.AdNetworkClassName.")] - [NullAllowed] - [Export ("adNetworkClassName")] - string AdNetworkClassName { get; } } interface IBannerViewDelegate { @@ -263,35 +211,31 @@ interface BannerViewDelegate { [EventArgs ("BannerViewE")] [EventName ("AdReceived")] - [Export ("adViewDidReceiveAd:")] + [Export ("bannerViewDidReceiveAd:")] void DidReceiveAd (BannerView view); [EventArgs ("BannerViewError")] [EventName ("ReceiveAdFailed")] - [Export ("adView:didFailToReceiveAdWithError:")] - void DidFailToReceiveAd (BannerView view, RequestError error); + [Export ("bannerView:didFailToReceiveAdWithError:")] + void DidFailToReceiveAd (BannerView view, NSError error); [EventArgs ("BannerViewE")] [EventName ("ImpressionRecorded")] - [Export ("adViewDidRecordImpression:")] + [Export ("bannerViewDidRecordImpression:")] void DidRecordImpression (BannerView view); [EventArgs ("BannerViewE")] - [Export ("adViewWillPresentScreen:")] + [Export ("bannerViewWillPresentScreen:")] void WillPresentScreen (BannerView adView); [EventArgs ("BannerViewE")] - [Export ("adViewWillDismissScreen:")] + [Export ("bannerViewWillDismissScreen:")] void WillDismissScreen (BannerView adView); [EventArgs ("BannerViewE")] [EventName ("ScreenDismissed")] - [Export ("adViewDidDismissScreen:")] + [Export ("bannerViewDidDismissScreen:")] void DidDismissScreen (BannerView adView); - - [EventArgs ("BannerViewE")] - [Export ("adViewWillLeaveApplication:")] - void WillLeaveApplication (BannerView adView); } [BaseType (typeof (NSObject), Name = "GADExtras")] @@ -302,109 +246,86 @@ interface Extras : AdNetworkExtras { NSDictionary AdditionalParameters { get; set; } } - [DisableDefaultCtor] - [BaseType (typeof (NSObject), - Name = "GADInterstitial", - Delegates = new string [] { "Delegate" }, - Events = new Type [] { typeof (InterstitialDelegate) })] - interface Interstitial { + // typedef void (^GADInterstitialAdLoadCompletionHandler)(GADInterstitialAd * _Nullable, NSError * _Nullable); + delegate void InterstitialAdLoadCompletionHandler ([NullAllowed] InterstitialAd interstitialAd, [NullAllowed] NSError error); + // typedef void (^GADRewardedInterstitialAdLoadCompletionHandler)(GADRewardedInterstitialAd * _Nullable, NSError * _Nullable); + delegate void RewardedInterstitialAdLoadCompletionHandler ([NullAllowed] RewardedInterstitialAd rewardedInterstitialAd, [NullAllowed] NSError error); - [Export ("initWithAdUnitID:")] - IntPtr Constructor (string adUnitID); + [DisableDefaultCtor] + [BaseType (typeof (FullScreenPresentingAd), Name = "GADInterstitialAd")] + interface InterstitialAd { + // + (void)loadWithAdUnitID:(nonnull NSString *)adUnitID request:(nullable GADRequest *)request completionHandler:(nonnull GADInterstitialAdLoadCompletionHandler)completionHandler; + [Async] + [Static] + [Export ("loadWithAdUnitID:request:completionHandler:")] + void Load (string adUnitId, [NullAllowed] Request request, InterstitialAdLoadCompletionHandler completionHandler); + // @property(nonatomic, readonly, nonnull) NSString *adUnitID; [Export ("adUnitID")] string AdUnitId { get; } - [Obsolete ("Use AdUnitId property instead. This will be removed in future versions.")] - [Wrap ("AdUnitId")] - string AdUnitID { get; } - - [NullAllowed] - [Export ("delegate", ArgumentSemantic.Weak)] - IInterstitialDelegate Delegate { get; set; } - - [Obsolete] - [NullAllowed] - [Export ("inAppPurchaseDelegate", ArgumentSemantic.Weak)] - IInAppPurchaseDelegate InAppPurchaseDelegate { get; set; } - - [Export ("loadRequest:")] - void LoadRequest ([NullAllowed] Request request); - - [Export ("isReady")] - bool IsReady { get; } - - [Export ("hasBeenUsed")] - bool HasBeenUsed { get; } - // @property (readonly, nonatomic) GADResponseInfo * _Nullable responseInfo; [NullAllowed] [Export ("responseInfo")] ResponseInfo ResponseInfo { get; } - // @property (copy, nonatomic) GADPaidEventHandler _Nullable paidEventHandler; + // @property(nonatomic, nullable, copy) GADPaidEventHandler paidEventHandler; [NullAllowed] [Export ("paidEventHandler", ArgumentSemantic.Copy)] PaidEventHandler PaidEventHandler { get; set; } - [Export ("presentFromRootViewController:")] - void Present ([NullAllowed] UIViewController rootViewController); - - [Obsolete ("Use Present method instead. This will be removed in future versions.")] - [Wrap ("Present (rootViewController)")] - void PresentFromRootViewController ([NullAllowed] UIViewController rootViewController); - // -(BOOL)canPresentFromRootViewController:(UIViewController * _Nonnull)rootViewController error:(NSError * _Nullable * _Nullable)error; [Export ("canPresentFromRootViewController:error:")] bool CanPresent (UIViewController rootViewController, [NullAllowed] out NSError error); - [Obsolete ("Use ResponseInfo.AdNetworkClassName.")] - [NullAllowed] - [Export("adNetworkClassName")] - string AdNetworkClassName { get; } + // - (void)presentFromRootViewController:(nonnull UIViewController *)rootViewController; + [Export ("presentFromRootViewController:")] + void Present ([NullAllowed] UIViewController rootViewController); } - interface IInterstitialDelegate { - - } + // @interface GADRewardedInterstitialAd : NSObject + [BaseType (typeof (FullScreenContentDelegate), Name = "GADRewardedInterstitialAd")] + interface RewardedInterstitialAd : AdMetadataProvider { + // + (void)loadWithAdUnitID:(nonnull NSString *)adUnitID request:(nullable GADRequest *)request completionHandler:(nonnull GADRewardedInterstitialAdLoadCompletionHandler)completionHandler; + [Async] + [Static] + [Export ("loadWithAdUnitID:request:completionHandler:")] + void Load (string adUnitId, [NullAllowed] Request request, RewardedInterstitialAdLoadCompletionHandler completionHandler); - [Model (AutoGeneratedName = true)] - [Protocol] - [BaseType (typeof (NSObject), Name = "GADInterstitialDelegate")] - interface InterstitialDelegate { + // @property (readonly, nonatomic) NSString * _Nonnull adUnitID; + [Export ("adUnitID")] + string AdUnitId { get; } - [EventArgs ("InterstitialE")] - [EventName ("AdReceived")] - [Export ("interstitialDidReceiveAd:")] - void DidReceiveAd (Interstitial ad); + // @property (readonly, nonatomic) GADResponseInfo * _Nullable responseInfo; + [NullAllowed] + [Export ("responseInfo")] + ResponseInfo ResponseInfo { get; } - [EventArgs ("InterstitialDidFailToReceiveAdWithError")] - [EventName ("ReceiveAdFailed")] - [Export ("interstitial:didFailToReceiveAdWithError:")] - void DidFailToReceiveAd (Interstitial sender, RequestError error); + // @property (readonly, nonatomic) GADAdReward * _Nullable reward; + [NullAllowed] + [Export ("reward")] + AdReward Reward { get; } - [EventArgs ("InterstitialE")] - [Export ("interstitialWillPresentScreen:")] - void WillPresentScreen (Interstitial ad); + // @property (nonatomic, nullable) GADServerSideVerificationOptions *serverSideVerificationOptions; + [NullAllowed] + [Export ("serverSideVerificationOptions")] + ServerSideVerificationOptions ServerSideVerificationOptions { get; set; } - // - (void)interstitialDidFailToPresentScreen:(GADInterstitial *)ad; - [EventArgs ("InterstitialE")] - [EventName ("FailedToPresentScreen")] - [Export ("interstitialDidFailToPresentScreen:")] - void DidFailToPresentScreen (Interstitial ad); + // @property (copy, nonatomic) GADPaidEventHandler _Nullable paidEventHandler; + [NullAllowed] + [Export ("paidEventHandler", ArgumentSemantic.Copy)] + PaidEventHandler PaidEventHandler { get; set; } - [EventArgs ("InterstitialE")] - [Export ("interstitialWillDismissScreen:")] - void WillDismissScreen (Interstitial ad); + // -(BOOL)canPresentFromRootViewController:(UIViewController * _Nonnull)rootViewController error:(NSError * _Nullable * _Nullable)error; + [Export ("canPresentFromRootViewController:error:")] + bool CanPresent (UIViewController rootViewController, [NullAllowed] out NSError error); - [EventArgs ("InterstitialE")] - [EventName ("ScreenDismissed")] - [Export ("interstitialDidDismissScreen:")] - void DidDismissScreen (Interstitial ad); + // -(void)presentFromRootViewController:(UIViewController * _Nonnull)viewController delegate:(id _Nonnull)delegate; + [Export ("presentFromRootViewController:delegate:")] + void Present (UIViewController viewController, IRewardedAdDelegate @delegate); - [EventArgs ("InterstitialE")] - [Export ("interstitialWillLeaveApplication:")] - void WillLeaveApplication (Interstitial ad); + [Export ("adMetadata")] + NSDictionary AdMetadata { get; } } // @interface GADMediaContent : NSObject @@ -459,16 +380,6 @@ interface Request : INSCopying { [Export ("removeAdNetworkExtrasFor:")] void RemoveAdNetworkExtrasFor (Class aClass); - [Obsolete ("Use MobileAds.SharedInstance.SdkVersion")] - [Static] - [Export ("sdkVersion")] - string SdkVersion { get; } - - [Obsolete ("Use MobileAds.SharedInstance.RequestConfiguration.TestDeviceIdentifiers.")] - [NullAllowed] - [Export ("testDevices", ArgumentSemantic.Copy)] - string [] TestDevices { get; set; } - [Export ("setLocationWithLatitude:longitude:accuracy:")] void SetLocation (nfloat latitude, nfloat longitude, nfloat accuracyInMeters); @@ -487,25 +398,6 @@ interface Request : INSCopying { [NullAllowed] [Export ("requestAgent", ArgumentSemantic.Copy)] string RequestAgent { get; set; } - - [Export ("gender", ArgumentSemantic.Assign)] - Gender Gender { get; set; } - - [NullAllowed] - [Export ("birthday", ArgumentSemantic.Copy)] - NSDate Birthday { get; set; } - - [Obsolete ("Use the Birthday property instead.")] - [Export ("setBirthdayWithMonth:day:year:")] - void SetBirthday (nint m, nint d, nint y); - - [Obsolete ("Use SetLocation (nfloat, nfloat, nfloat) overload method instead.")] - [Export ("setLocationWithDescription:")] - void SetLocation (string locationDescription); - - [Obsolete ("Use MobileAds.SharedInstance.RequestConfiguration.Tag method instead.")] - [Export ("tagForChildDirectedTreatment:")] - void Tag (bool forChildDirectedTreatment); } [Static] @@ -547,22 +439,10 @@ interface RequestConfiguration { // -(void)tagForChildDirectedTreatment:(BOOL)childDirectedTreatment; [Export ("tagForChildDirectedTreatment:")] void TagForChildDirectedTreatment (bool childDirectedTreatment); - } - [DisableDefaultCtor] - [BaseType (typeof (NSError), Name = "GADRequestError")] - interface RequestError { - // extern NSString *const kGADErrorDomain __attribute__((visibility("default"))); - [Internal] - [Field ("kGADErrorDomain", "__Internal")] - NSString _ErrorDomain { get; } - - [Static] - [Wrap ("_ErrorDomain.ToString ()")] - string ErrorDomain { get; } - - [Export ("initWithDomain:code:userInfo:")] - IntPtr Constructor (NSString appDomain, nint code, NSDictionary userInfo); + // - (void)setSameAppKeyEnabled:(BOOL)enabled; + [Export ("setSameAppKeyEnabled:")] + void SameAppKeyEnabled (bool enabled); } // @interface GADAdNetworkResponseInfo : NSObject @@ -626,177 +506,39 @@ interface ResponseInfo NSDictionary DictionaryRepresentation { get; } } - // @interface GADRewardBasedVideoAd : NSObject - [Obsolete ("Use RewardedAd instead. Google AdMob publishers, follow instructions here: " + - "https://googlemobileadssdk.page.link/admob-ios-rewarded-migration. " + - "Google Ad Manager publishers, follow instructions here: " + - "https://googlemobileadssdk.page.link/admanager-ios-rewarded-migration.")] - [DisableDefaultCtor] - [BaseType (typeof (NSObject), - Name = "GADRewardBasedVideoAd", - Delegates = new string [] { "Delegate" }, - Events = new Type [] { typeof (RewardBasedVideoAdDelegate) })] - interface RewardBasedVideoAd { - // @property (nonatomic, weak) id _Nullable delegate; - [NullAllowed] - [Export ("delegate", ArgumentSemantic.Weak)] - IRewardBasedVideoAdDelegate Delegate { get; set; } - - // @property (readonly, getter = isReady, assign, nonatomic) BOOL ready; - [Export ("ready")] - bool IsReady { [Bind ("isReady")] get; } - - // @property(nonatomic, readonly, copy, GAD_NULLABLE) NSString *adNetworkClassName; - [NullAllowed] - [Export ("adNetworkClassName")] - string AdNetworkClassName { get; } - - // @property(nonatomic, copy, GAD_NULLABLE) NSString *userIdentifier; - [NullAllowed] - [Export ("userIdentifier")] - string UserIdentifier { get; } - - // @property (nonatomic, copy, nullable) NSString* customRewardString; - [NullAllowed] - [Export ("customRewardString")] - string CustomRewardString { get; set; } - - // @property (readonly, nonatomic) NSDictionary * _Nullable adMetadata; - [NullAllowed, Export ("adMetadata")] - NSDictionary AdMetadata { get; } - - // +(GADRewardBasedVideoAd *)sharedInstance; - [Static] - [Export ("sharedInstance")] - RewardBasedVideoAd SharedInstance { get; } - - // -(void)loadRequest:(GADRequest *)request withAdUnitID:(NSString *)adUnitID; - [Export ("loadRequest:withAdUnitID:")] - void LoadRequest (Request request, string adUnitId); - - // -(void)presentFromRootViewController:(UIViewController *)viewController; - [Export ("presentFromRootViewController:")] - void Present (UIViewController fromRootViewController); - - [Obsolete ("Use Present method instead. This will be removed in future versions.")] - [Wrap ("Present (viewController)")] - void PresentFromRootViewController (UIViewController viewController); - } + // typedef void (^GADRewardedAdLoadCompletionHandler)(GADRewardedAd *_Nullable rewardedAd, NSError *_Nullable error); + delegate void RewardedAdLoadCompletionHandler ([NullAllowed] RewardedAd rewardedAd, [NullAllowed] NSError error); - interface IRewardBasedVideoAdDelegate { - } + // typedef void (^GADUserDidEarnRewardHandler)(void) + delegate void UserDidEarnRewardHandler (); - // @protocol GADRewardBasedVideoAdDelegate - [Model (AutoGeneratedName = true)] - [Protocol] - [BaseType (typeof (NSObject), Name = "GADRewardBasedVideoAdDelegate")] - interface RewardBasedVideoAdDelegate { - // - (void)rewardBasedVideoAd:(GADRewardBasedVideoAd *)rewardBasedVideoAd didRewardUserWithReward:(GADAdReward*)reward; - [Abstract] - [EventArgs ("RewardBasedVideoAdReward")] - [EventName ("UserRewarded")] - [Export ("rewardBasedVideoAd:didRewardUserWithReward:")] - void DidRewardUser (RewardBasedVideoAd rewardBasedVideoAd, AdReward reward); - - // @optional -(void)rewardBasedVideoAd:(GADRewardBasedVideoAd *)rewardBasedVideoAd didFailToLoadwithError:(NSError *)error; - [EventArgs ("RewardBasedVideoAdError")] - [EventName ("FailedToLoad")] - [Export ("rewardBasedVideoAd:didFailToLoadWithError:")] - void DidFailToLoad (RewardBasedVideoAd rewardBasedVideoAd, NSError error); - - // @optional -(void)rewardBasedVideoAdDidReceiveAd:(GADRewardBasedVideoAd *)rewardBasedVideoAd; - [EventArgs ("RewardBasedVideoAd")] - [EventName ("AdReceived")] - [Export ("rewardBasedVideoAdDidReceiveAd:")] - void DidReceiveAd (RewardBasedVideoAd rewardBasedVideoAd); - - // @optional -(void)rewardBasedVideoAdDidOpen:(GADRewardBasedVideoAd *)rewardBasedVideoAd; - [EventArgs ("RewardBasedVideoAd")] - [EventName ("Opened")] - [Export ("rewardBasedVideoAdDidOpen:")] - void DidOpen (RewardBasedVideoAd rewardBasedVideoAd); - - // @optional -(void)rewardBasedVideoAdDidStartPlaying:(GADRewardBasedVideoAd *)rewardBasedVideoAd; - [EventArgs ("RewardBasedVideoAd")] - [EventName ("PlayingStarted")] - [Export ("rewardBasedVideoAdDidStartPlaying:")] - void DidStartPlaying (RewardBasedVideoAd rewardBasedVideoAd); - - // - (void)rewardBasedVideoAdDidCompletePlaying:(GADRewardBasedVideoAd *)rewardBasedVideoAd; - [EventArgs ("RewardBasedVideoAd")] - [EventName ("PlayingCompleted")] - [Export ("rewardBasedVideoAdDidCompletePlaying:")] - void DidCompletePlaying (RewardBasedVideoAd rewardBasedVideoAd); - - // @optional -(void)rewardBasedVideoAdDidClose:(GADRewardBasedVideoAd *)rewardBasedVideoAd; - [EventArgs ("RewardBasedVideoAd")] - [EventName ("Closed")] - [Export ("rewardBasedVideoAdDidClose:")] - void DidClose (RewardBasedVideoAd rewardBasedVideoAd); - - // @optional -(void)rewardBasedVideoAdWillLeaveApplication:(GADRewardBasedVideoAd *)rewardBasedVideoAd; - [EventArgs ("RewardBasedVideoAd")] - [Export ("rewardBasedVideoAdWillLeaveApplication:")] - void WillLeaveApplication (RewardBasedVideoAd rewardBasedVideoAd); - - // @optional -(void)rewardBasedVideoAdMetadataDidChange:(GADRewardBasedVideoAd * _Nonnull)rewardBasedVideoAd; - [EventArgs ("RewardBasedVideoAd")] - [EventName ("MetadataChanged")] - [Export ("rewardBasedVideoAdMetadataDidChange:")] - void MetadataDidChange (RewardBasedVideoAd rewardBasedVideoAd); - } - - // typedef void (^GADRewardedAdLoadCompletionHandler)(GADRequestError * _Nullable); - delegate void RewardedAdLoadCompletionHandler ([NullAllowed] RequestError error); - - // @interface GADRewardedAd : NSObject - [BaseType (typeof (NSObject), - Name = "GADRewardedAd", - Delegates = new [] { "AdMetadataDelegate" }, - Events = new [] { typeof (RewardedAdMetadataDelegate) })] - interface RewardedAd { - // -(instancetype _Nonnull)initWithAdUnitID:(NSString * _Nonnull)adUnitID; - [Export ("initWithAdUnitID:")] - IntPtr Constructor (string adUnitId); - - // -(void)loadRequest:(GADRequest * _Nullable)request completionHandler:(GADRewardedAdLoadCompletionHandler _Nullable)completionHandler; + // @interface GADRewardedAd : NSObject + [BaseType (typeof (FullScreenPresentingAd), Name = "GADRewardedAd")] + interface RewardedAd : AdMetadataProvider { + // + (void)loadWithAdUnitID:(nonnull NSString *)adUnitID request:(nullable GADRequest *)request completionHandler:(nonnull GADRewardedAdLoadCompletionHandler)completionHandler; [Async] - [Export ("loadRequest:completionHandler:")] - void LoadRequest ([NullAllowed] Request request, [NullAllowed] RewardedAdLoadCompletionHandler completionHandler); + [Static] + [Export ("loadWithAdUnitID:request:completionHandler:")] + void Load (string adUnitId, [NullAllowed] Request request, RewardedAdLoadCompletionHandler completionHandler); // @property (readonly, nonatomic) NSString * _Nonnull adUnitID; [Export ("adUnitID")] string AdUnitId { get; } - // @property (readonly, getter = isReady, nonatomic) BOOL ready; - [Export ("isReady")] - bool IsReady { get; } - // @property (readonly, nonatomic) GADResponseInfo * _Nullable responseInfo; [NullAllowed] [Export ("responseInfo")] ResponseInfo ResponseInfo { get; } - // @property (readonly, nonatomic) GADAdReward * _Nullable reward; - [NullAllowed] - [Export ("reward")] - AdReward Reward { get; } + // @property (readonly, nonatomic, nonnull) GADAdReward *adReward; + [Export ("adReward")] + AdReward AdReward { get; } // @property (nonatomic, nullable) GADServerSideVerificationOptions *serverSideVerificationOptions; [NullAllowed] [Export ("serverSideVerificationOptions")] ServerSideVerificationOptions ServerSideVerificationOptions { get; set; } - // @property (readonly, nonatomic) NSDictionary * _Nullable adMetadata; - [NullAllowed] - [Export ("adMetadata")] - NSDictionary AdMetadata { get; } - - // @property (nonatomic, weak) id _Nullable adMetadataDelegate; - [NullAllowed] - [Export ("adMetadataDelegate", ArgumentSemantic.Weak)] - IRewardedAdMetadataDelegate AdMetadataDelegate { get; set; } - // @property (copy, nonatomic) GADPaidEventHandler _Nullable paidEventHandler; [NullAllowed] [Export ("paidEventHandler", ArgumentSemantic.Copy)] @@ -806,15 +548,12 @@ interface RewardedAd { [Export ("canPresentFromRootViewController:error:")] bool CanPresent (UIViewController rootViewController, [NullAllowed] out NSError error); - // -(void)presentFromRootViewController:(UIViewController * _Nonnull)viewController delegate:(id _Nonnull)delegate; - [Export ("presentFromRootViewController:delegate:")] - void Present (UIViewController viewController, IRewardedAdDelegate @delegate); + // -(void)presentFromRootViewController:(nonnull UIViewController *)rootViewController userDidEarnRewardHandler:(nonnull GADUserDidEarnRewardHandler)userDidEarnRewardHandler; + [Export ("presentFromRootViewController:userDidEarnRewardHandler:")] + void Present (UIViewController viewController, UserDidEarnRewardHandler userDidEarnRewardHandler); - // @property (readonly, copy, nonatomic) NSString * _Nullable adNetworkClassName; - [Obsolete ("Use ResponseInfo.AdNetworkClassName.")] - [NullAllowed] - [Export ("adNetworkClassName")] - string AdNetworkClassName { get; } + [Export ("adMetadata")] + NSDictionary AdMetadata { get; } } interface IRewardedAdDelegate { } @@ -842,20 +581,6 @@ interface RewardedAdDelegate { void DidDismiss (RewardedAd rewardedAd); } - interface IRewardedAdMetadataDelegate { } - - // @protocol GADRewardedAdMetadataDelegate - [Model (AutoGeneratedName = true)] - [Protocol] - [BaseType (typeof (NSObject), Name = "GADRewardedAdMetadataDelegate")] - interface RewardedAdMetadataDelegate { - // @optional -(void)rewardedAdMetadataDidChange:(GADRewardedAd * _Nonnull)rewardedAd; - [EventArgs ("RewardedAdMetadataChanged")] - [EventName ("Changed")] - [Export ("rewardedAdMetadataDidChange:")] - void DidChange (RewardedAd rewardedAd); - } - interface IAdSizeDelegate { } @@ -903,32 +628,55 @@ interface AppEventDelegate { void AdViewDidReceiveAppEvent (BannerView banner, string name, [NullAllowed] string info); [Export ("interstitial:didReceiveAppEvent:withInfo:")] - void InterstitialDidReceiveAppEvent (Interstitial interstitial, string name, [NullAllowed] string info); + void InterstitialDidReceiveAppEvent (InterstitialAd interstitial, string name, [NullAllowed] string info); } // typedef void (^GADAppOpenAdLoadCompletionHandler)(GADAppOpenAd * _Nullable, NSError * _Nullable); delegate void AppOpenAdLoadCompletionHandler ([NullAllowed] AppOpenAd appOpenAd, [NullAllowed] NSError error); interface IFullScreenContentDelegate { - } [Model (AutoGeneratedName = true)] [Protocol] [BaseType (typeof (NSObject), Name = "GADFullScreenContentDelegate")] interface FullScreenContentDelegate { + // - (void)adDidRecordImpression:(nonnull id)ad; + [EventArgs ("FullScreenPresentingAd")] + [EventName ("RecordedImpression")] + [Export ("adDidRecordImpression:")] + void DidRecordImpression (FullScreenPresentingAd ad); + + // - (void)ad:(nonnull id)ad + [EventArgs ("FullScreenPresentingAdWithError")] + [EventName ("FailedToPresentContent")] [Export ("ad:didFailToPresentFullScreenContentWithError:")] void DidFailToPresentFullScreenContent (FullScreenPresentingAd ad, NSError error); + // - (void)adDidPresentFullScreenContent:(nonnull id)ad; + [EventArgs ("FullScreenPresentingAd")] + [EventName ("PresentedContent")] [Export ("adDidPresentFullScreenContent:")] void DidPresentFullScreenContent (FullScreenPresentingAd ad); + // - (void)adWillDismissFullScreenContent:(nonnull id)ad; + [EventArgs ("FullScreenPresentingAd")] + [EventName ("DismissingContent")] + [Export ("adWillDismissFullScreenContent:")] + void WillDismissFullScreenContent (FullScreenPresentingAd ad); + + // - (void)adDidDismissFullScreenContent:(nonnull id)ad; [Export ("adDidDismissFullScreenContent:")] + [EventArgs ("FullScreenPresentingAd")] + [EventName ("DismissedContent")] void DidDismissFullScreenContent (FullScreenPresentingAd ad); } [Protocol] - [BaseType (typeof (NSObject), Name = "GADFullScreenPresentingAd")] + [BaseType (typeof (NSObject), + Name = "GADFullScreenPresentingAd", + Delegates = new string [] { "Delegate" }, + Events = new Type [] { typeof (FullScreenContentDelegate) })] interface FullScreenPresentingAd { [NullAllowed] [Export ("fullScreenContentDelegate", ArgumentSemantic.Weak)] @@ -937,9 +685,9 @@ interface FullScreenPresentingAd { // @interface GADAppOpenAd : GADFullScreenPresentingAd [DisableDefaultCtor] - [BaseType (typeof (FullScreenPresentingAd), Name = "GADAppOpenAd")] + [BaseType (typeof (FullScreenContentDelegate), Name = "GADAppOpenAd")] interface AppOpenAd { - // +(void)loadWithAdUnitID:(NSString * _Nonnull)adUnitID request:(GADRequest * _Nullable)request orientation:(UIInterfaceOrientation)orientation completionHandler:(GADAppOpenAdLoadCompletionHandler _Nonnull)completionHandler; + // + (void)loadWithAdUnitID:(nonnull NSString *)adUnitID request:(nullable GADRequest *)request orientation:(UIInterfaceOrientation)orientation completionHandler:(nonnull GADAppOpenAdLoadCompletionHandler)completionHandler; [Async] [Static] [Export ("loadWithAdUnitID:request:orientation:completionHandler:")] @@ -1059,17 +807,12 @@ interface SearchBannerView { IAdSizeDelegate AdSizeDelegate { get; set; } } - // @interface GADUnifiedNativeAd : NSObject + // @interface GADNativeAd : NSObject [BaseType (typeof (NSObject), - Name = "GADUnifiedNativeAd", + Name = "GADNativeAd", Delegates = new [] { "Delegate", "UnconfirmedClickDelegate" }, - Events = new [] { typeof (UnifiedNativeAdDelegate), typeof (UnifiedNativeAdUnconfirmedClickDelegate) })] - interface UnifiedNativeAd { - // @property (readonly, copy, nonatomic) NSString * _Nullable headline; - [NullAllowed] - [Export ("headline")] - string Headline { get; } - + Events = new [] { typeof (NativeAdDelegate), typeof (NativeAdUnconfirmedClickDelegate) })] + interface NativeAd { // @property (readonly, copy, nonatomic) NSString * _Nullable callToAction; [NullAllowed] [Export ("callToAction")] @@ -1114,10 +857,10 @@ interface UnifiedNativeAd { [Export ("mediaContent")] MediaContent MediaContent { get; } - // @property (nonatomic, weak) id _Nullable delegate; + // @property (nonatomic, weak) id _Nullable delegate; [NullAllowed] [Export ("delegate", ArgumentSemantic.Weak)] - IUnifiedNativeAdDelegate Delegate { get; set; } + INativeAdDelegate Delegate { get; set; } // @property (nonatomic, weak) UIViewController * _Nullable rootViewController; [NullAllowed] @@ -1147,7 +890,7 @@ interface UnifiedNativeAd { [Export ("muteThisAdReasons")] MuteThisAdReason [] MuteThisAdReasons { get; } - // -(void)registerAdView:(UIView * _Nonnull)adView clickableAssetViews:(NSDictionary * _Nonnull)clickableAssetViews nonclickableAssetViews:(NSDictionary * _Nonnull)nonclickableAssetViews; + // -(void)registerAdView:(UIView * _Nonnull)adView clickableAssetViews:(NSDictionary * _Nonnull)clickableAssetViews nonclickableAssetViews:(NSDictionary * _Nonnull)nonclickableAssetViews; [Export ("registerAdView:clickableAssetViews:nonclickableAssetViews:")] void RegisterAdView (UIView adView, NSDictionary nsClickableAssetViews, NSDictionary nsNonclickableAssetViews); @@ -1161,27 +904,15 @@ interface UnifiedNativeAd { // - (void)muteThisAdWithReason:(nullable GADMuteThisAdReason *)reason; [Export ("muteThisAdWithReason:")] void MuteThisAd (MuteThisAdReason reason); - - // @property (readonly, nonatomic, strong) GADVideoController * _Nullable videoController; - [Obsolete ("Use the MediaContent.VideoController property instead.")] - [NullAllowed] - [Export ("videoController", ArgumentSemantic.Strong)] - VideoController VideoController { get; } - - // @property (readonly, copy, nonatomic) NSString * _Nullable adNetworkClassName; - [Obsolete ("Use ResponseInfo.AdNetworkClassName.")] - [NullAllowed] - [Export ("adNetworkClassName")] - string AdNetworkClassName { get; } - + /// - /// From UnifiedNativeAd_ConfirmationClick Category + /// From NativeAd_ConfirmationClick Category /// - // @property (nonatomic, weak) id _Nullable unconfirmedClickDelegate; + // @property (nonatomic, weak) id _Nullable unconfirmedClickDelegate; [NullAllowed] [Export ("unconfirmedClickDelegate", ArgumentSemantic.Weak)] - IUnifiedNativeAdUnconfirmedClickDelegate UnconfirmedClickDelegate { get; set; } + INativeAdUnconfirmedClickDelegate UnconfirmedClickDelegate { get; set; } // -(void)registerClickConfirmingView:(UIView * _Nullable)view; [Export ("registerClickConfirmingView:")] @@ -1192,7 +923,7 @@ interface UnifiedNativeAd { void CancelUnconfirmedClick (); /// - /// From UnifiedNativeAd_CustomClickGesture Category + /// From NativeAd_CustomClickGesture Category /// // - (void)enableCustomClickGestures; @@ -1206,27 +937,28 @@ interface UnifiedNativeAd { interface IUnifiedNativeAdLoaderDelegate { } + // CHECK // @protocol GADUnifiedNativeAdLoaderDelegate [Model (AutoGeneratedName = true)] [Protocol] [BaseType (typeof (NSObject), Name = "GADUnifiedNativeAdLoaderDelegate")] interface UnifiedNativeAdLoaderDelegate : AdLoaderDelegate { - // @required -(void)adLoader:(GADAdLoader * _Nonnull)adLoader didReceiveUnifiedNativeAd:(GADUnifiedNativeAd * _Nonnull)nativeAd; + // @required -(void)adLoader:(GADAdLoader * _Nonnull)adLoader didReceiveUnifiedNativeAd:(GADNativeAd * _Nonnull)nativeAd; [Abstract] [Export ("adLoader:didReceiveUnifiedNativeAd:")] - void DidReceiveUnifiedNativeAd (AdLoader adLoader, UnifiedNativeAd nativeAd); + void DidReceiveUnifiedNativeAd (AdLoader adLoader, NativeAd nativeAd); } - // @interface GADUnifiedNativeAdView : UIView - [BaseType (typeof (UIView), Name = "GADUnifiedNativeAdView")] - interface UnifiedNativeAdView { + // @interface GADNativeAdView : UIView + [BaseType (typeof (UIView), Name = "GADNativeAdView")] + interface NativeAdView { [Export ("initWithFrame:")] IntPtr Constructor (CGRect frame); - // @property (nonatomic, strong) GADUnifiedNativeAd * _Nullable nativeAd; + // @property (nonatomic, strong) GADNativeAd * _Nullable nativeAd; [NullAllowed] [Export ("nativeAd", ArgumentSemantic.Strong)] - UnifiedNativeAd NativeAd { get; set; } + NativeAd NativeAd { get; set; } // @property (nonatomic, weak) UIView * _Nullable headlineView __attribute__((iboutlet)); [NullAllowed] @@ -1285,118 +1017,180 @@ interface UnifiedNativeAdView { } [Static] - interface UnifiedNativeAdAssetIdentifiers { - // extern const GADUnifiedNativeAssetIdentifier _Nonnull GADUnifiedNativeHeadlineAsset __attribute__((visibility("default"))); - [Field ("GADUnifiedNativeHeadlineAsset", "__Internal")] + interface NativeAdAssetIdentifiers { + // extern const GADNativeAssetIdentifier _Nonnull GADNativeHeadlineAsset __attribute__((visibility("default"))); + [Field ("GADNativeHeadlineAsset", "__Internal")] NSString HeadlineAsset { get; } - // extern const GADUnifiedNativeAssetIdentifier _Nonnull GADUnifiedNativeCallToActionAsset __attribute__((visibility("default"))); - [Field ("GADUnifiedNativeCallToActionAsset", "__Internal")] + // extern const GADNativeAssetIdentifier _Nonnull GADNativeCallToActionAsset __attribute__((visibility("default"))); + [Field ("GADNativeCallToActionAsset", "__Internal")] NSString CallToActionAsset { get; } - // extern const GADUnifiedNativeAssetIdentifier _Nonnull GADUnifiedNativeIconAsset __attribute__((visibility("default"))); - [Field ("GADUnifiedNativeIconAsset", "__Internal")] + // extern const GADNativeAssetIdentifier _Nonnull GADNativeIconAsset __attribute__((visibility("default"))); + [Field ("GADNativeIconAsset", "__Internal")] NSString IconAsset { get; } - // extern const GADUnifiedNativeAssetIdentifier _Nonnull GADUnifiedNativeBodyAsset __attribute__((visibility("default"))); - [Field ("GADUnifiedNativeBodyAsset", "__Internal")] + // extern const GADNativeAssetIdentifier _Nonnull GADNativeBodyAsset __attribute__((visibility("default"))); + [Field ("GADNativeBodyAsset", "__Internal")] NSString BodyAsset { get; } - // extern const GADUnifiedNativeAssetIdentifier _Nonnull GADUnifiedNativeStoreAsset __attribute__((visibility("default"))); - [Field ("GADUnifiedNativeStoreAsset", "__Internal")] + // extern const GADNativeAssetIdentifier _Nonnull GADNativeStoreAsset __attribute__((visibility("default"))); + [Field ("GADNativeStoreAsset", "__Internal")] NSString StoreAsset { get; } - // extern const GADUnifiedNativeAssetIdentifier _Nonnull GADUnifiedNativePriceAsset __attribute__((visibility("default"))); - [Field ("GADUnifiedNativePriceAsset", "__Internal")] + // extern const GADNativeAssetIdentifier _Nonnull GADNativePriceAsset __attribute__((visibility("default"))); + [Field ("GADNativePriceAsset", "__Internal")] NSString PriceAsset { get; } - // extern const GADUnifiedNativeAssetIdentifier _Nonnull GADUnifiedNativeImageAsset __attribute__((visibility("default"))); - [Field ("GADUnifiedNativeImageAsset", "__Internal")] + // extern const GADNativeAssetIdentifier _Nonnull GADNativeImageAsset __attribute__((visibility("default"))); + [Field ("GADNativeImageAsset", "__Internal")] NSString ImageAsset { get; } - // extern const GADUnifiedNativeAssetIdentifier _Nonnull GADUnifiedNativeStarRatingAsset __attribute__((visibility("default"))); - [Field ("GADUnifiedNativeStarRatingAsset", "__Internal")] + // extern const GADNativeAssetIdentifier _Nonnull GADNativeStarRatingAsset __attribute__((visibility("default"))); + [Field ("GADNativeStarRatingAsset", "__Internal")] NSString StarRatingAsset { get; } - // extern const GADUnifiedNativeAssetIdentifier _Nonnull GADUnifiedNativeAdvertiserAsset __attribute__((visibility("default"))); - [Field ("GADUnifiedNativeAdvertiserAsset", "__Internal")] + // extern const GADNativeAssetIdentifier _Nonnull GADNativeAdvertiserAsset __attribute__((visibility("default"))); + [Field ("GADNativeAdvertiserAsset", "__Internal")] NSString AdvertiserAsset { get; } - // extern const GADUnifiedNativeAssetIdentifier _Nonnull GADUnifiedNativeMediaViewAsset __attribute__((visibility("default"))); - [Field ("GADUnifiedNativeMediaViewAsset", "__Internal")] + // extern const GADNativeAssetIdentifier _Nonnull GADNativeMediaViewAsset __attribute__((visibility("default"))); + [Field ("GADNativeMediaViewAsset", "__Internal")] NSString MediaViewAsset { get; } - // extern const GADUnifiedNativeAssetIdentifier _Nonnull GADUnifiedNativeAdChoicesViewAsset __attribute__((visibility("default"))); - [Field ("GADUnifiedNativeAdChoicesViewAsset", "__Internal")] + // extern const GADNativeAssetIdentifier _Nonnull GADNativeAdChoicesViewAsset __attribute__((visibility("default"))); + [Field ("GADNativeAdChoicesViewAsset", "__Internal")] NSString AdChoicesViewAsset { get; } } - interface IUnifiedNativeAdDelegate { } + // typedef void (^GADNativeAdCustomClickHandler)(NSString* assetID); + delegate void NativeAdCustomClickHandle (string assetId); + + // @interface GADCustomNativeAd : UIView + [BaseType (typeof (UIView), Name = "GADCustomNativeAd")] + interface CustomNativeAd { + // extern NSString *const GADCustomTemplateAdMediaViewKey; + [Internal] + [Field ("GADCustomNativeAdMediaViewKey", "__Internal")] + NSString _MediaViewKey { get; } + + // @property(nonatomic, readonly, nonnull) NSString *formatID; + [Export ("formatID")] + string FormatID { get; } + + // @property(nonatomic, readonly, nonnull) NSArray *availableAssetKeys; + [Export ("availableAssetKeys")] + string[] AvailableAssetKeys { get; } + + // @property(atomic, copy, nullable) GADNativeAdCustomClickHandler customClickHandler; + [NullAllowed] + [Export ("customClickHandler", ArgumentSemantic.Copy)] + NativeAdCustomClickHandle CustomClickHandler { get; } + + // @property(nonatomic, readonly, nullable) GADDisplayAdMeasurement *displayAdMeasurement; + [NullAllowed] + [Export ("displayAdMeasurement")] + DisplayAdMeasurement DisplayAdMeasurement { get; } + + // @property(nonatomic, readonly, nonnull) GADMediaContent *mediaContent; + [NullAllowed] + [Export ("mediaContent")] + MediaContent MediaContent { get; } + + // @property(nonatomic, weak, nullable) id delegate; + [NullAllowed] + [Export ("delegate", ArgumentSemantic.Weak)] + ICustomNativeAdDelegate Delegate { get; set; } + + // @property(nonatomic, weak, nullable) UIViewController *rootViewController; + [NullAllowed] + [Export ("rootViewController", ArgumentSemantic.Weak)] + UIViewController RootViewController { get; set; } + + // @property(nonatomic, readonly, nonnull) GADResponseInfo *responseInfo; + [Export ("responseInfo")] + ResponseInfo ResponseInfo { get; } + + // - (nullable GADNativeAdImage *)imageForKey:(nonnull NSString *)key; + [return: NullAllowed] + [Export ("imageForKey:")] + NativeAdImage ImageForKey (NSString key); + + // - (nullable NSString *)stringForKey:(nonnull NSString *)key; + [return: NullAllowed] + [Export ("stringForKey:")] + NSString StringForKey (NSString key); + + // - (void)performClickOnAssetWithKey:(nonnull NSString *)assetKey; + [return: NullAllowed] + [Export ("performClickOnAssetWithKey:")] + void RecordImpression (NSString assetKey); + + // - (void)recordImpression; + [Export ("recordImpression")] + void RecordImpression (); + } + + + interface ICustomNativeAdDelegate { + } - // @protocol GADUnifiedNativeAdDelegate + // @protocol GADCustomNativeAdDelegate [Model (AutoGeneratedName = true)] [Protocol] - [BaseType (typeof (NSObject), Name = "GADUnifiedNativeAdDelegate")] - interface UnifiedNativeAdDelegate { - // @optional -(void)nativeAdDidRecordImpression:(GADUnifiedNativeAd * _Nonnull)nativeAd; - [EventArgs ("UnifiedNativeAd")] + [BaseType (typeof (NSObject), Name = "GADCustomNativeAdDelegate")] + interface CustomNativeAdDelegate { + // - (void)customNativeAdDidRecordImpression:(nonnull GADCustomNativeAd *)nativeAd; + [EventArgs ("NativeAd")] [EventName ("ImpressionRecorded")] - [Export ("nativeAdDidRecordImpression:")] - void DidRecordImpression (UnifiedNativeAd nativeAd); + [Export ("customNativeAdDidRecordImpression:")] + void DidRecordImpression (NativeAd nativeAd); - // @optional -(void)nativeAdDidRecordClick:(GADUnifiedNativeAd * _Nonnull)nativeAd; - [EventArgs ("UnifiedNativeAd")] + // - (void)customNativeAdDidRecordClick:(nonnull GADCustomNativeAd *)nativeAd; + [EventArgs ("NativeAd")] [EventName ("ClickRecorded")] - [Export ("nativeAdDidRecordClick:")] - void DidRecordClick (UnifiedNativeAd nativeAd); + [Export ("customNativeAdDidRecordClick:")] + void DidRecordClick (NativeAd nativeAd); - // @optional -(void)nativeAdWillPresentScreen:(GADUnifiedNativeAd * _Nonnull)nativeAd; - [EventArgs ("UnifiedNativeAd")] - [Export ("nativeAdWillPresentScreen:")] - void WillPresentScreen (UnifiedNativeAd nativeAd); + // - (void)customNativeAdWillPresentScreen:(nonnull GADCustomNativeAd *)nativeAd; + [EventArgs ("NativeAd")] + [EventName ("ScreenPresenting")] + [Export ("customNativeAdWillPresentScreen:")] + void WillPresentScreen (NativeAd nativeAd); - // @optional -(void)nativeAdWillDismissScreen:(GADUnifiedNativeAd * _Nonnull)nativeAd; - [EventArgs ("UnifiedNativeAd")] - [Export ("nativeAdWillDismissScreen:")] - void WillDismissScreen (UnifiedNativeAd nativeAd); + // - (void)customNativeAdWillDismissScreen:(nonnull GADCustomNativeAd *)nativeAd; + [EventArgs ("NativeAd")] + [EventName ("ScreenDismissing")] + [Export ("customNativeAdWillDismissScreen:")] + void WillDismissScreen (NativeAd nativeAd); - // @optional -(void)nativeAdDidDismissScreen:(GADUnifiedNativeAd * _Nonnull)nativeAd; - [EventArgs ("UnifiedNativeAd")] + // - (void)customNativeAdDidDismissScreen:(nonnull GADCustomNativeAd *)nativeAd; + [EventArgs ("NativeAd")] [EventName ("ScreenDismissed")] - [Export ("nativeAdDidDismissScreen:")] - void DidDismissScreen (UnifiedNativeAd nativeAd); - - // @optional -(void)nativeAdWillLeaveApplication:(GADUnifiedNativeAd * _Nonnull)nativeAd; - [EventArgs ("UnifiedNativeAd")] - [Export ("nativeAdWillLeaveApplication:")] - void WillLeaveApplication (UnifiedNativeAd nativeAd); - - // @optional -(void)nativeAdIsMuted:(GADUnifiedNativeAd *)nativeAd; - [EventArgs ("UnifiedNativeAd")] - [Export ("nativeAdIsMuted:")] - void IsMuted (UnifiedNativeAd nativeAd); + [Export ("customNativeAdDidDismissScreen:")] + void DidDismissScreen (NativeAd nativeAd); } - interface IUnifiedNativeAdUnconfirmedClickDelegate { } + interface INativeAdUnconfirmedClickDelegate { } - // @protocol GADUnifiedNativeAdUnconfirmedClickDelegate + // @protocol GADNativeAdUnconfirmedClickDelegate [Model (AutoGeneratedName = true)] [Protocol] - [BaseType (typeof (NSObject), Name = "GADUnifiedNativeAdUnconfirmedClickDelegate")] - interface UnifiedNativeAdUnconfirmedClickDelegate { - // @required -(void)nativeAd:(GADUnifiedNativeAd * _Nonnull)nativeAd didReceiveUnconfirmedClickOnAssetID:(GADUnifiedNativeAssetIdentifier _Nonnull)assetID; - [EventArgs ("UnifiedNativeAdUnconfirmedClickReceived")] + [BaseType (typeof (NSObject), Name = "GADNativeAdUnconfirmedClickDelegate")] + interface NativeAdUnconfirmedClickDelegate { + // @required -(void)nativeAd:(GADUNativeAd * _Nonnull)nativeAd didReceiveUnconfirmedClickOnAssetID:(GADNativeAssetIdentifier _Nonnull)assetID; + [EventArgs ("NativeAdUnconfirmedClickReceived")] [EventName ("UnconfirmedClickReceived")] [Abstract] [Export ("nativeAd:didReceiveUnconfirmedClickOnAssetID:")] - void DidReceiveUnconfirmedClick (UnifiedNativeAd nativeAd, string assetId); + void DidReceiveUnconfirmedClick (NativeAd nativeAd, string assetId); - // @required -(void)nativeAdDidCancelUnconfirmedClick:(GADUnifiedNativeAd * _Nonnull)nativeAd; - [EventArgs ("UnifiedNativeAdUnconfirmedClickCancelled")] + // @required -(void)nativeAdDidCancelUnconfirmedClick:(GADNativeAd * _Nonnull)nativeAd; + [EventArgs ("NativeAdUnconfirmedClickCancelled")] [EventName ("UnconfirmedClickCancelled")] [Abstract] [Export ("nativeAdDidCancelUnconfirmedClick:")] - void DidCancelUnconfirmedClick (UnifiedNativeAd nativeAd); + void DidCancelUnconfirmedClick (NativeAd nativeAd); } // @interface GADVideoController : NSObject @@ -1433,14 +1227,6 @@ interface VideoController { // - (BOOL)clickToExpandEnabled; [Export ("clickToExpandEnabled")] bool IsClickToExpandEnabled { get; } - - // - (BOOL)hasVideoContent; - [Export ("hasVideoContent")] - bool HasVideoContent (); - - // - (double)aspectRatio; - [Export ("aspectRatio")] - double AspectRatio { get; } } interface IVideoControllerDelegate { @@ -1525,10 +1311,6 @@ interface AdLoader { [Export ("adUnitID")] string AdUnitId { get; } - [Obsolete ("Use AdUnitId property instead. This will be removed in future versions")] - [Wrap ("AdUnitId")] - string AdUnitID { get; } - // @property(nonatomic, getter=isLoading, readonly) BOOL loading; [Export ("isLoading")] bool IsLoading { get; } @@ -1541,29 +1323,34 @@ interface AdLoader { [Export ("loadRequest:")] void LoadRequest ([NullAllowed] Request request); } + + // @protocol GADAdMetadataProvider + [Model (AutoGeneratedName = true)] + [Protocol] + [BaseType (typeof (NSObject), Name = "GADAdMetadataProvider")] + interface AdMetadataProvider { + // @property(nonatomic, readonly, nullable) NSDictionary *adMetadata; + [Export ("adMetadata")] + NSDictionary AdMetadata { get; } - [Obsolete ("Use AdLoaderAdType enum instead. This will be removed in future versions.")] - [Static] - interface AdLoaderType { - //// extern NSString *const kGADAdLoaderAdTypeNativeAppInstall; - //[Field ("kGADAdLoaderAdTypeNativeAppInstall", "__Internal")] - //NSString NativeAppInstall { get; } - - //// extern NSString *const kGADAdLoaderAdTypeNativeContent; - //[Field ("kGADAdLoaderAdTypeNativeContent", "__Internal")] - //NSString NativeContent { get; } - - // extern NSString *const kGADAdLoaderAdTypeNativeCustomTemplate; - [Field("kGADAdLoaderAdTypeNativeCustomTemplate", "__Internal")] - NSString NativeCustomTemplate { get; } + // @property(nonatomic, weak, nullable) id adMetadataDelegate; + [NullAllowed] + [Export ("adMetadataDelegate", ArgumentSemantic.Weak)] + IAdMetadataDelegate AdMetadataDelegate { get; set; } + } - // extern NSString *const kGADAdLoaderAdTypeDFPBanner; - [Field ("kGADAdLoaderAdTypeDFPBanner", "__Internal")] - NSString DfpBanner { get; } + interface IAdMetadataDelegate { + } - // AD_EXTERN GADAdLoaderAdType const kGADAdLoaderAdTypeUnifiedNative; - [Field ("kGADAdLoaderAdTypeUnifiedNative", "__Internal")] - NSString UnifiedNative { get; } + // @protocol GADAdMetadataDelegate + [Model (AutoGeneratedName = true)] + [Protocol] + [BaseType (typeof (NSObject), Name = "GADAdMetadataDelegate")] + interface AdMetadataDelegate { + // - (void)adMetadataDidChange:(nonnull id)ad; + [Abstract] + [Export ("adMetadataDidChange:")] + void AdMetadataDidChange (AdMetadataProvider ad); } interface IAdLoaderDelegate { @@ -1574,10 +1361,10 @@ interface IAdLoaderDelegate { [Protocol] [BaseType (typeof (NSObject), Name = "GADAdLoaderDelegate")] interface AdLoaderDelegate { - // @required -(void)adLoader:(GADAdLoader *)adLoader didFailToReceiveAdWithError:(GADRequestError *)error; + // @required -(void)adLoader:(GADAdLoader *)adLoader didFailToReceiveAdWithError:(NSError *)error; [Abstract] [Export ("adLoader:didFailToReceiveAdWithError:")] - void DidFailToReceiveAd (AdLoader adLoader, RequestError error); + void DidFailToReceiveAd (AdLoader adLoader, NSError error); // @optional - (void)adLoaderDidFinishLoading:(GADAdLoader *)adLoader; [Export ("adLoaderDidFinishLoading:")] @@ -1586,38 +1373,6 @@ interface AdLoaderDelegate { #region Loading.Formats - // @interface GADNativeAd : NSObject - [BaseType (typeof (NSObject), - Name = "GADNativeAd", - Delegates = new string [] { "Delegate" }, - Events = new Type [] { typeof (NativeAdDelegate) })] - interface NativeAd { - // @property (nonatomic, weak) id __nullable delegate; - [NullAllowed] - [Export ("delegate", ArgumentSemantic.Weak)] - INativeAdDelegate Delegate { get; set; } - - // @property (nonatomic, weak) UIViewController * __nullable rootViewController; - [NullAllowed] - [Export ("rootViewController", ArgumentSemantic.Weak)] - UIViewController RootViewController { get; set; } - - // @property (readonly, copy, nonatomic) NSDictionary * extraAssets; - [NullAllowed] - [Export ("extraAssets", ArgumentSemantic.Copy)] - NSDictionary ExtraAssets { get; } - - // @property(nonatomic, readonly, nonnull) GADResponseInfo *responseInfo; - [Export ("responseInfo")] - ResponseInfo ResponseInfo { get; } - - // @property (readonly, copy, nonatomic) NSString * adNetworkClassName; - [Obsolete ("Use ResponseInfo.AdNetworkClassName.")] - [NullAllowed] - [Export ("adNetworkClassName")] - string AdNetworkClassName { get; } - } - interface INativeAdDelegate { } @@ -1694,200 +1449,7 @@ interface NativeAdViewAdOptions { [Export ("preferredAdChoicesPosition", ArgumentSemantic.Assign)] AdChoicesPosition PreferredAdChoicesPosition { get; set; } } - - interface INativeAppInstallAdLoaderDelegate { - } - - // typedef void (^GADNativeAdCustomClickHandler)(NSString* assetID); - delegate void NativeAdCustomClickHandle (string assetId); - - // @interface GADNativeCustomTemplateAd : GADNativeAd - [BaseType (typeof (NativeAd), Name = "GADNativeCustomTemplateAd")] - interface NativeCustomTemplateAd { - // extern NSString *const GADNativeCustomTemplateAdMediaViewKey; - [Internal] - [Field ("GADNativeCustomTemplateAdMediaViewKey", "__Internal")] - NSString _MediaViewKey { get; } - - // @property (readonly, nonatomic) NSString * templateID; - [Export ("templateID")] - string TemplateId { get; } - - [Obsolete ("Use the TemplateId property instead. This will be removed in future versions.")] - [Wrap ("TemplateId")] - string TemplateID { get; } - - // @property (readonly, nonatomic) NSArray * availableAssetKeys; - [Export ("availableAssetKeys")] - string [] AvailableAssetKeys { get; } - - // @property(nonatomic, readonly, strong) GADVideoController *videoController; - [Export ("videoController")] - VideoController VideoController { get; } - - // @property(nonatomic, readonly, strong, GAD_NULLABLE) GADMediaView *mediaView; - [NullAllowed] - [Export ("mediaView")] - MediaView MediaView { get; } - - // @property(atomic, copy) GADNativeAdCustomClickHandler customClickHandler; - [NullAllowed] - [Export ("customClickHandler", ArgumentSemantic.Copy)] - NativeAdCustomClickHandle CustomClickHandler { get; } - - // @property (readonly, nonatomic) GADDisplayAdMeasurement * _Nullable displayAdMeasurement; - [NullAllowed] - [Export ("displayAdMeasurement")] - DisplayAdMeasurement DisplayAdMeasurement { get; } - - // -(GADNativeAdImage *)imageForKey:(NSString *)key; - [return: NullAllowed] - [Export ("imageForKey:")] - NativeAdImage ImageForKey (string key); - - // -(NSString *)stringForKey:(NSString *)key; - [return: NullAllowed] - [Export ("stringForKey:")] - string StringForKey (string key); - - // - (void)performClickOnAssetWithKey:(NSString *)assetKey; - [Export ("performClickOnAssetWithKey:")] - void PerformClickOnAssetWithKey (string assetKey); - - // - (void)recordImpression; - [Export ("recordImpression")] - void RecordImpression (); - - // -(void)performClickOnAssetWithKey:(NSString *)assetKey customClickHandler:(dispatch_block_t)customClickHandler; - [Obsolete ("Use PerformClickOnAssetWithKey (string) method instead.")] - [Export ("performClickOnAssetWithKey:customClickHandler:")] - void PerformClickOnAssetWithKey (string assetKey, [NullAllowed] Action customClickHandler); - } - - // @interface GADNativeExpressAdView : UIView - [Obsolete] - [DisableDefaultCtor] - [BaseType (typeof (UIView), - Name = "GADNativeExpressAdView", - Delegates = new string [] { "Delegate" }, - Events = new Type [] { typeof (NativeExpressAdViewDelegate) })] - interface NativeExpressAdView { - // -(instancetype)initWithAdSize:(id)adSize origin:(CGPoint)origin; - [return: NullAllowed] - [Export ("initWithAdSize:origin:")] - IntPtr Constructor (AdSize adSize, CGPoint origin); - - // -(instancetype)initWithAdSize:(id)adSize; - [return: NullAllowed] - [Export ("initWithAdSize:")] - IntPtr Constructor (AdSize adSize); - - // @property(nonatomic, strong, readonly) GADVideoController *videoController; - [Export ("videoController")] - VideoController VideoController { get; set; } - - // @property (copy, nonatomic) NSString * adUnitID; - [NullAllowed] - [Export("adUnitID")] - string AdUnitId { get; set; } - - [Obsolete ("Use AdUnitId property instead. This will be removed in future versions.")] - [NullAllowed] - [Wrap ("AdUnitId")] - string AdUnitID { get; set; } - - // @property (nonatomic, weak) UIViewController * _Nullable rootViewController __attribute__((iboutlet)); - [NullAllowed] - [Export ("rootViewController", ArgumentSemantic.Weak)] - UIViewController RootViewController { get; set; } - - // @property (assign, nonatomic) int adSize; - [Export ("adSize")] - int AdSize { get; set; } - - // @property(nonatomic, weak) IBOutlet id delegate; - [NullAllowed] - [Export ("delegate", ArgumentSemantic.Weak)] - INativeExpressAdViewDelegate Delegate { get; set; } - - // @property (getter = isAutoloadEnabled, assign, nonatomic) BOOL autoloadEnabled; - [Export ("autoloadEnabled")] - bool AutoloadEnabled { [Bind ("isAutoloadEnabled")] get; set; } - - // - (void)setAdOptions:(NSArray *)adOptions; - [Export ("setAdOptions:")] - void SetAdOptions (AdLoaderOptions [] adOptions); - - // -(void)loadRequest:(id)request; - [return: NullAllowed] - [Export ("loadRequest:")] - void LoadRequest (Request request); - - // @property (readonly, nonatomic, weak) NSString * _Nullable adNetworkClassName; - [NullAllowed] - [Export ("adNetworkClassName", ArgumentSemantic.Weak)] - string AdNetworkClassName { get; } - } - - interface INativeExpressAdViewDelegate { - } - - [Model (AutoGeneratedName = true)] - [Protocol] - [BaseType (typeof (NSObject), Name = "GADNativeExpressAdViewDelegate")] - interface NativeExpressAdViewDelegate { - // @optional -(void)nativeExpressAdViewDidReceiveAd:(GADNativeExpressAdView *)nativeExpressAdView; - [EventArgs ("NativeExpressAdView")] - [EventName ("AdReceived")] - [Export ("nativeExpressAdViewDidReceiveAd:")] - void DidReceiveAd (NativeExpressAdView nativeExpressAdView); - - // @optional -(void)nativeExpressAdView:(GADNativeExpressAdView *)nativeExpressAdView didFailToReceiveAdWithError:(GADRequestError *)error; - [EventArgs ("NativeExpressAdViewError")] - [EventName ("ReceiveAdFailed")] - [Export ("nativeExpressAdView:didFailToReceiveAdWithError:")] - void DidFailToReceiveAd (NativeExpressAdView nativeExpressAdView, RequestError error); - - // @optional -(void)nativeExpressAdViewWillPresentScreen:(GADNativeExpressAdView *)nativeExpressAdView; - [EventArgs ("NativeExpressAdView")] - [Export ("nativeExpressAdViewWillPresentScreen:")] - void WillPresentScreen (NativeExpressAdView nativeExpressAdView); - - // @optional -(void)nativeExpressAdViewWillDismissScreen:(GADNativeExpressAdView *)nativeExpressAdView; - [EventArgs ("NativeExpressAdView")] - [Export ("nativeExpressAdViewWillDismissScreen:")] - void WillDismissScreen (NativeExpressAdView nativeExpressAdView); - - // @optional -(void)nativeExpressAdViewDidDismissScreen:(GADNativeExpressAdView *)nativeExpressAdView; - [EventArgs ("NativeExpressAdView")] - [EventName ("ScreenDismissed")] - [Export ("nativeExpressAdViewDidDismissScreen:")] - void DidDismissScreen (NativeExpressAdView nativeExpressAdView); - - // @optional -(void)nativeExpressAdViewWillLeaveApplication:(GADNativeExpressAdView *)nativeExpressAdView; - [EventArgs ("NativeExpressAdView")] - [Export ("nativeExpressAdViewWillLeaveApplication:")] - void WillLeaveApplication (NativeExpressAdView nativeExpressAdView); - } - - interface INativeCustomTemplateAdLoaderDelegate { - } - - [Model (AutoGeneratedName = true)] - [Protocol] - [BaseType (typeof (NSObject), Name = "GADNativeCustomTemplateAdLoaderDelegate")] - interface NativeCustomTemplateAdLoaderDelegate : AdLoaderDelegate { - // @required -(NSArray *)nativeCustomTemplateIDsForAdLoader:(GADAdLoader *)adLoader; - [Abstract] - [Export ("nativeCustomTemplateIDsForAdLoader:")] - string [] NativeCustomTemplateIDs (AdLoader adLoader); - - // @required -(void)adLoader:(GADAdLoader *)adLoader didReceiveNativeCustomTemplateAd:(GADNativeCustomTemplateAd *)nativeCustomTemplateAd; - [Abstract] - [Export ("adLoader:didReceiveNativeCustomTemplateAd:")] - void DidReceiveNativeCustomTemplateAd (AdLoader adLoader, NativeCustomTemplateAd nativeCustomTemplateAd); - } - + #endregion #region Loading.Options @@ -1902,11 +1464,6 @@ interface NativeAdImageAdLoaderOptions { // @property (assign, nonatomic) BOOL shouldRequestMultipleImages; [Export ("shouldRequestMultipleImages")] bool ShouldRequestMultipleImages { get; set; } - - // @property (assign, nonatomic) GADNativeAdImageAdLoaderOptionsOrientation preferredImageOrientation; - [Obsolete ("Use the NativeAdMediaAdLoaderOptions.MediaAspectRatio property instead.")] - [Export ("preferredImageOrientation", ArgumentSemantic.Assign)] - NativeAdImageAdLoaderOptionsOrientation PreferredImageOrientation { get; set; } } // @interface GADNativeAdMediaAdLoaderOptions : GADAdLoaderOptions @@ -2112,16 +1669,7 @@ interface CustomEventNativeAdDelegate { } [BaseType (typeof (NSObject), Name = "GADCustomEventRequest")] - interface CustomEventRequest { - [Obsolete ("Use Request.Gender property instead.")] - [Export ("userGender", ArgumentSemantic.Assign)] - Gender UserGender { get; } - - [Obsolete ("Use Request.Birthday property instead.")] - [NullAllowed] - [Export ("userBirthday", ArgumentSemantic.Copy)] - NSDate UserBirthday { get; } - + interface CustomEventRequest { [Export ("userHasLocation", ArgumentSemantic.Assign)] bool UserHasLocation { get; } @@ -2181,28 +1729,6 @@ interface DebugOptionsViewController { IDebugOptionsViewControllerDelegate Delegate { get; set; } } - interface IDelayedAdRenderingDelegate { } - - // @protocol GADDelayedAdRenderingDelegate - [Model (AutoGeneratedName = true)] - [Protocol] - [BaseType (typeof (NSObject), Name = "GADDelayedAdRenderingDelegate")] - interface DelayedAdRenderingDelegate { - // @required -(BOOL)adLoader:(GADAdLoader * _Nonnull)adLoader shouldDelayRenderingWithResumeHandler:(dispatch_block_t _Nonnull)resumeHandler; - [Abstract] - [Export ("adLoader:shouldDelayRenderingWithResumeHandler:")] - bool ShouldDelayRendering (AdLoader adLoader, Action resumeHandler); - } - - // @interface GADDelayedAdRenderingOptions : GADAdLoaderOptions - [BaseType (typeof (AdLoaderOptions), Name = "GADDelayedAdRenderingOptions")] - interface DelayedAdRenderingOptions { - // @property (nonatomic, weak) id _Nullable delegate; - [NullAllowed] - [Export ("delegate", ArgumentSemantic.Weak)] - IDelayedAdRenderingDelegate Delegate { get; set; } - } - // @interface GADDisplayAdMeasurement : NSObject [BaseType (typeof (NSObject), Name = "GADDisplayAdMeasurement")] interface DisplayAdMeasurement { @@ -2392,78 +1918,16 @@ interface DynamicHeightSearchRequest { [Export ("longerHeadlinesExtensionEnabled")] bool LongerHeadlinesExtensionEnabled { get; set; } + // @property(nonatomic, copy, nullable) NSString *styleID; + [NullAllowed] + [Export ("styleID", ArgumentSemantic.Copy)] + string StyleId { get; set; } + // -(void)setAdvancedOptionValue:(id)value forKey:(NSString *)key; [Export ("setAdvancedOptionValue:forKey:")] void SetAdvancedOptionValue (NSObject value, string key); } - [Obsolete] - [BaseType (typeof (NSObject), Name = "GADDefaultInAppPurchase")] - interface DefaultInAppPurchase { - [Static] - [Export ("enableDefaultPurchaseFlowWithDelegate:")] - void EnableDefaultPurchaseFlow (IDefaultInAppPurchaseDelegate aDelegate); - - [Static] - [Export ("disableDefaultPurchaseFlow")] - void DisableDefaultPurchaseFlow (); - - [Export ("productID", ArgumentSemantic.Copy)] - string ProductId { get; } - - [Export ("quantity", ArgumentSemantic.Assign)] - nint Quantity { get; } - - [Export ("paymentTransaction", ArgumentSemantic.Strong)] - SKPaymentTransaction PaymentTransaction { get; } - - [Export ("finishTransaction")] - void FinishTransaction (); - } - - [Obsolete] - [BaseType (typeof (NSObject), Name = "GADInAppPurchase")] - interface InAppPurchase { - [Export ("productID", ArgumentSemantic.Copy)] - string ProductId { get; } - - [Export ("quantity", ArgumentSemantic.Assign)] - nint Quantity { get; } - - [Export ("reportPurchaseStatus:")] - void ReportPurchaseStatus (InAppPurchaseStatus purchaseStatus); - } - - interface IDefaultInAppPurchaseDelegate { - - } - - [Obsolete] - [Model (AutoGeneratedName = true)] - [Protocol] - [BaseType (typeof (NSObject), Name = "GADDefaultInAppPurchaseDelegate")] - interface DefaultInAppPurchaseDelegate { - [Abstract] - [Export ("userDidPayForPurchase:")] - void DidPayForPurchase (DefaultInAppPurchase defaultInAppPurchase); - - [Export ("shouldStartPurchaseForProductID:quantity:")] - void ShouldStartPurchase (string productID, nint quantity); - } - - interface IInAppPurchaseDelegate { - - } - - [Obsolete] - [Model (AutoGeneratedName = true)] - [Protocol] - [BaseType (typeof (NSObject), Name = "GADInAppPurchaseDelegate")] - interface InAppPurchaseDelegate { - [Export ("didReceiveInAppPurchase:")] - [EventArgs ("InAppPurchaseDelegateDidRecieve")] - void DidReceiveInAppPurchase (InAppPurchase purchase); - } // @interface GADAdapterStatus : NSObject [BaseType (typeof (NSObject), Name = "GADAdapterStatus")] @@ -2489,48 +1953,6 @@ interface InitializationStatus : INSCopying { NSDictionary AdapterStatusesByClassName { get; } } - // typedef void (^GADInstreamAdLoadCompletionHandler)(GADInstreamAd * _Nullable, NSError * _Nullable); - delegate void InstreamAdLoadCompletionHandler ([NullAllowed] InstreamAd instreamAd, [NullAllowed] NSError error); - - // @interface GADInstreamAd : NSObject - [Obsolete] - [BaseType (typeof(NSObject), Name = "GADInstreamAd")] - interface InstreamAd - { - // +(void)loadAdWithAdUnitID:(NSString * _Nonnull)adUnitID request:(GADRequest * _Nullable)request mediaAspectRatio:(GADMediaAspectRatio)mediaAspectRatio completionHandler:(GADInstreamAdLoadCompletionHandler _Nonnull)completionHandler; - [Static] - [Export ("loadAdWithAdUnitID:request:mediaAspectRatio:completionHandler:")] - void LoadAd (string adUnitId, [NullAllowed] Request request, MediaAspectRatio mediaAspectRatio, InstreamAdLoadCompletionHandler completionHandler); - - // +(void)loadAdWithAdTag:(NSString * _Nonnull)adTag completionHandler:(GADInstreamAdLoadCompletionHandler _Nonnull)completionHandler; - [Static] - [Export ("loadAdWithAdTag:completionHandler:")] - void LoadAd (string adTag, InstreamAdLoadCompletionHandler completionHandler); - - // @property (readonly, nonatomic) GADMediaContent * _Nonnull mediaContent; - [Export ("mediaContent")] - MediaContent MediaContent { get; } - - // @property (readonly, nonatomic) GADResponseInfo * _Nonnull responseInfo; - [Export ("responseInfo")] - ResponseInfo ResponseInfo { get; } - - // @property (copy, nonatomic) GADPaidEventHandler _Nullable paidEventHandler; - [NullAllowed] - [Export ("paidEventHandler", ArgumentSemantic.Copy)] - PaidEventHandler PaidEventHandler { get; set; } - } - - // @interface GADInstreamAdView : UIView - [BaseType (typeof(UIView), Name = "GADInstreamAdView")] - interface InstreamAdView - { - // @property (nonatomic) GADInstreamAd * _Nullable ad; - [NullAllowed] - [Export ("ad", ArgumentSemantic.Assign)] - InstreamAd Ad { get; set; } - } - // @interface GADMuteThisAdReason : NSObject [BaseType (typeof (NSObject), Name = "GADMuteThisAdReason")] interface MuteThisAdReason { @@ -2564,24 +1986,24 @@ namespace Google.MobileAds.DoubleClick { interface IBannerAdLoaderDelegate { } - // @protocol DFPBannerAdLoaderDelegate + // @protocol GAMBannerAdLoaderDelegate [Model (AutoGeneratedName = true)] [Protocol] - [BaseType (typeof (NSObject), Name = "DFPBannerAdLoaderDelegate")] + [BaseType (typeof (NSObject), Name = "GAMBannerAdLoaderDelegate")] interface BannerAdLoaderDelegate : Google.MobileAds.AdLoaderDelegate { // - (NSArray *)validBannerSizesForAdLoader:(GADAdLoader *)adLoader; [Abstract] [Export ("validBannerSizesForAdLoader:")] NSValue [] ValidBannerSizes (Google.MobileAds.AdLoader adLoader); - // - (void)adLoader:(GADAdLoader *)adLoader didReceiveDFPBannerView:(DFPBannerView *)bannerView; + // - (void)adLoader:(GADAdLoader *)adLoader didReceiveGAMBannerView:(GAMBannerView *)bannerView; [Abstract] - [Export ("adLoader:didReceiveDFPBannerView:")] + [Export ("adLoader:didReceiveGAMBannerView:")] void DidReceiveBannerView (Google.MobileAds.AdLoader adLoader, BannerView bannerView); } [BaseType (typeof (Google.MobileAds.BannerView), - Name = "DFPBannerView", + Name = "GAMBannerView", Delegates = new string [] { "AdSizeDelegate" }, Events = new Type [] { typeof (Google.MobileAds.AdSizeDelegate) })] interface BannerView { @@ -2636,8 +2058,8 @@ interface BannerView { void SetValidAdSizes (AdSize firstSize, IntPtr sizesPtr); } - // @interface DFPBannerViewOptions : GADAdLoaderOptions - [BaseType (typeof (AdLoaderOptions), Name = "DFPBannerViewOptions")] + // @interface GAMBannerViewOptions : GADAdLoaderOptions + [BaseType (typeof (AdLoaderOptions), Name = "GAMBannerViewOptions")] interface BannerViewOptions { // @property(nonatomic, weak, GAD_NULLABLE) id appEventDelegate; [NullAllowed] @@ -2655,23 +2077,30 @@ interface BannerViewOptions { } [DisableDefaultCtor] - [BaseType (typeof (Google.MobileAds.Interstitial), - Name = "DFPInterstitial")] - interface Interstitial { - // -(instancetype _Nonnull)initWithAdUnitID:(NSString * _Nonnull)adUnitID __attribute__((objc_designated_initializer)); - [DesignatedInitializer] - [Export ("initWithAdUnitID:")] - IntPtr Constructor (string adUnitID); + [BaseType (typeof (Google.MobileAds.InterstitialAd), + Name = "GAMInterstitialAd")] + interface InterstitialAd { + // + (void)loadWithAdManagerAdUnitID:(nonnull NSString *)adUnitID request:(nullable GAMRequest *)request completionHandler:(nonnull GAMInterstitialAdLoadCompletionHandler)completionHandler; + [Async] + [Static] + [Export ("loadWithAdManagerAdUnitID:request:completionHandler:")] + void LoadWithAdManagerAdUnitID (string adUnitId, [NullAllowed] Request request, InterstitialAdLoadCompletionHandler completionHandler); + + // + (void)loadWithAdUnitID:(nonnull NSString *)adUnitID request:(nullable GADRequest *)request completionHandler:(nonnull GADInterstitialAdLoadCompletionHandler)completionHandler; + [Async] + [Static] + [Export ("loadWithAdUnitID:request:completionHandler:")] + void Load (string adUnitId, [NullAllowed] Request request, InterstitialAdLoadCompletionHandler completionHandler); [NullAllowed] [Export ("appEventDelegate", ArgumentSemantic.Weak)] IAppEventDelegate AppEventDelegate { get; set; } } - [BaseType (typeof (Google.MobileAds.Request), Name = "DFPRequest")] + [BaseType (typeof (Google.MobileAds.Request), Name = "GAMRequest")] interface Request { [New] - [Field ("kDFPSimulatorID", "__Internal")] + [Field ("kGADSimulatorID", "__Internal")] NSString SimulatorId { get; } [New] @@ -2689,7 +2118,7 @@ interface Request { [NullAllowed] [Export ("customTargeting", ArgumentSemantic.Copy)] - NSDictionary CustomTargeting { get; set; } + NSDictionary CustomTargeting { get; set; } } #endregion @@ -2789,7 +2218,7 @@ interface MediatedUnifiedNativeAd { [Export ("currentTime")] double GetCurrentTime (); - // @optional -(void)didRenderInView:(UIView * _Nonnull)view clickableAssetViews:(NSDictionary * _Nonnull)clickableAssetViews nonclickableAssetViews:(NSDictionary * _Nonnull)nonclickableAssetViews viewController:(UIViewController * _Nonnull)viewController; + // @optional -(void)didRenderInView:(UIView * _Nonnull)view clickableAssetViews:(NSDictionary * _Nonnull)clickableAssetViews nonclickableAssetViews:(NSDictionary * _Nonnull)nonclickableAssetViews viewController:(UIViewController * _Nonnull)viewController; [Export ("didRenderInView:clickableAssetViews:nonclickableAssetViews:viewController:")] void DidRenderInView (UIView view, NSDictionary clickableAssetViews, NSDictionary nonclickableAssetViews, UIViewController viewController); @@ -2797,7 +2226,7 @@ interface MediatedUnifiedNativeAd { [Export ("didRecordImpression")] void DidRecordImpression (); - // @optional -(void)didRecordClickOnAssetWithName:(GADUnifiedNativeAssetIdentifier _Nonnull)assetName view:(UIView * _Nonnull)view viewController:(UIViewController * _Nonnull)viewController; + // @optional -(void)didRecordClickOnAssetWithName:(GADNativeAssetIdentifier _Nonnull)assetName view:(UIView * _Nonnull)view viewController:(UIViewController * _Nonnull)viewController; [Export ("didRecordClickOnAssetWithName:view:viewController:")] void DidRecordClick (string assetName, UIView view, UIViewController viewController); @@ -2806,93 +2235,3 @@ interface MediatedUnifiedNativeAd { void DidUntrackView ([NullAllowed] UIView view); } } - -namespace Google.MobileAds.Consent { - // typedef void (^UMPConsentFormLoadCompletionHandler)(UMPConsentForm * _Nullable, NSError * _Nullable); - delegate void ConsentFormLoadCompletionHandler([NullAllowed] ConsentForm consentForm, [NullAllowed] NSError error); - - // typedef void (^UMPConsentFormPresentCompletionHandler)(NSError * _Nullable); - delegate void ConsentFormPresentCompletionHandler([NullAllowed] NSError error); - - // typedef void (^UMPConsentInformationUpdateCompletionHandler)(NSError * _Nullable); - delegate void ConsentInformationUpdateCompletionHandler([NullAllowed] NSError error); - - // @interface UMPConsentForm - [DisableDefaultCtor] - [BaseType(typeof(NSObject), Name = "UMPConsentForm")] - interface ConsentForm - { - // +(void)loadWithCompletionHandler:(UMPConsentFormLoadCompletionHandler _Nonnull)completionHandler; - [Static] - [Export ("loadWithCompletionHandler:")] - void LoadWithCompletionHandler (ConsentFormLoadCompletionHandler completionHandler); - - // -(void)presentFromViewController:(id)viewController completionHandler:(UMPConsentFormPresentCompletionHandler _Nullable)completionHandler; - [Export ("presentFromViewController:completionHandler:")] - void PresentFromViewController (NSObject viewController, [NullAllowed] ConsentFormPresentCompletionHandler completionHandler); - } - - // @interface UMPConsentInformation : NSObject - [BaseType (typeof(NSObject), Name = "UMPConsentInformation")] - interface ConsentInformation - { - // @property (readonly, nonatomic, class) UMPConsentInformation * _Nonnull sharedInstance; - [Static] - [Export ("sharedInstance")] - ConsentInformation SharedInstance { get; } - - // extern NSString *const _Nonnull UMPVersionString; - [Field ("UMPVersionString", "__Internal")] - NSString UMPVersionString { get; } - - // extern NSErrorDomain _Nonnull const UMPErrorDomain; - [Field ("UMPErrorDomain", "__Internal")] - NSString UMPErrorDomain { get; } - - // @property (readonly, nonatomic) UMPConsentStatus consentStatus; - [Export ("consentStatus")] - ConsentStatus ConsentStatus { get; } - - // @property (readonly, nonatomic) UMPConsentType consentType; - [Export ("consentType")] - ConsentType ConsentType { get; } - - // @property (readonly, nonatomic) UMPFormStatus formStatus; - [Export ("formStatus")] - FormStatus FormStatus { get; } - - // -(void)requestConsentInfoUpdateWithParameters:(id)parameters completionHandler:(UMPConsentInformationUpdateCompletionHandler _Nonnull)handler; - [Export ("requestConsentInfoUpdateWithParameters:completionHandler:")] - void RequestConsentInfoUpdateWithParameters (NSObject parameters, ConsentInformationUpdateCompletionHandler handler); - - // -(void)reset; - [Export ("reset")] - void Reset (); - } - - // @interface UMPDebugSettings : NSObject - [BaseType (typeof(NSObject), Name = "UMPDebugSettings")] - interface DebugSettings : INSCopying - { - // @property (nonatomic) NSArray * _Nullable testDeviceIdentifiers; - [NullAllowed, Export ("testDeviceIdentifiers", ArgumentSemantic.Assign)] - string[] TestDeviceIdentifiers { get; set; } - - // @property (nonatomic) UMPDebugGeography geography; - [Export ("geography", ArgumentSemantic.Assign)] - DebugGeography Geography { get; set; } - } - - // @interface UMPRequestParameters : NSObject - [BaseType (typeof(NSObject), Name = "UMPRequestParameters")] - interface RequestParameters - { - // @property (nonatomic) BOOL tagForUnderAgeOfConsent; - [Export ("tagForUnderAgeOfConsent")] - bool TagForUnderAgeOfConsent { get; set; } - - // @property (copy, nonatomic) UMPDebugSettings * _Nullable debugSettings; - [NullAllowed, Export ("debugSettings", ArgumentSemantic.Copy)] - DebugSettings DebugSettings { get; set; } - } -} \ No newline at end of file diff --git a/source/Google/MobileAds/Enums.cs b/source/Google/MobileAds/Enums.cs index 340d971d2..a11e3aa18 100644 --- a/source/Google/MobileAds/Enums.cs +++ b/source/Google/MobileAds/Enums.cs @@ -8,34 +8,29 @@ namespace Google.MobileAds { [Native] - public enum AdFormat : long { + public enum AdFormat : long + { Banner, Interstitial, Rewarded, - Native + Native, + RewardedInterstitial, + Unknown } public enum AdLoaderAdType { - // extern NSString *const kGADAdLoaderAdTypeNativeAppInstall; - [Field ("kGADAdLoaderAdTypeNativeAppInstall", "__Internal")] - NativeAppInstall, - - // extern NSString *const kGADAdLoaderAdTypeNativeContent; - [Field ("kGADAdLoaderAdTypeNativeContent", "__Internal")] - NativeContent, + // extern NSString *const kGADAdLoaderAdTypeCustomNative; + [Field ("kGADAdLoaderAdTypeCustomNative", "__Internal")] + CustomNative, - // extern NSString *const kGADAdLoaderAdTypeNativeCustomTemplate; - [Field ("kGADAdLoaderAdTypeNativeCustomTemplate", "__Internal")] - NativeCustomTemplate, + // extern NSString *const kGADAdLoaderAdTypeGAMBanner; + [Field ("kGADAdLoaderAdTypeGAMBanner", "__Internal")] + GamBanner, - // extern NSString *const kGADAdLoaderAdTypeDFPBanner; - [Field ("kGADAdLoaderAdTypeDFPBanner", "__Internal")] - DfpBanner, - - // AD_EXTERN GADAdLoaderAdType const kGADAdLoaderAdTypeUnifiedNative; - [Field ("kGADAdLoaderAdTypeUnifiedNative", "__Internal")] - UnifiedNative + // extern NSString *const kGADAdLoaderAdTypeNative; + [Field ("kGADAdLoaderAdTypeNative", "__Internal")] + Native } [Native] @@ -75,32 +70,17 @@ public enum ErrorCode : long ServerError = 3, OSVersionTooLow = 4, Timeout = 5, - [Obsolete ("Use AdAlreadyUsed enum value instead.")] - InterstitialAlreadyUsed = AdAlreadyUsed, MediationDataError = 7, MediationAdapterError = 8, MediationInvalidAdSize = 10, InternalError = 11, InvalidArgument = 12, ReceivedInvalidResponse = 13, - [Obsolete ("Use AdAlreadyUsed enum value instead.")] - RewardedAdAlreadyUsed = AdAlreadyUsed, - [Obsolete ("Use NoFill enum value instead.")] - MediationNoFill = NoFill, + MediationNoFill = 9, AdAlreadyUsed = 19, ApplicationIdentifierMissing = 20 } - [Obsolete] - [Native] - public enum InAppPurchaseStatus : long - { - Error = 0, - Successful = 1, - Cancel = 2, - InvalidProduct = 3 - } - [Native] public enum MediaAspectRatio : long { Unknown = 0, @@ -133,56 +113,3 @@ public enum AdChoicesPosition : long BottomLeftCorner } } - -namespace Google.MobileAds.Consent { - [Native] - public enum ConsentStatus : long - { - Unknown = 0, - Required = 1, - NotRequired = 2, - Obtained = 3 - } - - [Native] - public enum ConsentType : long - { - Unknown = 0, - Personalized = 1, - NonPersonalized = 2 - } - - [Native] - public enum FormStatus : long - { - Unknown = 0, - Available = 1, - Unavailable = 2 - } - - [Native] - public enum DebugGeography : long - { - Disabled = 0, - Eea = 1, - NotEea = 2 - } - - [Native] - public enum RequestErrorCode : long - { - Internal = 1, - InvalidAppID = 2, - Network = 3, - Misconfiguration = 4 - } - - [Native] - public enum FormErrorCode : long - { - Internal = 5, - AlreadyUsed = 6, - Unavailable = 7, - Timeout = 8 - } -} diff --git a/source/Google/MobileAds/Extensions.cs b/source/Google/MobileAds/Extensions.cs index 4a45df59d..70e753d59 100644 --- a/source/Google/MobileAds/Extensions.cs +++ b/source/Google/MobileAds/Extensions.cs @@ -27,7 +27,7 @@ static NSString [] CastAdTypes (AdLoaderAdType [] adTypes) } } - public partial class NativeCustomTemplateAd + public partial class CustomNativeAd { public static string MediaViewKey { get; } = _MediaViewKey.ToString (); } @@ -37,43 +37,20 @@ public partial class Request public static readonly string GADGoogleAdMobNetworkName = "GoogleAdMobAds"; } - public partial class RequestError : NSError - { - public RequestError (NSString appDomain, nint code) : this (appDomain, code, null) - { - } - } - [Preserve (AllMembers = true)] public partial class AdSizeCons { - // Deprecated Macros - [Obsolete ("Use GADAdSizeCons.Banner Instead")] - public static readonly CGSize GAD_SIZE_320x50 = AdSizeCons.Banner.Size; - - [Obsolete ("Use GADAdSizeCons.MediumRectangle Instead")] - public static readonly CGSize GAD_SIZE_300x250 = AdSizeCons.MediumRectangle.Size; - - [Obsolete ("Use ADAdSizeCons.FullBanner Instead")] - public static readonly CGSize GAD_SIZE_468x60 = AdSizeCons.FullBanner.Size; - - [Obsolete ("Use AdSizeCons.Leaderboard Instead")] - public static readonly CGSize GAD_SIZE_728x90 = AdSizeCons.Leaderboard.Size; - - [Obsolete ("Use ADAdSizeCons.Skyscraper Instead")] - public static readonly CGSize GAD_SIZE_120x600 = AdSizeCons.Skyscraper.Size; - //GAD_EXTERN GADAdSize GADPortraitAnchoredAdaptiveBannerAdSizeWithWidth (CGFloat width); [DllImport ("__Internal", EntryPoint = "GADPortraitAnchoredAdaptiveBannerAdSizeWithWidth")] - public static extern AdSize GetPortraitAnchoredAdaptiveBannerAdSize (CGSize size); + public static extern AdSize GetPortraitAnchoredAdaptiveBannerAdSize (nfloat width); //GAD_EXTERN GADAdSize GADLandscapeAnchoredAdaptiveBannerAdSizeWithWidth (CGFloat width); [DllImport ("__Internal", EntryPoint = "GADLandscapeAnchoredAdaptiveBannerAdSizeWithWidth")] - public static extern AdSize GetLandscapeAnchoredAdaptiveBannerAdSize (CGSize size); + public static extern AdSize GetLandscapeAnchoredAdaptiveBannerAdSize (nfloat width); //GAD_EXTERN GADAdSize GADCurrentOrientationAnchoredAdaptiveBannerAdSizeWithWidth (CGFloat width); [DllImport ("__Internal", EntryPoint = "GADCurrentOrientationAnchoredAdaptiveBannerAdSizeWithWidth")] - public static extern AdSize GetCurrentOrientationAnchoredAdaptiveBannerAdSize (CGSize size); + public static extern AdSize GetCurrentOrientationAnchoredAdaptiveBannerAdSize (nfloat width); // GADAdSize GADAdSizeFromCGSize(CGSize size); [DllImport ("__Internal", EntryPoint = "GADAdSizeFromCGSize")] @@ -215,6 +192,7 @@ public static AdSize Skyscraper { } static AdSize? smartBannerPortrait; + [Obsolete ("Smart Banner has been deprecated, please use Adaptive Banner. This will be removed in future versions.")] public static AdSize SmartBannerPortrait { get { if (smartBannerPortrait == null) { @@ -229,6 +207,7 @@ public static AdSize SmartBannerPortrait { } static AdSize? smartBannerLandscape; + [Obsolete ("Smart Banner has been deprecated, please use Adaptive Banner. This will be removed in future versions.")] public static AdSize SmartBannerLandscape { get { if (smartBannerLandscape == null) { @@ -275,13 +254,6 @@ public static string GetString (AdSize size) return GetNSString (size); } } - - public partial class RewardBasedVideoAd - { - [Obsolete ("Use IsReady property instead, this will be removed in future versions")] - public bool Ready { get { return IsReady; } } - } - } namespace Google.MobileAds.DoubleClick diff --git a/source/Google/MobileAds/MobileAds.csproj b/source/Google/MobileAds/MobileAds.csproj index c684cae29..4413ac8c5 100644 --- a/source/Google/MobileAds/MobileAds.csproj +++ b/source/Google/MobileAds/MobileAds.csproj @@ -6,7 +6,7 @@ Google.MobileAds Google.MobileAds 1.0.0.0 - 7.66.0 + 8.6.0.0 Resources true true @@ -24,7 +24,7 @@ https://go.microsoft.com/fwlink/?linkid=865562 License.md true - 7.66.0 + 8.6.0.0 diff --git a/source/Google/MobileAds/MobileAds.targets b/source/Google/MobileAds/MobileAds.targets index 274b6145b..1014544ef 100644 --- a/source/Google/MobileAds/MobileAds.targets +++ b/source/Google/MobileAds/MobileAds.targets @@ -2,39 +2,27 @@ <_GoogleMobileAdsAssemblyName>Google.MobileAds, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - <_GoogleMobileAdsId>FAdM-7.66.0 - <_GoogleUserMessagingPlatformId>GUsrMess-1.1.0 + <_GoogleMobileAdsId>FAdM-8.6.0 <_GoogleMobileAdsSDKBaseFolder>$(XamarinBuildDownloadDir)$(_GoogleMobileAdsId)\Frameworks\GoogleMobileAdsFramework-Current\ - <_GoogleUserMessagingPlatformSDKBaseFolder>$(XamarinBuildDownloadDir)$(_GoogleUserMessagingPlatformId)\Frameworks\Release\ - https://dl.google.com/dl/cpdc/080245260b12ad1b/Google-Mobile-Ads-SDK-7.66.0.tar.gz + https://dl.google.com/dl/cpdc/b4399d786355d73d/Google-Mobile-Ads-SDK-8.6.0.tar.gz Tgz - - - https://dl.google.com/dl/cpdc/624b551688fd020a/GoogleUserMessagingPlatform-1.1.0.tar.gz - Tgz - + - - + + Framework True True -ObjC -lz -lsqlite3 AudioToolbox AVFoundation CFNetwork CoreGraphics CoreMedia CoreTelephony CoreVideo MediaPlayer MessageUI MobileCoreServices QuartzCore Security StoreKit SystemConfiguration AdSupport JavaScriptCore SafariServices WebKit - - - - Framework - True - True - + \ No newline at end of file diff --git a/source/Google/Places/ApiDefinition.cs b/source/Google/Places/ApiDefinition.cs index fac044744..d609698c2 100644 --- a/source/Google/Places/ApiDefinition.cs +++ b/source/Google/Places/ApiDefinition.cs @@ -1,4 +1,5 @@ using System; +using System.Runtime.InteropServices; using UIKit; using Foundation; @@ -7,12 +8,10 @@ using CoreLocation; using Google.Maps; -namespace Google.Places -{ +namespace Google.Places { // @interface GMSAddressComponent : NSObject [BaseType (typeof (NSObject), Name = "GMSAddressComponent")] - interface AddressComponent - { + interface AddressComponent { // @property(nonatomic, readonly, copy) NSString *type; [Obsolete ("Type property is deprecated in favor of Types.")] [BindAs (typeof (PlaceType))] @@ -34,16 +33,14 @@ interface AddressComponent string ShortName { get; } } - interface IAutocompleteFetcherDelegate - { + interface IAutocompleteFetcherDelegate { } // @protocol GMSAutocompleteFetcherDelegate [Model (AutoGeneratedName = true)] [Protocol] [BaseType (typeof (NSObject), Name = "GMSAutocompleteFetcherDelegate")] - interface AutocompleteFetcherDelegate - { + interface AutocompleteFetcherDelegate { // - (void)didAutocompleteWithPredictions:(NSArray *)predictions; [Abstract] [Export ("didAutocompleteWithPredictions:")] @@ -57,26 +54,16 @@ interface AutocompleteFetcherDelegate // @interface GMSAutocompleteFetcher : NSObject [BaseType (typeof (NSObject), Name = "GMSAutocompleteFetcher")] - interface AutocompleteFetcher - { - // - (instancetype)initWithBounds:(GMSCoordinateBounds * GMS_NULLABLE_PTR)bounds filter:(GMSAutocompleteFilter * GMS_NULLABLE_PTR)filter; - [Export ("initWithBounds:filter:")] - IntPtr Constructor ([NullAllowed] Google.Maps.CoordinateBounds bounds, [NullAllowed] AutocompleteFilter filter); + interface AutocompleteFetcher { + // - (instancetype)initWithFilter:(nullable GMSAutocompleteFilter *)filter NS_DESIGNATED_INITIALIZER; + [Export ("initWithFilter:")] + IntPtr Constructor ([NullAllowed] AutocompleteFilter filter); // @property(nonatomic, weak) id delegate; [NullAllowed] [Export ("delegate", ArgumentSemantic.Weak)] IAutocompleteFetcherDelegate Delegate { get; set; } - // @property(nonatomic, strong) GMSCoordinateBounds *autocompleteBounds; - [NullAllowed] - [Export ("autocompleteBounds", ArgumentSemantic.Strong)] - Google.Maps.CoordinateBounds AutocompleteBounds { get; set; } - - // @property (assign, nonatomic) GMSAutocompleteBoundsMode autocompleteBoundsMode; - [Export("autocompleteBoundsMode", ArgumentSemantic.Assign)] - AutocompleteBoundsMode AutocompleteBoundsMode { get; set; } - // @property(nonatomic, strong) GMSAutocompleteFilter *autocompleteFilter; [NullAllowed] [Export ("autocompleteFilter", ArgumentSemantic.Strong)] @@ -93,8 +80,7 @@ interface AutocompleteFetcher // @interface GMSAutocompleteFilter : NSObject [BaseType (typeof (NSObject), Name = "GMSAutocompleteFilter")] - interface AutocompleteFilter - { + interface AutocompleteFilter { // @property (assign, nonatomic) GMSPlacesAutocompleteTypeFilter type; [Export ("type", ArgumentSemantic.Assign)] PlacesAutocompleteTypeFilter Type { get; set; } @@ -108,13 +94,22 @@ interface AutocompleteFilter [NullAllowed] [Export ("origin", ArgumentSemantic.Assign)] CLLocation Origin { get; set; } + + // @property (nonatomic) id _Nullable locationBias; + [NullAllowed] + [Export ("locationBias", ArgumentSemantic.Assign)] + NSObject LocationBias { get; set; } + + // @property (nonatomic) id _Nullable locationRestriction; + [NullAllowed] + [Export ("locationRestriction", ArgumentSemantic.Assign)] + NSObject LocationRestriction { get; set; } } // @interface GMSAutocompleteMatchFragment : NSObject [DisableDefaultCtor] [BaseType (typeof (NSObject), Name = "GMSAutocompleteMatchFragment")] - interface AutocompleteMatchFragment - { + interface AutocompleteMatchFragment { // @property (readonly, nonatomic) NSUInteger offset; [Export ("offset")] nuint Offset { get; } @@ -127,8 +122,7 @@ interface AutocompleteMatchFragment // @interface GMSAutocompletePrediction : NSObject [DisableDefaultCtor] [BaseType (typeof (NSObject), Name = "GMSAutocompletePrediction")] - interface AutocompletePrediction - { + interface AutocompletePrediction { // extern NSString *const _Nonnull kGMSAutocompleteMatchAttribute; [Field ("kGMSAutocompleteMatchAttribute", "__Internal")] NSString AutocompleteMatchAttribute { get; } @@ -160,16 +154,14 @@ interface AutocompletePrediction NSNumber DistanceMeters { get; } } - interface IAutocompleteResultsViewControllerDelegate - { + interface IAutocompleteResultsViewControllerDelegate { } // @protocol GMSAutocompleteResultsViewControllerDelegate [Model (AutoGeneratedName = true)] [Protocol] [BaseType (typeof (NSObject), Name = "GMSAutocompleteResultsViewControllerDelegate")] - interface AutocompleteResultsViewControllerDelegate - { + interface AutocompleteResultsViewControllerDelegate { // @required - (void)resultsController:(GMSAutocompleteResultsViewController *)resultsController didAutocompleteWithPlace:(GMSPlace *)place; [Abstract] [EventArgs ("AutocompleteResultsViewControllerAutocompleted")] @@ -208,8 +200,7 @@ interface AutocompleteResultsViewControllerDelegate Name = "GMSAutocompleteResultsViewController", Delegates = new string [] { "Delegate" }, Events = new Type [] { typeof (AutocompleteResultsViewControllerDelegate) })] - interface AutocompleteResultsViewController : IUISearchResultsUpdating - { + interface AutocompleteResultsViewController : IUISearchResultsUpdating { // @property(nonatomic, weak) id delegate; [NullAllowed] [Export ("delegate", ArgumentSemantic.Weak)] @@ -221,7 +212,7 @@ interface AutocompleteResultsViewController : IUISearchResultsUpdating Google.Maps.CoordinateBounds AutocompleteBounds { get; set; } // @property (assign, nonatomic) GMSAutocompleteBoundsMode autocompleteBoundsMode; - [Export("autocompleteBoundsMode", ArgumentSemantic.Assign)] + [Export ("autocompleteBoundsMode", ArgumentSemantic.Assign)] AutocompleteBoundsMode AutocompleteBoundsMode { get; set; } // @property(nonatomic, strong) GMSAutocompleteFilter *autocompleteFilter; @@ -257,10 +248,6 @@ interface AutocompleteResultsViewController : IUISearchResultsUpdating // @property (assign, nonatomic) GMSPlaceField placeFields; [Export ("placeFields", ArgumentSemantic.Assign)] PlaceField PlaceFields { get; set; } - - // -(void)setAutocompleteBoundsUsingNorthEastCorner:(CLLocationCoordinate2D)NorthEastCorner SouthWestCorner:(CLLocationCoordinate2D)SouthWestCorner; - [Export ("setAutocompleteBoundsUsingNorthEastCorner:SouthWestCorner:")] - void SetAutocompleteBoundsUsingNorthEastCorner (CLLocationCoordinate2D NorthEastCorner, CLLocationCoordinate2D SouthWestCorner); } // @interface GMSAutocompleteSessionToken : NSObject @@ -268,15 +255,13 @@ interface AutocompleteResultsViewController : IUISearchResultsUpdating interface AutocompleteSessionToken { } - interface IAutocompleteTableDataSourceDelegate - { + interface IAutocompleteTableDataSourceDelegate { } [Model (AutoGeneratedName = true)] [Protocol] [BaseType (typeof (NSObject), Name = "GMSAutocompleteTableDataSourceDelegate")] - interface AutocompleteTableDataSourceDelegate - { + interface AutocompleteTableDataSourceDelegate { // @required - (void)tableDataSource:(GMSAutocompleteTableDataSource *)tableDataSource didAutocompleteWithPlace:(GMSPlace *)place; [Abstract] [EventArgs ("AutocompleteTableDataSourceAutocompleted")] @@ -315,22 +300,12 @@ interface AutocompleteTableDataSourceDelegate Name = "GMSAutocompleteTableDataSource", Delegates = new string [] { "Delegate" }, Events = new Type [] { typeof (AutocompleteTableDataSourceDelegate) })] - interface AutocompleteTableDataSource : IUITableViewDataSource, IUITableViewDelegate - { + interface AutocompleteTableDataSource : IUITableViewDataSource, IUITableViewDelegate { // @property(nonatomic, weak) IBOutlet id delegate; [NullAllowed] [Export ("delegate", ArgumentSemantic.Weak)] IAutocompleteTableDataSourceDelegate Delegate { get; set; } - // @property(nonatomic, strong) GMSCoordinateBounds *autocompleteBounds; - [NullAllowed] - [Export ("autocompleteBounds", ArgumentSemantic.Strong)] - Google.Maps.CoordinateBounds AutocompleteBounds { get; set; } - - // @property (assign, nonatomic) GMSAutocompleteBoundsMode autocompleteBoundsMode; - [Export("autocompleteBoundsMode", ArgumentSemantic.Assign)] - AutocompleteBoundsMode AutocompleteBoundsMode { get; set; } - // @property(nonatomic, strong) GMSAutocompleteFilter *autocompleteFilter; [NullAllowed] [Export ("autocompleteFilter", ArgumentSemantic.Strong)] @@ -372,21 +347,15 @@ interface AutocompleteTableDataSource : IUITableViewDataSource, IUITableViewDele // -(void)clearResults; [Export ("clearResults")] void ClearResults (); - - // -(void)setAutocompleteBoundsUsingNorthEastCorner:(CLLocationCoordinate2D)NorthEastCorner SouthWestCorner:(CLLocationCoordinate2D)SouthWestCorner; - [Export ("setAutocompleteBoundsUsingNorthEastCorner:SouthWestCorner:")] - void SetAutocompleteBoundsUsingNorthEastCorner (CLLocationCoordinate2D NorthEastCorner, CLLocationCoordinate2D SouthWestCorner); } - interface IAutocompleteViewControllerDelegate - { + interface IAutocompleteViewControllerDelegate { } [Model (AutoGeneratedName = true)] [Protocol] [BaseType (typeof (NSObject), Name = "GMSAutocompleteViewControllerDelegate")] - interface AutocompleteViewControllerDelegate - { + interface AutocompleteViewControllerDelegate { // @required - (void)viewController:(GMSAutocompleteViewController *)viewController didAutocompleteWithPlace:(GMSPlace *)place; [Abstract] [EventArgs ("AutocompleteViewControllerAutocompleted")] @@ -428,25 +397,15 @@ interface AutocompleteViewControllerDelegate // @interface GMSAutocompleteViewController : UIViewController [BaseType (typeof (UIViewController), - Name = "GMSAutocompleteViewController", + Name = "GMSAutocompleteViewController", Delegates = new string [] { "Delegate" }, - Events = new Type [] { typeof (AutocompleteViewControllerDelegate) })] - interface AutocompleteViewController - { + Events = new Type [] { typeof (AutocompleteViewControllerDelegate) })] + interface AutocompleteViewController { // @property(nonatomic, weak) IBOutlet id delegate; [NullAllowed] [Export ("delegate", ArgumentSemantic.Weak)] IAutocompleteViewControllerDelegate Delegate { get; set; } - // @property(nonatomic, strong) GMSCoordinateBounds *autocompleteBounds; - [NullAllowed] - [Export ("autocompleteBounds", ArgumentSemantic.Strong)] - Google.Maps.CoordinateBounds AutocompleteBounds { get; set; } - - // @property (assign, nonatomic) GMSAutocompleteBoundsMode autocompleteBoundsMode; - [Export("autocompleteBoundsMode", ArgumentSemantic.Assign)] - AutocompleteBoundsMode AutocompleteBoundsMode { get; set; } - // @property(nonatomic, strong) GMSAutocompleteFilter *autocompleteFilter; [NullAllowed] [Export ("autocompleteFilter", ArgumentSemantic.Strong)] @@ -480,10 +439,6 @@ interface AutocompleteViewController // @property (assign, nonatomic) GMSPlaceField placeFields; [Export ("placeFields", ArgumentSemantic.Assign)] PlaceField PlaceFields { get; set; } - - // -(void)setAutocompleteBoundsUsingNorthEastCorner:(CLLocationCoordinate2D)NorthEastCorner SouthWestCorner:(CLLocationCoordinate2D)SouthWestCorner; - [Export ("setAutocompleteBoundsUsingNorthEastCorner:SouthWestCorner:")] - void SetAutocompleteBoundsUsingNorthEastCorner (CLLocationCoordinate2D NorthEastCorner, CLLocationCoordinate2D SouthWestCorner); } // @interface GMSTime : NSObject @@ -540,8 +495,7 @@ interface OpeningHours { // @interface GMSPlace : NSObject [DisableDefaultCtor] [BaseType (typeof (NSObject), Name = "GMSPlace")] - interface Place - { + interface Place { // @property (readonly, copy, nonatomic) NSString * name; [Export ("name", ArgumentSemantic.Copy)] string Name { get; } @@ -554,11 +508,6 @@ interface Place [Export ("coordinate", ArgumentSemantic.Assign)] CLLocationCoordinate2D Coordinate { get; } - // @property (readonly, nonatomic) GMSPlacesOpenNowStatus openNowStatus; - [Obsolete ("This property is currently not supported and should not be used.")] - [Export ("openNowStatus", ArgumentSemantic.Assign)] - PlacesOpenNowStatus OpenNowStatus { get; } - // @property (readonly, copy, nonatomic) NSString * phoneNumber; [NullAllowed] [Export ("phoneNumber", ArgumentSemantic.Copy)] @@ -594,8 +543,8 @@ interface Place // @property(nonatomic, strong, readonly) GMSCoordinateBounds *viewport; [NullAllowed] - [Export ("viewport", ArgumentSemantic.Strong)] - Google.Maps.CoordinateBounds Viewport { get; } + [Export ("viewportInfo", ArgumentSemantic.Strong)] + PlaceViewportInfo Viewport { get; } // @property(nonatomic, copy, readonly) GMS_NSArrayOf(GMSAddressComponent *) *GMS_NULLABLE_PTR addressComponents; [NullAllowed] @@ -623,27 +572,47 @@ interface Place // @property (readonly, nonatomic) NSNumber * _Nullable UTCOffsetMinutes; [NullAllowed] - [Export("UTCOffsetMinutes")] + [Export ("UTCOffsetMinutes")] NSNumber UtcOffsetMinutes { get; } // @property(nonatomic, readonly) GMSPlacesBusinessStatus businessStatus; - [Export("businessStatus")] + [Export ("businessStatus")] PlacesBusinessStatus BusinessStatus { get; } // -(GMSPlaceOpenStatus)isOpenAtDate:(NSDate * _Nonnull)date; - [Export("isOpenAtDate:")] + [Export ("isOpenAtDate:")] PlaceOpenStatus IsOpen (NSDate date); // -(GMSPlaceOpenStatus)isOpen; - [Export("isOpen")] + [Export ("isOpen")] PlaceOpenStatus IsOpen (); } + // @interface GMSPlaceViewportInfo : NSObject + [BaseType (typeof(NSObject), Name = "GMSPlaceViewportInfo")] + interface PlaceViewportInfo + { + // @property (readonly, nonatomic) CLLocationCoordinate2D northEast; + [Export ("northEast")] + CLLocationCoordinate2D NorthEast { get; } + + // @property (readonly, nonatomic) CLLocationCoordinate2D southWest; + [Export ("southWest")] + CLLocationCoordinate2D SouthWest { get; } + + // @property (readonly, getter = isValid, nonatomic) BOOL valid; + [Export ("valid")] + bool Valid { [Bind ("isValid")] get; } + + // -(id)initWithNorthEast:(CLLocationCoordinate2D)northEast southWest:(CLLocationCoordinate2D)southWest; + [Export ("initWithNorthEast:southWest:")] + IntPtr Constructor (CLLocationCoordinate2D northEast, CLLocationCoordinate2D southWest); + } + // @interface GMSPlaceLikelihood : NSObject [DisableDefaultCtor] [BaseType (typeof (NSObject), Name = "GMSPlaceLikelihood")] - interface PlaceLikelihood : INSCopying - { + interface PlaceLikelihood : INSCopying { // @property (readonly, nonatomic, strong) GMSPlace * place; [Export ("place", ArgumentSemantic.Strong)] Place Place { get; } @@ -660,8 +629,7 @@ interface PlaceLikelihood : INSCopying // @interface GMSPlaceLikelihoodList : NSObject [BaseType (typeof (NSObject), Name = "GMSPlaceLikelihoodList")] - interface PlaceLikelihoodList - { + interface PlaceLikelihoodList { // @property (copy, nonatomic) NSArray * likelihoods; [Export ("likelihoods", ArgumentSemantic.Copy)] PlaceLikelihood [] Likelihoods { get; set; } @@ -675,8 +643,7 @@ interface PlaceLikelihoodList // @interface GMSPlacePhotoMetadata : NSObject [DisableDefaultCtor] [BaseType (typeof (NSObject), Name = "GMSPlacePhotoMetadata")] - interface PlacePhotoMetadata - { + interface PlacePhotoMetadata { // @property(nonatomic, readonly, copy) NSAttributedString* GMS_NULLABLE_PTR attributions; [NullAllowed] [Export ("attributions", ArgumentSemantic.Copy)] @@ -689,8 +656,7 @@ interface PlacePhotoMetadata // @interface GMSPlacePhotoMetadataList : NSObject [BaseType (typeof (NSObject), Name = "GMSPlacePhotoMetadataList")] - interface PlacePhotoMetadataList - { + interface PlacePhotoMetadataList { // @property(nonatomic, readonly, copy) GMS_NSArrayOf(GMSPlacePhotoMetadata *) * results; [Export ("results", ArgumentSemantic.Copy)] PlacePhotoMetadata [] Results { get; } @@ -717,8 +683,7 @@ interface PlacePhotoMetadataList // @interface GMSPlacesClient : NSObject [DisableDefaultCtor] [BaseType (typeof (NSObject), Name = "GMSPlacesClient")] - interface PlacesClient - { + interface PlacesClient { // extern NSString *const _Nonnull kGMSPlacesErrorDomain; [Field ("kGMSPlacesErrorDomain", "__Internal")] NSString PlacesErrorDomain { get; } @@ -745,7 +710,7 @@ interface PlacesClient // +(NSString * _Nonnull)SDKLongVersion; [Static] - [Export("SDKLongVersion")] + [Export ("SDKLongVersion")] string SdkLongVersion { get; } // -(void)lookUpPlaceID:(NSString *)placeID callback:(GMSPlaceResultCallback)callback; @@ -773,16 +738,6 @@ interface PlacesClient [Export ("currentPlaceWithCallback:")] void CurrentPlace (PlaceLikelihoodListHandler callback); - // -(void)autocompleteQuery:(NSString *)query bounds:(GMSCoordinateBounds *)bounds filter:(GMSAutocompleteFilter *)filter callback:(GMSAutocompletePredictionsCallback)callback; - [Async] - [Export ("autocompleteQuery:bounds:filter:callback:")] - void Autocomplete (string query, [NullAllowed] Google.Maps.CoordinateBounds bounds, [NullAllowed] AutocompleteFilter filter, AutocompletePredictionsHandler callback); - - // -(void)autocompleteQuery:(NSString * _Nonnull)query bounds:(GMSCoordinateBounds * _Nullable)bounds boundsMode:(GMSAutocompleteBoundsMode)boundsMode filter:(GMSAutocompleteFilter * _Nullable)filter callback:(GMSAutocompletePredictionsCallback _Nonnull)callback; - [Async] - [Export("autocompleteQuery:bounds:boundsMode:filter:callback:")] - void Autocomplete(string query, [NullAllowed] CoordinateBounds bounds, AutocompleteBoundsMode boundsMode, [NullAllowed] AutocompleteFilter filter, AutocompletePredictionsHandler callback); - // -(void)findAutocompletePredictionsFromQuery:(NSString * _Nonnull)query bounds:(GMSCoordinateBounds * _Nullable)bounds boundsMode:(GMSAutocompleteBoundsMode)boundsMode filter:(GMSAutocompleteFilter * _Nullable)filter sessionToken:(GMSAutocompleteSessionToken * _Nonnull)sessionToken callback:(GMSAutocompletePredictionsCallback _Nonnull)callback; [Export ("findAutocompletePredictionsFromQuery:bounds:boundsMode:filter:sessionToken:callback:")] void FindAutocompletePredictions (string query, [NullAllowed] CoordinateBounds bounds, AutocompleteBoundsMode boundsMode, [NullAllowed] AutocompleteFilter filter, [NullAllowed] AutocompleteSessionToken sessionToken, AutocompletePredictionsHandler callback); diff --git a/source/Google/Places/Enums.cs b/source/Google/Places/Enums.cs index 01a02079c..400954189 100644 --- a/source/Google/Places/Enums.cs +++ b/source/Google/Places/Enums.cs @@ -38,14 +38,6 @@ public enum DayOfWeek : ulong { Saturday = 7 } - [Obsolete ("This enum is currently not supported and should not be used. Use PlaceOpenStatus enum instead.")] - [Native] - public enum PlacesOpenNowStatus : long { - Yes, - No, - Unknown - } - [Native] public enum PlacesPriceLevel : long { Unknown = -1, @@ -117,26 +109,6 @@ public enum PlaceType { [Field ("kGMSPlaceTypeAccounting", "__Internal")] Accounting, - // extern NSString *const kGMSPlaceTypeAdministrativeAreaLevel1; - [Field ("kGMSPlaceTypeAdministrativeAreaLevel1", "__Internal")] - AdministrativeAreaLevel1, - - // extern NSString *const kGMSPlaceTypeAdministrativeAreaLevel2; - [Field ("kGMSPlaceTypeAdministrativeAreaLevel2", "__Internal")] - AdministrativeAreaLevel2, - - // extern NSString *const kGMSPlaceTypeAdministrativeAreaLevel3; - [Field ("kGMSPlaceTypeAdministrativeAreaLevel3", "__Internal")] - AdministrativeAreaLevel3, - - // extern NSString *const kGMSPlaceTypeAdministrativeAreaLevel4; - [Field ("kGMSPlaceTypeAdministrativeAreaLevel4", "__Internal")] - AdministrativeAreaLevel4, - - // extern NSString *const kGMSPlaceTypeAdministrativeAreaLevel5; - [Field ("kGMSPlaceTypeAdministrativeAreaLevel5", "__Internal")] - AdministrativeAreaLevel5, - // extern NSString *const kGMSPlaceTypeAirport; [Field ("kGMSPlaceTypeAirport", "__Internal")] Airport, @@ -233,18 +205,10 @@ public enum PlaceType { [Field ("kGMSPlaceTypeClothingStore", "__Internal")] ClothingStore, - // extern NSString *const kGMSPlaceTypeColloquialArea; - [Field ("kGMSPlaceTypeColloquialArea", "__Internal")] - ColloquialArea, - // extern NSString *const kGMSPlaceTypeConvenienceStore; [Field ("kGMSPlaceTypeConvenienceStore", "__Internal")] ConvenienceStore, - // extern NSString *const kGMSPlaceTypeCountry; - [Field ("kGMSPlaceTypeCountry", "__Internal")] - Country, - // extern NSString *const kGMSPlaceTypeCourthouse; [Field ("kGMSPlaceTypeCourthouse", "__Internal")] Courthouse, @@ -261,6 +225,10 @@ public enum PlaceType { [Field ("kGMSPlaceTypeDoctor", "__Internal")] Doctor, + // extern NSString *const kGMSPlaceTypeDrugstore; + [Field ("kGMSPlaceTypeDrugstore", "__Internal")] + Drugstore, + // extern NSString *const kGMSPlaceTypeElectrician; [Field ("kGMSPlaceTypeElectrician", "__Internal")] Electrician, @@ -273,30 +241,14 @@ public enum PlaceType { [Field ("kGMSPlaceTypeEmbassy", "__Internal")] Embassy, - // extern NSString *const kGMSPlaceTypeEstablishment; - [Field ("kGMSPlaceTypeEstablishment", "__Internal")] - Establishment, - - // extern NSString *const kGMSPlaceTypeFinance; - [Field ("kGMSPlaceTypeFinance", "__Internal")] - Finance, - // extern NSString *const kGMSPlaceTypeFireStation; [Field ("kGMSPlaceTypeFireStation", "__Internal")] FireStation, - // extern NSString *const kGMSPlaceTypeFloor; - [Field ("kGMSPlaceTypeFloor", "__Internal")] - Floor, - // extern NSString *const kGMSPlaceTypeFlorist; [Field ("kGMSPlaceTypeFlorist", "__Internal")] Florist, - // extern NSString *const kGMSPlaceTypeFood; - [Field ("kGMSPlaceTypeFood", "__Internal")] - Food, - // extern NSString *const kGMSPlaceTypeFuneralHome; [Field ("kGMSPlaceTypeFuneralHome", "__Internal")] FuneralHome, @@ -309,14 +261,6 @@ public enum PlaceType { [Field ("kGMSPlaceTypeGasStation", "__Internal")] GasStation, - // extern NSString *const kGMSPlaceTypeGeneralContractor; - [Field ("kGMSPlaceTypeGeneralContractor", "__Internal")] - GeneralContractor, - - // extern NSString *const kGMSPlaceTypeGeocode; - [Field ("kGMSPlaceTypeGeocode", "__Internal")] - Geocode, - // extern NSString *const kGMSPlaceTypeGroceryOrSupermarket; [Field ("kGMSPlaceTypeGroceryOrSupermarket", "__Internal")] GroceryOrSupermarket, @@ -333,10 +277,6 @@ public enum PlaceType { [Field ("kGMSPlaceTypeHardwareStore", "__Internal")] HardwareStore, - // extern NSString *const kGMSPlaceTypeHealth; - [Field ("kGMSPlaceTypeHealth", "__Internal")] - Health, - // extern NSString *const kGMSPlaceTypeHinduTemple; [Field ("kGMSPlaceTypeHinduTemple", "__Internal")] HinduTemple, @@ -353,10 +293,6 @@ public enum PlaceType { [Field ("kGMSPlaceTypeInsuranceAgency", "__Internal")] InsuranceAgency, - // extern NSString *const kGMSPlaceTypeIntersection; - [Field ("kGMSPlaceTypeIntersection", "__Internal")] - Intersection, - // extern NSString *const kGMSPlaceTypeJewelryStore; [Field ("kGMSPlaceTypeJewelryStore", "__Internal")] JewelryStore, @@ -373,6 +309,10 @@ public enum PlaceType { [Field ("kGMSPlaceTypeLibrary", "__Internal")] Library, + // extern NSString *const kGMSPlaceTypeLightRailStation; + [Field ("kGMSPlaceTypeLightRailStation", "__Internal")] + LightRailStation, + // extern NSString *const kGMSPlaceTypeLiquorStore; [Field ("kGMSPlaceTypeLiquorStore", "__Internal")] LiquorStore, @@ -381,10 +321,6 @@ public enum PlaceType { [Field ("kGMSPlaceTypeLocalGovernmentOffice", "__Internal")] LocalGovernmentOffice, - // extern NSString *const kGMSPlaceTypeLocality; - [Field ("kGMSPlaceTypeLocality", "__Internal")] - Locality, - // extern NSString *const kGMSPlaceTypeLocksmith; [Field ("kGMSPlaceTypeLocksmith", "__Internal")] Locksmith, @@ -421,14 +357,6 @@ public enum PlaceType { [Field ("kGMSPlaceTypeMuseum", "__Internal")] Museum, - // extern NSString *const kGMSPlaceTypeNaturalFeature; - [Field ("kGMSPlaceTypeNaturalFeature", "__Internal")] - NaturalFeature, - - // extern NSString *const kGMSPlaceTypeNeighborhood; - [Field ("kGMSPlaceTypeNeighborhood", "__Internal")] - Neighborhood, - // extern NSString *const kGMSPlaceTypeNightClub; [Field ("kGMSPlaceTypeNightClub", "__Internal")] NightClub, @@ -457,54 +385,22 @@ public enum PlaceType { [Field ("kGMSPlaceTypePhysiotherapist", "__Internal")] Physiotherapist, - // extern NSString *const kGMSPlaceTypePlaceOfWorship; - [Field ("kGMSPlaceTypePlaceOfWorship", "__Internal")] - PlaceOfWorship, - // extern NSString *const kGMSPlaceTypePlumber; [Field ("kGMSPlaceTypePlumber", "__Internal")] Plumber, - // extern NSString *const kGMSPlaceTypePointOfInterest; - [Field ("kGMSPlaceTypePointOfInterest", "__Internal")] - PointOfInterest, + // extern NSString *const kGMSPlaceTypePrimarySchool; + [Field ("kGMSPlaceTypePrimarySchool", "__Internal")] + PrimarySchool, // extern NSString *const kGMSPlaceTypePolice; [Field ("kGMSPlaceTypePolice", "__Internal")] Police, - // extern NSString *const kGMSPlaceTypePolitical; - [Field ("kGMSPlaceTypePolitical", "__Internal")] - Political, - - // extern NSString *const kGMSPlaceTypePostBox; - [Field ("kGMSPlaceTypePostBox", "__Internal")] - PostBox, - // extern NSString *const kGMSPlaceTypePostOffice; [Field ("kGMSPlaceTypePostOffice", "__Internal")] PostOffice, - // extern NSString *const kGMSPlaceTypePostalCode; - [Field ("kGMSPlaceTypePostalCode", "__Internal")] - PostalCode, - - // extern NSString *const kGMSPlaceTypePostalCodePrefix; - [Field ("kGMSPlaceTypePostalCodePrefix", "__Internal")] - PostalCodePrefix, - - // extern NSString *const kGMSPlaceTypePostalCodeSuffix; - [Field ("kGMSPlaceTypePostalCodeSuffix", "__Internal")] - PostalCodeSuffix, - - // extern NSString *const kGMSPlaceTypePostalTown; - [Field ("kGMSPlaceTypePostalTown", "__Internal")] - PostalTown, - - // extern NSString *const kGMSPlaceTypePremise; - [Field ("kGMSPlaceTypePremise", "__Internal")] - Premise, - // extern NSString *const kGMSPlaceTypeRealEstateAgency; [Field ("kGMSPlaceTypeRealEstateAgency", "__Internal")] RealEstateAgency, @@ -517,14 +413,6 @@ public enum PlaceType { [Field ("kGMSPlaceTypeRoofingContractor", "__Internal")] RoofingContractor, - // extern NSString *const kGMSPlaceTypeRoom; - [Field ("kGMSPlaceTypeRoom", "__Internal")] - Room, - - // extern NSString *const kGMSPlaceTypeRoute; - [Field ("kGMSPlaceTypeRoute", "__Internal")] - Route, - // extern NSString *const kGMSPlaceTypeRvPark; [Field ("kGMSPlaceTypeRvPark", "__Internal")] RvPark, @@ -533,6 +421,10 @@ public enum PlaceType { [Field ("kGMSPlaceTypeSchool", "__Internal")] School, + // extern NSString *const kGMSPlaceTypeSecondarySchool; + [Field ("kGMSPlaceTypeSecondarySchool", "__Internal")] + SecondarySchool, + // extern NSString *const kGMSPlaceTypeShoeStore; [Field ("kGMSPlaceTypeShoeStore", "__Internal")] ShoeStore, @@ -557,6 +449,166 @@ public enum PlaceType { [Field ("kGMSPlaceTypeStore", "__Internal")] Store, + // extern NSString *const kGMSPlaceTypeSubwayStation; + [Field ("kGMSPlaceTypeSubwayStation", "__Internal")] + SubwayStation, + + // extern NSString *const kGMSPlaceTypeSupermarket; + [Field ("kGMSPlaceTypeSupermarket", "__Internal")] + Supermarket, + + // extern NSString *const kGMSPlaceTypeSynagogue; + [Field ("kGMSPlaceTypeSynagogue", "__Internal")] + Synagogue, + + // extern NSString *const kGMSPlaceTypeTaxiStand; + [Field ("kGMSPlaceTypeTaxiStand", "__Internal")] + TaxiStand, + + // extern NSString *const kGMSPlaceTypeTrainStation; + [Field ("kGMSPlaceTypeTrainStation", "__Internal")] + TrainStation, + + // extern NSString *const kGMSPlaceTypeTravelAgency; + [Field ("kGMSPlaceTypeTravelAgency", "__Internal")] + TravelAgency, + + // extern NSString *const kGMSPlaceTypeTransitStation; + [Field ("kGMSPlaceTypeTransitStation", "__Internal")] + TransitStation, + + // extern NSString *const kGMSPlaceTypeTouristAttraction; + [Field ("kGMSPlaceTypeTouristAttraction", "__Internal")] + TouristAttraction, + + // extern NSString *const kGMSPlaceTypeUniversity; + [Field ("kGMSPlaceTypeUniversity", "__Internal")] + University, + + // extern NSString *const kGMSPlaceTypeVeterinaryCare; + [Field ("kGMSPlaceTypeVeterinaryCare", "__Internal")] + VeterinaryCare, + + // extern NSString *const kGMSPlaceTypeZoo; + [Field ("kGMSPlaceTypeZoo", "__Internal")] + Zoo, + + // extern NSString *const kGMSPlaceTypeAdministrativeAreaLevel1; + [Field ("kGMSPlaceTypeAdministrativeAreaLevel1", "__Internal")] + AdministrativeAreaLevel1, + + // extern NSString *const kGMSPlaceTypeAdministrativeAreaLevel2; + [Field ("kGMSPlaceTypeAdministrativeAreaLevel2", "__Internal")] + AdministrativeAreaLevel2, + + // extern NSString *const kGMSPlaceTypeAdministrativeAreaLevel3; + [Field ("kGMSPlaceTypeAdministrativeAreaLevel3", "__Internal")] + AdministrativeAreaLevel3, + + // extern NSString *const kGMSPlaceTypeAdministrativeAreaLevel4; + [Field ("kGMSPlaceTypeAdministrativeAreaLevel4", "__Internal")] + AdministrativeAreaLevel4, + + // extern NSString *const kGMSPlaceTypeAdministrativeAreaLevel5; + [Field ("kGMSPlaceTypeAdministrativeAreaLevel5", "__Internal")] + AdministrativeAreaLevel5, + + // extern NSString *const kGMSPlaceTypeColloquialArea; + [Field ("kGMSPlaceTypeColloquialArea", "__Internal")] + ColloquialArea, + + // extern NSString *const kGMSPlaceTypeCountry; + [Field ("kGMSPlaceTypeCountry", "__Internal")] + Country, + + // extern NSString *const kGMSPlaceTypeEstablishment; + [Field ("kGMSPlaceTypeEstablishment", "__Internal")] + Establishment, + + // extern NSString *const kGMSPlaceTypeFinance; + [Field ("kGMSPlaceTypeFinance", "__Internal")] + Finance, + + // extern NSString *const kGMSPlaceTypeFloor; + [Field ("kGMSPlaceTypeFloor", "__Internal")] + Floor, + + // extern NSString *const kGMSPlaceTypeFood; + [Field ("kGMSPlaceTypeFood", "__Internal")] + Food, + + // extern NSString *const kGMSPlaceTypeGeneralContractor; + [Field ("kGMSPlaceTypeGeneralContractor", "__Internal")] + GeneralContractor, + + // extern NSString *const kGMSPlaceTypeGeocode; + [Field ("kGMSPlaceTypeGeocode", "__Internal")] + Geocode, + + // extern NSString *const kGMSPlaceTypeHealth; + [Field ("kGMSPlaceTypeHealth", "__Internal")] + Health, + + // extern NSString *const kGMSPlaceTypeIntersection; + [Field ("kGMSPlaceTypeIntersection", "__Internal")] + Intersection, + + // extern NSString *const kGMSPlaceTypeLocality; + [Field ("kGMSPlaceTypeLocality", "__Internal")] + Locality, + + // extern NSString *const kGMSPlaceTypeNaturalFeature; + [Field ("kGMSPlaceTypeNaturalFeature", "__Internal")] + NaturalFeature, + + // extern NSString *const kGMSPlaceTypeNeighborhood; + [Field ("kGMSPlaceTypeNeighborhood", "__Internal")] + Neighborhood, + + // extern NSString *const kGMSPlaceTypePlaceOfWorship; + [Field ("kGMSPlaceTypePlaceOfWorship", "__Internal")] + PlaceOfWorship, + + // extern NSString *const kGMSPlaceTypePointOfInterest; + [Field ("kGMSPlaceTypePointOfInterest", "__Internal")] + PointOfInterest, + + // extern NSString *const kGMSPlaceTypePolitical; + [Field ("kGMSPlaceTypePolitical", "__Internal")] + Political, + + // extern NSString *const kGMSPlaceTypePostBox; + [Field ("kGMSPlaceTypePostBox", "__Internal")] + PostBox, + + // extern NSString *const kGMSPlaceTypePostalCode; + [Field ("kGMSPlaceTypePostalCode", "__Internal")] + PostalCode, + + // extern NSString *const kGMSPlaceTypePostalCodePrefix; + [Field ("kGMSPlaceTypePostalCodePrefix", "__Internal")] + PostalCodePrefix, + + // extern NSString *const kGMSPlaceTypePostalCodeSuffix; + [Field ("kGMSPlaceTypePostalCodeSuffix", "__Internal")] + PostalCodeSuffix, + + // extern NSString *const kGMSPlaceTypePostalTown; + [Field ("kGMSPlaceTypePostalTown", "__Internal")] + PostalTown, + + // extern NSString *const kGMSPlaceTypePremise; + [Field ("kGMSPlaceTypePremise", "__Internal")] + Premise, + + // extern NSString *const kGMSPlaceTypeRoom; + [Field ("kGMSPlaceTypeRoom", "__Internal")] + Room, + + // extern NSString *const kGMSPlaceTypeRoute; + [Field ("kGMSPlaceTypeRoute", "__Internal")] + Route, + // extern NSString *const kGMSPlaceTypeStreetAddress; [Field ("kGMSPlaceTypeStreetAddress", "__Internal")] StreetAddress, @@ -593,40 +645,12 @@ public enum PlaceType { [Field ("kGMSPlaceTypeSubpremise", "__Internal")] Subpremise, - // extern NSString *const kGMSPlaceTypeSubwayStation; - [Field ("kGMSPlaceTypeSubwayStation", "__Internal")] - SubwayStation, - - // extern NSString *const kGMSPlaceTypeSynagogue; - [Field ("kGMSPlaceTypeSynagogue", "__Internal")] - Synagogue, - - // extern NSString *const kGMSPlaceTypeTaxiStand; - [Field ("kGMSPlaceTypeTaxiStand", "__Internal")] - TaxiStand, - - // extern NSString *const kGMSPlaceTypeTrainStation; - [Field ("kGMSPlaceTypeTrainStation", "__Internal")] - TrainStation, - - // extern NSString *const kGMSPlaceTypeTransitStation; - [Field ("kGMSPlaceTypeTransitStation", "__Internal")] - TransitStation, - - // extern NSString *const kGMSPlaceTypeTravelAgency; - [Field ("kGMSPlaceTypeTravelAgency", "__Internal")] - TravelAgency, + // extern NSString *const kGMSPlaceTypeTownSquare; + [Field ("kGMSPlaceTypeTownSquare", "__Internal")] + TownSquare, - // extern NSString *const kGMSPlaceTypeUniversity; - [Field ("kGMSPlaceTypeUniversity", "__Internal")] - University, - - // extern NSString *const kGMSPlaceTypeVeterinaryCare; - [Field ("kGMSPlaceTypeVeterinaryCare", "__Internal")] - VeterinaryCare, - - // extern NSString *const kGMSPlaceTypeZoo; - [Field ("kGMSPlaceTypeZoo", "__Internal")] - Zoo + // extern NSString *const _Nonnull kGMSPlacesErrorDomain; + [Field ("kGMSPlacesErrorDomain", "__Internal")] + ErrorDomain, } } diff --git a/source/Google/Places/Extension.cs b/source/Google/Places/Extension.cs new file mode 100644 index 000000000..ab0760d7a --- /dev/null +++ b/source/Google/Places/Extension.cs @@ -0,0 +1,14 @@ +using System; +using System.Runtime.InteropServices; +using CoreLocation; +using Foundation; + +namespace Google.Places { + public partial class AutocompleteFilter { + // extern id _Nonnull GMSPlaceRectangularLocationOption (CLLocationCoordinate2D northEastBounds, CLLocationCoordinate2D southWestBounds); + [DllImport ("__Internal", EntryPoint = "GMSPlaceRectangularLocationOption")] + internal extern static NSObject _PlaceRectangularLocationOption (CLLocationCoordinate2D northEastBounds, CLLocationCoordinate2D southWestBounds); + public static NSObject PlaceRectangularLocationOption (CLLocationCoordinate2D northEastBounds, CLLocationCoordinate2D southWestBounds) + => _PlaceRectangularLocationOption (northEastBounds, southWestBounds); + } +} diff --git a/source/Google/Places/Places.csproj b/source/Google/Places/Places.csproj index ff351d18b..be7646cd6 100644 --- a/source/Google/Places/Places.csproj +++ b/source/Google/Places/Places.csproj @@ -6,7 +6,7 @@ Google.Places Google.Places 1.0.0.0 - 3.9.0.0 + 5.0.0.0 Resources true true @@ -24,7 +24,7 @@ https://go.microsoft.com/fwlink/?linkid=865542 License.md true - 3.9.0.0 + 5.0.0.0 diff --git a/source/Google/Places/Places.targets b/source/Google/Places/Places.targets index 1e75498de..1d1af2290 100644 --- a/source/Google/Places/Places.targets +++ b/source/Google/Places/Places.targets @@ -3,13 +3,13 @@ <_GooglePlacesAssemblyName>Google.Places, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - <_GooglePlacesItemsFolder>GPlcs-3.9.0 + <_GooglePlacesItemsFolder>GPlcs-5.0.0 <_GooglePlacesSDKBaseFolder>$(XamarinBuildDownloadDir)$(_GooglePlacesItemsFolder)\Frameworks\ - https://dl.google.com/dl/cpdc/73fa5891ae45f00f/GooglePlaces-3.9.0.tar.gz + https://dl.google.com/dl/cpdc/87771cb1abc823c0/GooglePlaces-5.0.0.tar.gz Tgz @@ -20,60 +20,44 @@ - + - - GooglePlaces.bundle\Info.plist - - - GooglePlaces.bundle\oss_licenses_places.txt.gz - - - GooglePlaces.bundle\build-with-google-black.png + + GooglePlaces.bundle\build-with-google-black@2x.png False - - GooglePlaces.bundle\build-with-google-black%402x.png + + GooglePlaces.bundle\build-with-google-black@3x.png False - - GooglePlaces.bundle\build-with-google-black%403x.png + + GooglePlaces.bundle\build-with-google-white@2x.png False - - GooglePlaces.bundle\build-with-google-white.png + + GooglePlaces.bundle\build-with-google-white@3x.png False - - GooglePlaces.bundle\build-with-google-white%402x.png - False - - - GooglePlaces.bundle\build-with-google-white%403x.png - False - - - GooglePlaces.bundle\sad_cloud.png - False + + GooglePlaces.bundle\Info.plist - - GooglePlaces.bundle\sad_cloud%402x.png - False + + GooglePlaces.bundle\oss_licenses_places.txt.gz - - GooglePlaces.bundle\sad_cloud%403x.png + + GooglePlaces.bundle\sad_cloud@2x.png False - - GooglePlaces.bundle\sad_cloud_dark.png + + GooglePlaces.bundle\sad_cloud@3x.png False - - GooglePlaces.bundle\sad_cloud_dark%402x.png + + GooglePlaces.bundle\sad_cloud_dark@2x.png False - - GooglePlaces.bundle\sad_cloud_dark%403x.png + + GooglePlaces.bundle\sad_cloud_dark@3x.png False @@ -145,6 +129,9 @@ GooglePlaces.bundle\ja.lproj\GooglePlaces.strings + + GooglePlaces.bundle\ka.lproj\GooglePlaces.strings + GooglePlaces.bundle\ko.lproj\GooglePlaces.strings @@ -157,6 +144,9 @@ GooglePlaces.bundle\ms.lproj\GooglePlaces.strings + + GooglePlaces.bundle\my.lproj\GooglePlaces.strings + GooglePlaces.bundle\nb.lproj\GooglePlaces.strings @@ -184,9 +174,18 @@ GooglePlaces.bundle\sk.lproj\GooglePlaces.strings + + GooglePlaces.bundle\sq.lproj\GooglePlaces.strings + + + GooglePlaces.bundle\sr.lproj\GooglePlaces.strings + GooglePlaces.bundle\sv.lproj\GooglePlaces.strings + + GooglePlaces.bundle\sw.lproj\GooglePlaces.strings + GooglePlaces.bundle\th.lproj\GooglePlaces.strings diff --git a/source/Google/SignIn/ApiDefinition.cs b/source/Google/SignIn/ApiDefinition.cs index 311662134..e6993893f 100644 --- a/source/Google/SignIn/ApiDefinition.cs +++ b/source/Google/SignIn/ApiDefinition.cs @@ -62,10 +62,6 @@ interface GoogleUser : INSSecureCoding [Export ("userID")] string UserId { get; } - [Obsolete ("Use the UserId property instead. This will be removed in future versions.")] - [Wrap ("UserId")] - string UserID { get; } - // @property (readonly, nonatomic) GIDProfileData * profile; [Export ("profile")] ProfileData Profile { get; } @@ -170,10 +166,6 @@ interface SignIn [Export ("clientID")] string ClientId { get; set; } - [Obsolete ("Use the ClientId property instead. This will be removed in future versions.")] - [Wrap ("ClientId")] - string ClientID { get; set; } - // @property (copy, nonatomic) NSArray * scopes; [Export ("scopes", ArgumentSemantic.Copy)] string [] Scopes { get; set; } @@ -194,18 +186,10 @@ interface SignIn [Export ("serverClientID")] string ServerClientId { get; set; } - [Obsolete ("Use the ServerClientId property instead. This will be removed in future versions.")] - [Wrap ("ServerClientId")] - string ServerClientID { get; set; } - // @property (copy, nonatomic) NSString * openIDRealm; [Export ("openIDRealm")] string OpenIdRealm { get; set; } - [Obsolete ("Use the OpenIdRealm property instead. This will be removed in future versions.")] - [Wrap ("OpenIdRealm")] - string OpenIDRealm { get; set; } - // @property(nonatomic, copy) NSString *hostedDomain; [Export ("hostedDomain")] string HostedDomain { get; set; } @@ -219,26 +203,14 @@ interface SignIn [Export ("handleURL:")] bool HandleUrl (NSUrl url); - [Obsolete ("Use the HandleUrl (NSUrl) overload method instead. This will be removed in future versions.")] - [Wrap ("HandleUrl (url)")] - bool HandleUrl (NSUrl url, string sourceApplication, [NullAllowed] NSObject annotation); - // -(BOOL)hasPreviousSignIn; [Export ("hasPreviousSignIn")] bool HasPreviousSignIn { get; } - [Obsolete ("Use the HasPreviousSignIn property instead. This will be removed in future versions.")] - [Wrap ("HasPreviousSignIn")] - bool HasAuthInKeychain { get; } - // -(void)restorePreviousSignIn; [Export ("restorePreviousSignIn")] void RestorePreviousSignIn (); - [Obsolete ("Use the RestorePreviousSignIn method instead. This will be removed in future versions.")] - [Wrap ("RestorePreviousSignIn ()")] - void SignInUserSilently (); - // -(void)signIn; [Export ("signIn")] void SignInUser (); diff --git a/source/Google/SignIn/SignIn.csproj b/source/Google/SignIn/SignIn.csproj index 8cbd5b057..f26e27955 100644 --- a/source/Google/SignIn/SignIn.csproj +++ b/source/Google/SignIn/SignIn.csproj @@ -6,7 +6,7 @@ Google.SignIn Google.SignIn 1.0.0.0 - 5.0.2.1 + 5.0.2.2 Resources true @@ -23,7 +23,7 @@ https://go.microsoft.com/fwlink/?linkid=865554 License.md true - 5.0.2.1 + 5.0.2.2 diff --git a/source/Google/TagManager/Loader.cs b/source/Google/TagManager/Loader.cs index 038e6ada3..4563222a2 100644 --- a/source/Google/TagManager/Loader.cs +++ b/source/Google/TagManager/Loader.cs @@ -6,8 +6,8 @@ public class Loader { static Loader () { - Firebase.InstanceID.Loader.ForceLoad (); Firebase.Core.Loader.ForceLoad (); + Firebase.Installations.Loader.ForceLoad (); Firebase.Analytics.Loader.ForceLoad (); Google.Analytics.Loader.ForceLoad (); } diff --git a/source/Google/TagManager/TagManager.csproj b/source/Google/TagManager/TagManager.csproj index 2d85c9e6a..77fb6132b 100644 --- a/source/Google/TagManager/TagManager.csproj +++ b/source/Google/TagManager/TagManager.csproj @@ -6,7 +6,7 @@ Google.TagManager Google.TagManager 1.0.0.0 - 7.1.2.3 + 7.3.1.0 Resources true @@ -23,7 +23,7 @@ https://go.microsoft.com/fwlink/?linkid=865539 License.md true - 7.1.2.3 + 7.3.1.0 @@ -61,7 +61,6 @@ - diff --git a/source/Google/TagManager/TagManager.targets b/source/Google/TagManager/TagManager.targets index 39a87dacc..41c9cdc9a 100644 --- a/source/Google/TagManager/TagManager.targets +++ b/source/Google/TagManager/TagManager.targets @@ -3,7 +3,7 @@ <_GoogleTagManagerAssemblyName>Google.TagManager, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - <_GoogleTagManagerItemsFolder>GTagM-7.1.2 + <_GoogleTagManagerItemsFolder>GTagM-7.3.1 <_GoogleTagManagerSDKBaseFolder>$(XamarinBuildDownloadDir)$(_GoogleTagManagerItemsFolder)\ <_GoogleUtilitiesLegacyItemsFolder>GUtltsL-1.3.2 <_GoogleUtilitiesLegacySDKBaseFolder>$(XamarinBuildDownloadDir)$(_GoogleUtilitiesLegacyItemsFolder)\Frameworks\frameworks\ @@ -13,7 +13,7 @@ - https://dl.google.com/dl/cpdc/e0b99b8644b80573/GoogleTagManager-7.1.2.tar.gz + https://dl.google.com/firebase/ios/tagmanager/75f7d88a280c993d/GoogleTagManager-7.3.0.tar.gz Tgz diff --git a/source/Google/UserMessagingPlatform/ApiDefinition.cs b/source/Google/UserMessagingPlatform/ApiDefinition.cs new file mode 100644 index 000000000..de54fb3d3 --- /dev/null +++ b/source/Google/UserMessagingPlatform/ApiDefinition.cs @@ -0,0 +1,99 @@ +using System; +using System.Collections.Generic; + +using CoreGraphics; +using Foundation; +using ObjCRuntime; +using StoreKit; +using UIKit; + +namespace Google.UserMessagingPlatform +{ + // typedef void (^UMPConsentFormLoadCompletionHandler)(UMPConsentForm * _Nullable, NSError * _Nullable); + delegate void ConsentFormLoadCompletionHandler([NullAllowed] ConsentForm consentForm, [NullAllowed] NSError error); + + // typedef void (^UMPConsentFormPresentCompletionHandler)(NSError * _Nullable); + delegate void ConsentFormPresentCompletionHandler([NullAllowed] NSError error); + + // typedef void (^UMPConsentInformationUpdateCompletionHandler)(NSError * _Nullable); + delegate void ConsentInformationUpdateCompletionHandler([NullAllowed] NSError error); + + // @interface UMPConsentForm + [DisableDefaultCtor] + [BaseType(typeof(NSObject), Name = "UMPConsentForm")] + interface ConsentForm + { + // +(void)loadWithCompletionHandler:(UMPConsentFormLoadCompletionHandler _Nonnull)completionHandler; + [Static] + [Export ("loadWithCompletionHandler:")] + void LoadWithCompletionHandler (ConsentFormLoadCompletionHandler completionHandler); + + // -(void)presentFromViewController:(id)viewController completionHandler:(UMPConsentFormPresentCompletionHandler _Nullable)completionHandler; + [Export ("presentFromViewController:completionHandler:")] + void PresentFromViewController (NSObject viewController, [NullAllowed] ConsentFormPresentCompletionHandler completionHandler); + } + + // @interface UMPConsentInformation : NSObject + [BaseType (typeof(NSObject), Name = "UMPConsentInformation")] + interface ConsentInformation + { + // @property (readonly, nonatomic, class) UMPConsentInformation * _Nonnull sharedInstance; + [Static] + [Export ("sharedInstance")] + ConsentInformation SharedInstance { get; } + + // extern NSString *const _Nonnull UMPVersionString; + [Field ("UMPVersionString", "__Internal")] + NSString UMPVersionString { get; } + + // extern NSErrorDomain _Nonnull const UMPErrorDomain; + [Field ("UMPErrorDomain", "__Internal")] + NSString UMPErrorDomain { get; } + + // @property (readonly, nonatomic) UMPConsentStatus consentStatus; + [Export ("consentStatus")] + ConsentStatus ConsentStatus { get; } + + // @property (readonly, nonatomic) UMPConsentType consentType; + [Export ("consentType")] + ConsentType ConsentType { get; } + + // @property (readonly, nonatomic) UMPFormStatus formStatus; + [Export ("formStatus")] + FormStatus FormStatus { get; } + + // -(void)requestConsentInfoUpdateWithParameters:(id)parameters completionHandler:(UMPConsentInformationUpdateCompletionHandler _Nonnull)handler; + [Export ("requestConsentInfoUpdateWithParameters:completionHandler:")] + void RequestConsentInfoUpdateWithParameters (NSObject parameters, ConsentInformationUpdateCompletionHandler handler); + + // -(void)reset; + [Export ("reset")] + void Reset (); + } + + // @interface UMPDebugSettings : NSObject + [BaseType (typeof(NSObject), Name = "UMPDebugSettings")] + interface DebugSettings : INSCopying + { + // @property (nonatomic) NSArray * _Nullable testDeviceIdentifiers; + [NullAllowed, Export ("testDeviceIdentifiers", ArgumentSemantic.Assign)] + string[] TestDeviceIdentifiers { get; set; } + + // @property (nonatomic) UMPDebugGeography geography; + [Export ("geography", ArgumentSemantic.Assign)] + DebugGeography Geography { get; set; } + } + + // @interface UMPRequestParameters : NSObject + [BaseType (typeof(NSObject), Name = "UMPRequestParameters")] + interface RequestParameters + { + // @property (nonatomic) BOOL tagForUnderAgeOfConsent; + [Export ("tagForUnderAgeOfConsent")] + bool TagForUnderAgeOfConsent { get; set; } + + // @property (copy, nonatomic) UMPDebugSettings * _Nullable debugSettings; + [NullAllowed, Export ("debugSettings", ArgumentSemantic.Copy)] + DebugSettings DebugSettings { get; set; } + } +} \ No newline at end of file diff --git a/source/Google/UserMessagingPlatform/Enums.cs b/source/Google/UserMessagingPlatform/Enums.cs new file mode 100644 index 000000000..9c5ec6544 --- /dev/null +++ b/source/Google/UserMessagingPlatform/Enums.cs @@ -0,0 +1,60 @@ +using System; +using System.Runtime.InteropServices; + +using CoreGraphics; +using Foundation; +using ObjCRuntime; + +namespace Google.UserMessagingPlatform +{ + [Native] + public enum ConsentStatus : long + { + Unknown = 0, + Required = 1, + NotRequired = 2, + Obtained = 3 + } + + [Native] + public enum ConsentType : long + { + Unknown = 0, + Personalized = 1, + NonPersonalized = 2 + } + + [Native] + public enum FormStatus : long + { + Unknown = 0, + Available = 1, + Unavailable = 2 + } + + [Native] + public enum DebugGeography : long + { + Disabled = 0, + Eea = 1, + NotEea = 2 + } + + [Native] + public enum RequestErrorCode : long + { + Internal = 1, + InvalidAppID = 2, + Network = 3, + Misconfiguration = 4 + } + + [Native] + public enum FormErrorCode : long + { + Internal = 5, + AlreadyUsed = 6, + Unavailable = 7, + Timeout = 8 + } +} diff --git a/source/Google/UserMessagingPlatform/External-Dependency-Info.txt b/source/Google/UserMessagingPlatform/External-Dependency-Info.txt new file mode 100644 index 000000000..b8443b96d --- /dev/null +++ b/source/Google/UserMessagingPlatform/External-Dependency-Info.txt @@ -0,0 +1,219 @@ +THIRD-PARTY SOFTWARE NOTICES AND INFORMATION +Do not translate or localize + +Xamarin Components for Google APIs Mobile Ads iOS Library incorporates third +party material from the projects listed below. The original copyright notice +and the license under which Microsoft received such third party material are +set forth below. Microsoft reserves all other rights not expressly granted, +whether by implication, estoppel or otherwise. + +######################################## +# Google Mobile Ads Consent SDK +# https://github.com/googleads/googleads-consent-sdk-ios +######################################## + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [2017] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +######################################## +# end - Google Mobile Ads Consent SDK +######################################## diff --git a/source/Google/UserMessagingPlatform/License.md b/source/Google/UserMessagingPlatform/License.md new file mode 100755 index 000000000..d3448ede5 --- /dev/null +++ b/source/Google/UserMessagingPlatform/License.md @@ -0,0 +1,18 @@ +**Xamarin is not responsible for, nor does it grant any licenses to, third-party packages. Some packages may require or install dependencies which are governed by additional licenses.** + +Note: This component depends on [AdMob](https://developers.google.com/admob/), which is subject to the [ +Google AdMob Terms of Service](https://developers.google.com/admob/terms). + +### Xamarin Component for Google Mobile Ads for iOS + +**The MIT License (MIT)** + +Copyright (c) .NET Foundation Contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +20160427 \ No newline at end of file diff --git a/source/Google/UserMessagingPlatform/UserMessagingPlatform.csproj b/source/Google/UserMessagingPlatform/UserMessagingPlatform.csproj new file mode 100644 index 000000000..bf0c13b92 --- /dev/null +++ b/source/Google/UserMessagingPlatform/UserMessagingPlatform.csproj @@ -0,0 +1,61 @@ + + + + Xamarin.iOS10 + true + Google.UserMessagingPlatform + Google.UserMessagingPlatform + 1.0.0.0 + 1.1.0.0 + Resources + true + true + + + + Xamarin.Google.iOS.UserMessagingPlatform + Google APIs User Messaging iOS Library + C# bindings for Google APIs User Messaging iOS Library + C# bindings for Google APIs User Messaging iOS Library + Microsoft + Microsoft + © Microsoft Corporation. All rights reserved. + googleiosmobileads_128x128.png + https://go.microsoft.com/fwlink/?linkid=865562 + License.md + true + 1.1.0.0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/source/Google/UserMessagingPlatform/UserMessagingPlatform.targets b/source/Google/UserMessagingPlatform/UserMessagingPlatform.targets new file mode 100644 index 000000000..6559c0630 --- /dev/null +++ b/source/Google/UserMessagingPlatform/UserMessagingPlatform.targets @@ -0,0 +1,25 @@ + + + + <_GoogleUserMessagingPlatformAssemblyName>Google.UserMessagingPlatform, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + <_GoogleUserMessagingPlatformId>GUsrMess-1.1.0 + <_GoogleUserMessagingPlatformSDKBaseFolder>$(XamarinBuildDownloadDir)$(_GoogleUserMessagingPlatformId)\Frameworks\Release\ + + + + https://dl.google.com/dl/cpdc/624b551688fd020a/GoogleUserMessagingPlatform-1.1.0.tar.gz + Tgz + + + + + + + + Framework + True + True + + + + \ No newline at end of file diff --git a/update.cake b/update.cake index 92dac0616..545e77a29 100644 --- a/update.cake +++ b/update.cake @@ -36,24 +36,18 @@ public Dictionary CreateComponents () googleComponents ["Firebase.Database"] = GetComponent (); googleComponents ["Firebase.DynamicLinks"] = GetComponent (); googleComponents ["Firebase.CloudFunctions"] = GetComponent (); - googleComponents ["Firebase.InstanceID"] = GetComponent (); googleComponents ["Firebase.Invites"] = GetComponent (); - googleComponents ["Firebase.MLKit"] = GetComponent (); - googleComponents ["Firebase.MLKit.Common"] = GetComponent (); - googleComponents ["Firebase.MLKit.ModelInterpreter"] = GetComponent (); googleComponents ["Firebase.PerformanceMonitoring"] = GetComponent (); googleComponents ["Firebase.RemoteConfig"] = GetComponent (); googleComponents ["Firebase.Storage"] = GetComponent (); + //googleComponents ["Firebase.AppDistribution"] = GetComponent (); + //googleComponents ["Firebase.AppCheck"] = GetComponent (); googleComponents ["Google.Analytics"] = GetComponent (); - googleComponents ["Google.AppIndexing"] = GetComponent (); googleComponents ["Google.Cast"] = GetComponent (); - googleComponents ["Google.Core"] = GetComponent (); - googleComponents ["Google.InstanceID"] = GetComponent (); googleComponents ["Google.Maps"] = GetComponent (); googleComponents ["Google.MobileAds"] = GetComponent (); googleComponents ["Google.Places"] = GetComponent (); - googleComponents ["Google.PlayGames"] = GetComponent (); googleComponents ["Google.SignIn"] = GetComponent (); googleComponents ["Google.TagManager"] = GetComponent ();