Megosztás a következőn keresztül:


Leküldéses értesítések hozzáadása a Windows-alkalmazáshoz

Áttekintés

Ebben az oktatóanyagban leküldéses értesítéseket ad hozzá a Windows gyors üzembe helyezési projekthez, hogy a rendszer minden rekord beszúrásakor leküldéses értesítést küldjön az eszközre.

Ha nem a letöltött gyorsindítási kiszolgálóprojektet használja, szüksége lesz a leküldéses értesítési bővítménycsomagra. További információ : A .NET háttérkiszolgálóI SDK használata az Azure Mobile Appshez .

Értesítési központ konfigurálása

A Azure App Service Mobile Apps funkciója az Azure Notification Hubs használatával küld leküldéseket, ezért egy értesítési központot fog konfigurálni a mobilalkalmazáshoz.

  1. A Azure Portal nyissa meg az App Servicest, majd válassza ki az alkalmazás háttérrendszerét. A Beállítások területen válassza a Leküldés lehetőséget.

  2. Ha értesítési központ-erőforrást szeretne hozzáadni az alkalmazáshoz, válassza a Csatlakozás lehetőséget. Létrehozhat egy központot, vagy csatlakozhat egy meglévőhöz.

    Központ konfigurálása

Most már csatlakoztatott egy értesítési központot a Mobile Apps háttérprojektjéhez. Később úgy konfigurálja ezt az értesítési központot, hogy egy platformértesítési rendszerhez (PNS) csatlakozzon az eszközökre való leküldéshez.

Alkalmazás regisztrálása leküldéses értesítésekhez

Be kell küldenie az alkalmazást a Microsoft Store-ba, majd konfigurálnia kell a kiszolgálóprojektet úgy, hogy integrálva legyen a Windows leküldéses értesítési szolgáltatásokkal (WNS) a leküldéses küldéshez.

  1. A Visual Studio Megoldáskezelő kattintson a jobb gombbal az UWP-alkalmazásprojektre, majd kattintson az Áruházbeli>alkalmazás társítása az Áruházhoz... parancsra.

    Alkalmazás társítása a Microsoft Store-ral

  2. A varázslóban kattintson a Tovább gombra, jelentkezzen be Microsoft-fiókjával, írja be az alkalmazás nevét az Új alkalmazás lefoglalása mezőbe, majd kattintson a Foglalás gombra.

  3. Az alkalmazásregisztráció sikeres létrehozása után válassza ki az új alkalmazás nevét, kattintson a Tovább gombra, majd a Társítás gombra. Ezzel hozzáadja a szükséges Microsoft Store regisztrációs adatokat az alkalmazásjegyzékhez.

  4. Lépjen az alkalmazásregisztrációs portálra , és jelentkezzen be Microsoft-fiókjával. Kattintson az előző lépésben társított Windows Áruházbeli alkalmazásra.

  5. A regisztrációs oldalon jegyezze fel az alkalmazás titkos kódjai és a csomag biztonsági azonosítója alatti értéket, amelyet a következő lépésben a mobilalkalmazás háttérrendszerének konfigurálásához fog használni.

    Alkalmazás társítása a Microsoft Store-ral

    Fontos

    A titkos ügyfélkulcs és a csomag biztonsági azonosítója fontos biztonsági hitelesítő adatok. Ezeket az értékeket ne ossza meg senkivel, és ne terjessze az alkalmazással. Az alkalmazásazonosítót a titkos kóddal együtt használjuk a Microsoft-fiók hitelesítésének konfigurálásához.

Az App Center útmutatást is tartalmaz az UWP-alkalmazások leküldéses értesítésekhez való konfigurálásához.

A háttérrendszer konfigurálása leküldéses értesítések küldésére

  1. A Azure Portal válassza az Összes >App Servicestallózásalehetőséget. Ezután válassza ki a Mobile Apps háttérrendszerét. A Beállítások területen válassza a App Service Leküldés lehetőséget. Ezután válassza ki az értesítési központ nevét.

  2. Nyissa meg a Windowst (WNS). Ezután adja meg a biztonsági kulcsot (titkos ügyfélkulcsot) és a csomag biztonsági azonosítóját, amelyet a Live Services helyről szerzett be. Ezután válassza a Mentés lehetőséget.

    A WNS-kulcs beállítása a portálon

