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
<PackageReference Include="Plugin.Firebase.DynamicLinks" Version="3.0.0" />
paket add Plugin.Firebase.DynamicLinks --version 3.0.0
#r "nuget: Plugin.Firebase.DynamicLinks, 3.0.0"
// 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
Dynamic Links
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
Install-Package Plugin.Firebase.DynamicLinks
Setup
- Follow the instructions for the basic setup
- Enable Dynamic Links at your project in the Firebase Console
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>
- For more specific instructions take a look at the official Firebase documentation
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)
fromMainActivity.OnCreate(...)
andMainActivity.OnNewIntent(...)
- Add your
MainActivity
to the<application>
tag in your appsAndroidManifest.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>
- For more specific instructions take a look at the official Firebase documentation
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 | Versions 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. |
-
net6.0
- No dependencies.
-
net6.0-android31.0
- Xamarin.Firebase.Dynamic.Links (>= 121.0.2)
-
net6.0-ios16.1
- AdamE.Firebase.iOS.DynamicLinks (>= 10.24.0-alpha1)
- System.Runtime.InteropServices.NFloat.Internal (>= 6.0.1)
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.