Freigeben über


Erstellen Sie eine Canvas-App mit Deep-Link zu einem bestimmten Bildschirm

Ein häufiges Szenario beim Erstellen von Apps ist die Notwendigkeit, einen „Deep Link“ zu einem bestimmten Bildschirm freizugeben. Deep-Links sind nützlich, wenn Sie Benutzer direkt zu einem bestimmten Bildschirm und Daten leiten möchten, anstatt sie zu bitten, vom „Startbildschirm“ Ihrer App aus zu navigieren.

Verwenden Sie für Deep-Links in einer Power Apps diese URL-Syntax: https://apps.powerapps.com/play/{App ID}?{Query}.

In dieser Syntax:

  • App-ID—ID der App. Gehen Sie zu Power Apps > Apps > App auswählen > Details.
  • Anfrage—Der Abfragetext ermöglicht es Ihnen, die Daten für den Deep-Link bereitzustellen. Sie müssen einige Codeänderungen an Ihrer Canvas-App vornehmen, um die bereitgestellten Parameter zum Öffnen der App mit der Abfrage-URL zu verwenden.

In diesem Artikel lernen Sie Folgendes:

  • Richten Sie eine Canvas-App ein, um den Abfrageparameter zu verarbeiten.
  • Erstellen Sie eine Benutzeroberfläche zum Versenden eines Deep-Links per E-Mail direkt von einem Bildschirm Ihrer App aus.
  • Verwenden Sie die App, um zu einem bestimmten Konto zu navigieren, senden Sie eine E-Mail mit dem Deep-Link und verwenden Sie den Link aus der empfangenen E-Mail, um die App direkt mit diesem Konto zu öffnen.

Anforderungen

Erstellen der App

Eine App erstellen mithilfe von Konten-Tabellen in Microsoft Dataverse.

Ihre App wird mit BrowseScreen geöffnet, der eine Liste von Konten in einem Katalog anzeigt. Standardmäßig zeigt der Katalog eine E-Mail-Adresse, eine Stadt und einen Kontonamen an. Die App enthält auch DetailScreen und EditScreen.

Navigation aktualisieren

Jetzt stellen Sie die Navigation so ein, dass sie einen Kontext verwendet, den wir verwenden, um den Benutzer zu einem anderen Bildschirm zu führen.

  1. Auf dem BrowseScreen-Bildschirm wählen Sie Layout unter Katalogeigenschaften und dann Titel, Untertitel und Text aus.

    Kontenlistenansicht

  2. Wählen Sie den ersten Datensatz aus dem Katalog BrowseGallery aus. Geben Sie unter OnSelect Folgendes ein:

    Navigate(DetailScreen1, Fade, {accountVal:ThisItem})
    

    AccountVal festlegen

    Die Navigate()-Funktion erstellt eine Kontextvariable namens accountVal. Diese Variable wird ausgefüllt, wenn Sie einen Datensatz aus dem Katalog auswählen. Wenn Sie den Datensatz auswählen, werden Sie zum DetailScreen mit dem ausgewählten Wert (in diesem Beispiel Konto) in accountVal weitergeleitet.

  3. Erweitern Sie in der Strukturansicht auf der linken Seite des Bildschirms DetailScreen1, und wählen Sie DetailForm1 aus.

    Wählen Sie DetailForm1 aus der Strukturansicht aus.

  4. Wählen Sie im Eigenschaftenbereich auf der rechten Seite des Bildschirms Felder bearbeiten und fügen Sie Konto, Primärer Kontakt und E-Mail-Felder hinzu.

    Ansicht „Kontodetails“

  5. Wählen Sie DetailForm aus und legen Item auf accountVal fest.

    AccountVal.

  6. Speichern Sie mit dem Namen „Konto-Deep-Link“.

App-ID abrufen

App-ID ist eine eindeutige GUID, die eine bestimmte App darstellt und generiert wird, wenn Sie die App in der Cloud speichern.

Um die App-ID abzurufen, öffnen Sie eine neue Registerkarte und gehen zu Power Apps > Apps > App auswählen > Details. Weitere Informationen: Eine App-ID abrufen.

App-Details