A háttérrendszer most már úgy van konfigurálva, hogy a WNS használatával küldjön leküldéses értesítéseket.

A kiszolgáló frissítése leküldéses értesítések küldéséhez

Használja az alábbi eljárást, amely megfelel a háttérprojekt típusának – a .NET-háttérrendszernek vagy Node.js háttérrendszernek.

.NET-háttérprojekt

  1. A Visual Studióban kattintson a jobb gombbal a kiszolgálóprojektre, és válassza a Manage NuGet Packages (NuGet-csomagok kezelése) parancsot, keresse meg a Microsoft.Azure.NotificationHubs elemet, majd kattintson a Telepítés parancsra. Ezzel telepíti a Notification Hubs ügyféloldali kódtárát.

  2. Bontsa ki a Vezérlők elemet, nyissa meg a TodoItemController.cs fájlt, és adja hozzá a következő using utasításokat:

    using System.Collections.Generic;
    using Microsoft.Azure.NotificationHubs;
    using Microsoft.Azure.Mobile.Server.Config;
    
  3. A PostTodoItem metódusban adja hozzá a következő kódot az InsertAsync hívása után:

    // Get the settings for the server project.
    HttpConfiguration config = this.Configuration;
    MobileAppSettingsDictionary settings =
        this.Configuration.GetMobileAppSettingsProvider().GetMobileAppSettings();
    
    // Get the Notification Hubs credentials for the Mobile App.
    string notificationHubName = settings.NotificationHubName;
    string notificationHubConnection = settings
        .Connections[MobileAppSettingsKeys.NotificationHubConnectionString].ConnectionString;
    
    // Create the notification hub client.
    NotificationHubClient hub = NotificationHubClient
        .CreateClientFromConnectionString(notificationHubConnection, notificationHubName);
    
    // Define a WNS payload
    var windowsToastPayload = @"<toast><visual><binding template=""ToastText01""><text id=""1"">"
                            + item.Text + @"</text></binding></visual></toast>";
    try
    {
        // Send the push notification.
        var result = await hub.SendWindowsNativeNotificationAsync(windowsToastPayload);
    
        // Write the success result to the logs.
        config.Services.GetTraceWriter().Info(result.State.ToString());
    }
    catch (System.Exception ex)
    {
        // Write the failure result to the logs.
        config.Services.GetTraceWriter()
            .Error(ex.Message, null, "Push.SendAsync Error");
    }
    

    Ez a kód arra utasítja az értesítési központot, hogy küldjön leküldéses értesítést egy új elem beszúrása után.

  4. Tegye közzé újra a kiszolgálóprojektet.

Node.js háttérprojekt

  1. Állítsa be a háttérprojektet.

  2. Cserélje le a todoitem.js fájlban lévő kódot a következőre:

    var azureMobileApps = require('azure-mobile-apps'),
    promises = require('azure-mobile-apps/src/utilities/promises'),
    logger = require('azure-mobile-apps/src/logger');
    
    var table = azureMobileApps.table();
    
    table.insert(function (context) {
    // For more information about the Notification Hubs JavaScript SDK,
    // see https://aka.ms/nodejshubs
    logger.info('Running TodoItem.insert');
    
    // Define the WNS payload that contains the new item Text.
    var payload = "<toast><visual><binding template=\ToastText01\><text id=\"1\">"
                                + context.item.text + "</text></binding></visual></toast>";
    
    // Execute the insert.  The insert returns the results as a Promise,
    // Do the push as a post-execute action within the promise flow.
    return context.execute()
        .then(function (results) {
            // Only do the push if configured
            if (context.push) {
                // Send a WNS native toast notification.
                context.push.wns.sendToast(null, payload, function (error) {
                    if (error) {
                        logger.error('Error while sending push notification: ', error);
                    } else {
                        logger.info('Push notification sent successfully!');
                    }
                });
            }
            // Don't forget to return the results from the context.execute()
            return results;
        })
        .catch(function (error) {
            logger.error('Error while running context.execute: ', error);
        });
    });
    
    module.exports = table;
    

    Ez egy WNS bejelentési értesítést küld, amely tartalmazza az item.text szöveget egy új teendőelem beszúrásakor.

  3. Amikor a helyi számítógépen szerkeszti a fájlt, tegye közzé újra a kiszolgálóprojektet.

