Erste Schritte

Benutzergeheimnisse Das App-Template arbeitet mit Benutzergeheimissen (User Secrets). Dies ist eine empfohlene Methode um zu vermeiden, dass Passwörter, Lizenzen und API-Schlüssel direkt im Quell-Code auffindbar sind. Dazu wird eine JSON-Datei auf dem PC abgelegt, welche alle nötigen Schlüssel enthält. Im Quellcode wird dann diese Datei eingelesen und die Schlüssel geladen. Format der secrets.json-Datei Das Format…

Image Description

Benutzergeheimnisse

Das App-Template arbeitet mit Benutzergeheimissen (User Secrets). Dies ist eine empfohlene Methode um zu vermeiden, dass Passwörter, Lizenzen und API-Schlüssel direkt im Quell-Code auffindbar sind. Dazu wird eine JSON-Datei auf dem PC abgelegt, welche alle nötigen Schlüssel enthält. Im Quellcode wird dann diese Datei eingelesen und die Schlüssel geladen.

Format der secrets.json-Datei

Das Format muss wie folgt aussehen:

{
  "AppBasement": {
    "SyncfusionApiKey": "your_key",
    "AppCenterKeyiOS": "your_key",
    "AppCenterKeyAndroid": "your_key",
    "FirebaseUri": "https://xxx.firebaseio.com",
    "FirebaseSecret": "",
    "FirebaseApiKey": "your_key",
    "FirebaseAuthDomain": "xxxx.firebaseapp.com",
    "LicenseManagerProductCode": "xxxx"
  }
}

Beim ersten Start mit Visual Studio 2022 oder neuer, muss diese Datei erstellt werden. Wähle dazu im Projektmappen-Explorer mit der rechten Maustaste „Benutzergeheimisse verwalten“ an. Dies öffnet die secrets.json-Datei.

Manage user secrets in Visual Studio

Anschließend kopiert das Template von oben in die Datei und tauscht die Platzhalter-Schlüssel mit euren eigenen aus.

Syncfusion

Um das komplette Potential des App-Templates nutzen zu können, ist eine separate Lizenz von Syncfusion nötig. Für kleine Unternehmen und Einzelpersonen kann eine kostenlose Community-Lizenz beantragt werden.

Sobald Ihr Zugriff erhalten habt, könnt Ihr einen Lizenzschlüssel erstellen und in der secrets.json eintragen.

AppCenter

Die App, bzw. unser EventManager arbeitet zusätzlich mit AppCenter und kann Ereignisse in AppCenter loggen. Es ist empfohlen, dein App-Projekt ebenfalls in AppCenter zu verwalten und deine Schlüssel dort einzutragen.

Funktionen aktivieren bzw. deaktivieren

Das App-Template bietet einige Funktionen, welche nicht in jeder App benötigt werden. Diese sind standardmäßig deaktiviert und können in der Projektdatei aktiviert werden.

		<!-- Enables optional parts of the app template-->
		<DefineConstants>$(DefineConstants);Firebase;FirebaseAuth</DefineConstants>
		<DefineConstants>$(DefineConstants);License</DefineConstants>
		<DefineConstants>$(DefineConstants);AppCenter</DefineConstants>

Dazu müssen die jeweiligen Konstanten einfach aus dem Kommentartag <!-- --> herausgenommen werden. Gewissen Funktionen benötigen zusätzliche Nugets bzw. weitere Anpassungen. Mehr dazu findest du unter den jeweiligen Funktionspunkten, welche folgen.

AppCenter

Für die AppCenter-Integration nutzen wir folgende Nugets, welche hinzugefügt werden müssen, sobald du die AppCenter-Funktionen nutzen möchtest.

	  <!-- Needed for AppCenter -->
	  <PackageReference Include="Microsoft.AppCenter" Version="5.0.3" />
	  <PackageReference Include="Microsoft.AppCenter.Analytics" Version="5.0.3" />
	  <PackageReference Include="Microsoft.AppCenter.Crashes" Version="5.0.3" />

Des Weiteren, vergewissere dich, dass du die nötigen Schlüssel in der secrets.json-Datei setzt!

Firebase

Für die Firebase-Integration nutzen wir folgende Nugets, welche hinzugefügt werden müssen, sobald du die Firebase-Funktionen nutzen möchtest.

	  <!-- Needed for Firebase -->
	  <PackageReference Include="FirebaseAuthentication.net" Version="4.1.0" />
	  <PackageReference Include="FirebaseDatabase.net" Version="4.2.0" />
AppShell

Entferne den Firebase Kommentar in der AppShell um den Menüpunkt zu aktivieren, welcher den Account verwaltet.

<!-- Firebase -->
<MenuItem 
    Text="{x:Static localization:Strings.Account}" 
    Command="{Binding ShowFirebaseAccountCommand}"
    >
    <MenuItem.IconImageSource>
        <FontImageSource
            FontFamily="{StaticResource FontIcons}"
            Glyph="{x:Static iconsSyncfusion:SyncfusionIcons.Account}"
            Color="{DynamicResource PrimaryColor}"
            Size="Large"
            >
        </FontImageSource>
    </MenuItem.IconImageSource>
</MenuItem>

Des Weiteren, vergewissere dich, dass du die nötigen Schlüssel in der secrets.json-Datei setzt!

Lizenz

Für die Lizenz-Integration nutzen wir folgendes Nuget, welche hinzugefügt werden muss, sobald du die Lizenz-Funktionen nutzen möchtest.

	  <!-- Needed for licensing -->
	  <PackageReference Include="SharedMauiCoreLibrary.Licensing" Version="1.1.1" />
AppShell

Entferne den License Kommentar in der AppShell um den Menüpunkt zu aktivieren, welcher die Lizenz verwaltet.

    <!-- License -->
    <MenuItem 
        Text="{x:Static localization:Strings.License}" 
        Command="{Binding ShowLicenseDetailsPageCommand}"
        >
        <MenuItem.IconImageSource>
            <FontImageSource
                FontFamily="{StaticResource MaterialDesignIcons}"
                Glyph="{x:Static icons:MaterialIcons.AccountKeyOutline}"
                Color="{DynamicResource PrimaryColor}"
                Size="Large"
                >
            </FontImageSource>
        </MenuItem.IconImageSource>
    </MenuItem>
   

Des Weiteren, vergewissere dich, dass du die nötigen Schlüssel in der secrets.json-Datei setzt!

War dieser Artikel hilfreich für Sie?

Ja Nein

Verwandte Artikel