|
Adicione o pacote Plugin.Firebase ( >= 1.2.0) no nuget. Depois os arquivos GoogleService-Info.plist e google-services.json à pasta raiz do projeto e inclua-os no arquivo .csproj dessa forma:
<ItemGroup Condition="'$(TargetFramework)' == 'net6.0-android'">
<GoogleServicesJson Include="google-services.json" />
</ItemGroup>
<ItemGroup Condition="'$(TargetFramework)' == 'net6.0-ios'">
<BundleResource Include="GoogleService-Info.plist" />
</ItemGroup> |
Coloque a chamada de inicialização no arquivo MauiProgram.cs (linha 15):
#if IOS
using Plugin.Firebase.iOS;
#else
using Plugin.Firebase.Android;
#endif
public static class MauiProgram
{
public static MauiApp CreateMauiApp()
{
return MauiApp
.CreateBuilder()
.UseMauiApp<App>()
...
.RegisterFirebaseServices()
.Build();
}
private static MauiAppBuilder RegisterFirebaseServices(this MauiAppBuilder builder)
{
builder.ConfigureLifecycleEvents(events => {
#if IOS
events.AddiOS(iOS => iOS.FinishedLaunching((app, launchOptions) => {
CrossFirebase.Initialize(app, launchOptions, CreateCrossFirebaseSettings());
return false;
}));
#else
events.AddAndroid(android => android.OnCreate((activity, state) =>
CrossFirebase.Initialize(activity, state, CreateCrossFirebaseSettings())));
#endif
});
builder.Services.AddSingleton(_ => CrossFirebaseAuth.Current);
return builder;
}
private static CrossFirebaseSettings CreateCrossFirebaseSettings()
{
return new CrossFirebaseSettings(isAuthEnabled: true);
}
} |
Adicione o seguinte ItemGroup ao arquivo .csproj para evitar erros de compilação:
<ItemGroup Condition="'$(TargetFramework)' == 'net6.0-android'"> <PackageReference Include="Xamarin.Kotlin.StdLib.Jdk7" Version="1.7.10" ExcludeAssets="build;buildTransitive" /> <PackageReference Include="Xamarin.Kotlin.StdLib.Jdk8" Version="1.7.10" ExcludeAssets="build;buildTransitive" /> </ItemGroup> |