Leküldéses értesítések hozzáadása az alkalmazáshoz

Ezután az alkalmazásnak regisztrálnia kell a leküldéses értesítésekre az indításkor. Ha már engedélyezte a hitelesítést, győződjön meg arról, hogy a felhasználó bejelentkezik, mielőtt megpróbálna leküldéses értesítésekre regisztrálni.

  1. Nyissa meg az App.xaml.cs projektfájlt, és adja hozzá a következő using utasításokat:

    using System.Threading.Tasks;
    using Windows.Networking.PushNotifications;
    
  2. Ugyanebben a fájlban adja hozzá a következő InitNotificationsAsync metódusdefiníciót az alkalmazásosztályhoz :

    private async Task InitNotificationsAsync()
    {
        // Get a channel URI from WNS.
        var channel = await PushNotificationChannelManager
            .CreatePushNotificationChannelForApplicationAsync();
    
        // Register the channel URI with Notification Hubs.
        await App.MobileService.GetPush().RegisterAsync(channel.Uri);
    }
    

    Ez a kód lekéri az alkalmazás ChannelURI-azonosítóját a WNS-ből, majd regisztrálja a ChannelURI-t a App Service Mobile Appban.

  3. Az App.xaml.csonLaunched eseménykezelőjének tetején adja hozzá az aszinkron módosítót a metódusdefinícióhoz, és adja hozzá a következő hívást az új InitNotificationsAsync metódushoz, az alábbi példához hasonlóan:

    protected async override void OnLaunched(LaunchActivatedEventArgs e)
    {
        await InitNotificationsAsync();
    
        // ...
    }
    

    Ez garantálja, hogy a rövid élettartamú ChannelURI az alkalmazás minden indításakor regisztrálva lesz.

  4. Építse újra az UWP-alkalmazásprojektet. Az alkalmazás készen áll bejelentési értesítéseket fogadni.

Leküldéses értesítések tesztelése az alkalmazásban

  1. Kattintson a jobb gombbal a Windows Áruházbeli projektre, kattintson a Beállítás kezdőprojektként parancsra, majd nyomja le az F5 billentyűt a Windows Áruházbeli alkalmazás futtatásához.

    Az alkalmazás elindítása után az eszköz regisztrálva lesz a leküldéses értesítésekhez.

  2. Állítsa le a Windows Áruházbeli alkalmazást, és ismételje meg az előző lépést a Windows Phone-telefon Store-alkalmazással.

    Ezen a ponton mindkét eszköz regisztrálva van a leküldéses értesítések fogadásához.

  3. Futtassa újra a Windows Áruházbeli alkalmazást, írja be a szöveget a Teendőlista beszúrása mezőbe, majd kattintson a Mentés gombra.

    Vegye figyelembe, hogy a beszúrás befejezése után a Windows Áruház és a Windows Phone-telefon alkalmazások is leküldéses értesítést kapnak a WNS-től. Az értesítés akkor is megjelenik Windows Phone-telefon, ha az alkalmazás nem fut.

Következő lépések

További információ a leküldéses értesítésekről:

Folytassa a következő oktatóanyagok egyikével:

  • Hitelesítés hozzáadása alkalmazáshoz Ismerje meg, hogyan hitelesítheti az alkalmazás felhasználóit egy identitásszolgáltatóval.
  • Offline szinkronizálás engedélyezése az alkalmazáshoz Megtudhatja, hogyan adhat offline támogatást az alkalmazáshoz mobilalkalmazás-háttérrendszer használatával. Az offline szinkronizálással a végfelhasználók akkor is használhatják a mobilalkalmazásokat – az adatok megtekintését, hozzáadását vagy módosítását –, ha nincs hálózati kapcsolat.