Plugin.Firebase.DynamicLinks 3.0.0

dotnet add package Plugin.Firebase.DynamicLinks --version 3.0.0                
NuGet\Install-Package Plugin.Firebase.DynamicLinks -Version 3.0.0                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Plugin.Firebase.DynamicLinks" Version="3.0.0" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Plugin.Firebase.DynamicLinks --version 3.0.0                
#r "nuget: Plugin.Firebase.DynamicLinks, 3.0.0"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Plugin.Firebase.DynamicLinks as a Cake Addin
#addin nuget:?package=Plugin.Firebase.DynamicLinks&version=3.0.0

// Install Plugin.Firebase.DynamicLinks as a Cake Tool
#tool nuget:?package=Plugin.Firebase.DynamicLinks&version=3.0.0                

With Firebase Dynamic Links, you can give new users of your app a personalized onboarding experience, and thus increase user sign-ups, user retention, and long-term user engagement.

Dynamic Links are links into an app that work whether or not users have installed the app yet. When users open a Dynamic Link into an app that is not installed, the app's App- or Playstore page opens, where users can install the app. After users install and open the app, the app handles the link.

Installation

Nuget

NuGet

Install-Package Plugin.Firebase.DynamicLinks

Setup

iOS specifics

  • Go to the firebase console → Project Settings → choose your iOS app → enter Appstore ID and Team ID (if not filled out already)
  • Go to developers.apple.com → Certificates, Identifiers & Profiles → App IDs → choose your app and enable 'Associated Domains'
  • Go to provisioning profiles → choose your profile, make it valid again, download and double tap it
  • add associated domains to your apps Entitlements.plist:
  <key>com.apple.developer.associated-domains</key>
  <array>
    <string>applinks:myfancyapp.page.link</string>
  </array>
  • add url scheme to your apps Info.plist:
  <key>CFBundleURLTypes</key>
  <array>
    <dict>
      <key>CFBundleURLName</key>
      <string>Bundle ID</string>
      <key>CFBundleURLSchemes</key>
      <array>
        <string>my.fancy.app</string>
      </array>
      <key>CFBundleURLTypes</key>
      <string>Editor</string>
    </dict>
  </array>

Android specifics

  • use the following command to generate SHA-1 and SHA-256 fingerprints:
  keytool -exportcert -list -v -alias <your-key-name> -keystore <path-to-production-keystore>
  • Go to firebase console → Project Settings → choose your android app → insert the SHA-1 and SHA-256 fingerprints
  • Call FirebaseDynamicLinksImplementation.HandleDynamicLinkAsync(intent) from MainActivity.OnCreate(...) and MainActivity.OnNewIntent(...)
  • Add your MainActivity to the <application> tag in your apps AndroidManifest.xml:
  <activity
    android:name="my.fancy.app.MainActivity"
    android:label="@string/app_name"
    android:icon="@mipmap/icon"
    android:theme="@style/MainTheme"
    android:configChanges="screenSize|orientation|uiMode|screenLayout|smallestScreenSize"
    android:launchMode="singleTask">
    <intent-filter>
      <action android:name="android.intent.action.MAIN" />
      <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
    <intent-filter>
      <action android:name="android.intent.action.VIEW" />
      <category android:name="android.intent.category.DEFAULT" />
      <category android:name="android.intent.category.BROWSABLE" />
      <data android:host="myfancyapp.page.link" android:scheme="https" />
    </intent-filter>
  </activity>

Usage

Take a look at the documentation for the AdamE.Firebase.iOS.DynamicLinks packages, because Plugin.Firebase's code is abstracted but still very similar.

Since code should be documenting itself you can also take a look at the following classes:

Release notes

  • Version 3.0.0
    • Swapped Xamarin.Firebase.iOS.DynamicLinks (native SDK 8.10.0) for AdamE.Firebase.iOS.DynamicLinks (native SDK 10.24.0)
  • Version 2.0.1
    • Remove unnecessary UseMaui property from csproj files
    • Readd net6.0 tfm
Product Compatible and additional computed target framework versions.
.NET net6.0 is compatible.  net6.0-android was computed.  net6.0-android31.0 is compatible.  net6.0-ios was computed.  net6.0-ios16.1 is compatible.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on Plugin.Firebase.DynamicLinks:

Package Downloads
Plugin.Firebase

The plugin includes cross-platform APIs for Firebase Analytics, Auth, Cloud Messaging, Crashlytics, Dynamic Links, Firestore, Cloud Functions, Remote Config and Storage.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
3.0.0 19,543 5/29/2024
2.0.1 86,531 3/31/2023
2.0.0 4,458 3/26/2023