Das Ziel dieses Beispiels ist es, die Benutzer zum DetailsScreen1 zu führen, wenn die App mit accountId-Abfrageparameter als Teil der App-URL gestartet wird. Zu diesem Zweck verwenden wir die Funktion Param(), die den Abfragezeichenfolgenparameter abruft, der beim Starten der App bereitgestellt wird.

  1. Wählen Sie App über die Strukturansicht auf der linken Seite des Bildschirms aus.

    Tipp

    Wenn Sie Power Apps Studio geschlossen haben, öffnen Sie die gespeicherte App „Konto-Deep-Link“ erneut, indem Sie die App Bearbeiten.

  2. Wählen Sie die OnStart-Eigenschaft aus der Liste der Eigenschaften.

  3. Zum Speichern des App-ID-Werts, aktualisieren Sie die OnStart-Eigenschaftsformel wie unten gezeigt.

    Set(AppID, "GUID");
    If(Not(IsBlank(Param("accountId"))),Set(accountId,Param("accountId")));
    

    In dieser Formel legt die Funktion Set() die App-ID für die GUID der App fest. Und Funktion Param() speichert den Wert in der accountId-Variable, wenn sie nicht leer ist.

    Hinweis

    Stellen Sie sicher, dass Sie „GUID“ in der obigen Formel entsprechend durch Ihre App-ID ersetzen.

    App OnStart-Formel mit Set- und Param-Funktionen.

  4. Wählen Sie die StartScreen-Eigenschaft für die App und fügen Sie Folgendes hinzu:

    If(Not(IsBlank(Param("accountId"))),DetailScreen1,BrowseScreen1)
    

    Diese Funktion prüft, ob Param leer ist, und bleibt dann auf dem BrowseScreen1. Ansonsten gehen Sie zu DetailScreen1.

    App StartScreen-Formel mit Param-Funktion zum Umleiten oder Verbleiben basierend auf dem Variablenwert

  5. Wählen Sie die Seite DetailScreen1 aus der Strukturansicht aus.

  6. Wählen Sie die OnVisible-Eigenschaft aus, und geben Sie dann Folgendes ein:

    If(Not(IsBlank(accountId)), UpdateContext({accountVal:LookUp(Accounts, Account = GUID(accountId))}))
    

    Diese Funktion verwendet die Konto-ID, die vom vorherigen Schritt gespeichert wurde, zur Einstellung der accountVal-Variable.

    DetailScreen1 mit OnVisible-Eigenschaftenformel

Ihre App ist jetzt für den Empfang von accountId als Parameter konfiguriert, der die GUID für ein Konto aus der Konten-Tabelle enthält. Und wenn dieser Parameter mit der Anfrage an die App bereitgestellt wird, öffnet die App direkt den Detailbildschirm (DetailScreen1) mit der angegebenen Konto-ID.

Um die App mit dem Parameterwert aufzurufen, müssen wir die folgende Syntax verwenden:

https://apps.powerapps.com/play/{App ID}?{Query}

In der obigen Syntax müssen wir die App-ID und die Abfrage hinzufügen, die die Konto-ID-Variable mit ihrem Wert enthält.

Wenn beispielsweise die folgende URL in einem Browser für den Beispielmandanten eingegeben wurde, wurde die App Konto-Deep-Link direkt mit dem angegebenen Konto-ID-Parameterwert geöffnet (in diesem Beispiel "A. Datum Corporation (Beispiel)"):https://apps.powerapps.com/play/061b64cd-e5a0-4a7a-a77f-b6f8586dd6c7?accountId=01e5bf81-7d44-ec11-8c60-002248094566

Beispiellink mit A. Datum Corporation (Beispiel)-Details geöffnet

Wir können auch eine Variable accountVal bereitstellen, um auf die ID des Kontos zu verweisen, anstatt den oben erläuterten absoluten Link zu verwenden, während die URL für das angegebene Konto aus der App heraus aufgerufen wird.

Zu diesem Zweck erstellen wir eine Schaltfläche und fügen die Möglichkeit hinzu, innerhalb der App eine E-Mail mit dem Deep-Link zum Detailbildschirm des ausgewählten Kontos in der Konto-Deep-Link-App aufzurufen.

  1. Wählen Sie Daten auf der linken Seite des Bildschirms aus.

  2. Wählen Sie Daten hinzufügen > Suchen und auswählen Office 365 Outlook > Verbinden auswählen.

    Hinweis

    Diese Aktion fügt die hinzu Microsoft 365 Outlook-Verbindung hinzu, damit wir die nächsten Schritte verwenden können, um das Verfassen einer E-Mail zum Teilen der Kontoinformationen aufzurufen.

  3. Wählen Sie die Seite DetailScreen1 aus der Strukturansicht aus.

  4. Fügen Sie unten rechts auf dem Bildschirm eine Schaltfläche ein und benennen Sie sie um in Konto teilen.

  5. Geben Sie für die Eigenschaft OnSelect der Schaltfläche Folgendes ein:

    Office365Outlook.SendEmailV2("Recipient", "Subject", "Here's the deep link to the selected account - https://apps.powerapps.com/play/{App ID}?accountId=" & accountVal.Account)
    

    Diese Formel verwendet den Microsoft 365-Konnektor für Outlook, um eine E-Mail mit der SendEmailV2-Operation zu senden.

    Hinweis

    Ersetzen Sie Empfänger, Betreff und AppID in der obigen Formel mit der E-Mail-Adresse des Empfängers, dem Betreff der E-Mail und der ID der App.

    Schaltfläche „Konto teilen“

  6. Speichern und Veröffentlichen der App.

Die App testen

Führen Sie die App aus und gehen Sie zum Detailbildschirm für ein beliebiges Konto. Wählen Sie dann die Schaltfläche Konto teilen aus. Die OnSelect-Schaltflächenformel löst eine E-Mail an den Empfänger mit dem zuvor konfigurierten Betreff und Text aus. Hier ist eine Beispiel-E-Mail, die von der konfigurierten App gesendet wird:

E-Mail wird über die Schaltfläche „Konto teilen“ gesendet

Öffnen Sie die E-Mail und kopieren Sie den Deep-Link, der auf das ausgewählte Konto verweist, und Sie werden direkt zum Bildschirm mit den Kontodetails in der Konto-Deep-Link-App anstelle des standardmäßigen Durchsuchen-Bildschirms weitergeleitet.

App über den Link aus der E-Mail geöffnet

Siehe auch