Öğretici: Azure Notification Hubs'ı kullanarak anında iletme bildirimleri için Windows Phone uygulamalarıTutorial: Push notifications to Windows Phone apps by using Azure Notification Hubs

Bu öğreticide, bir Windows Phone 8 veya Windows Phone 8.1 Silverlight uygulamalarına anında iletme bildirimleri göndermek için Azure Notification Hubs'ın nasıl kullanılacağı gösterilmektedir.This tutorial shows you how to use Azure Notification Hubs to send push notifications to a Windows Phone 8 or Windows Phone 8.1 Silverlight applications. Windows Phone 8.1’i (Silverlight olmayan) hedefliyorsanız bu öğreticinin Windows Evrensel sürümüne bakın.If you are targeting Windows Phone 8.1 (non-Silverlight), see the Windows Universal version of this tutorial.

Bu öğreticide, Microsoft Anında İletme Bildirimi Hizmeti'ni (MPNS) kullanarak anında iletme bildirimleri alan boş bir Windows Phone 8 uygulaması oluşturursunuz.In this tutorial, you create a blank Windows Phone 8 app that receives push notifications by using the Microsoft Push Notification Service (MPNS). Uygulamayı oluşturduktan sonra, uygulamanızı çalıştıran tüm cihazlara anında iletme bildirimleri yayımlamak için bildirim hub’ınızı kullanırsınız.After you create the app, you use your notification hub to broadcast push notifications to all the devices running your app.

Not

Notification Hubs Windows Phone SDK'sı, Windows Anında Bildirim Hizmeti'ni (WNS) Windows Phone 8.1 Silverlight uygulamaları ile kullanmayı desteklemez.The Notification Hubs Windows Phone SDK does not support using the Windows Push Notification Service (WNS) with Windows Phone 8.1 Silverlight apps. WNS'yi (MPNS yerine) Windows Phone 8.1 Silverlight uygulamaları ile kullanmak için REST API'ler kullanan Notification Hubs - Windows Phone Silverlight öğreticisi'ni izleyin.To use WNS (instead of MPNS) with Windows Phone 8.1 Silverlight apps, follow the Notification Hubs - Windows Phone Silverlight tutorial, which uses REST APIs.

Bu öğreticide şunların nasıl yapıldığını öğreneceksiniz:In this tutorial, you learn how to:

  • Bildirim hub’ı oluşturmaCreate a notification hub
  • Windows Phone uygulaması oluşturmaCreate a Windows Phone application
  • Bildirim test gönderimiTest send a notification

ÖnkoşullarPrerequisites

Bu öğreticiyi tamamlamak Windows Phone 8 uygulamalarına ilişkin diğer tüm Notification Hubs öğreticileri için önkoşuldur.Completing this tutorial is a prerequisite for all other Notification Hubs tutorials for Windows Phone 8 apps.

Bildirim hub'ınızı oluşturmaCreate your notification hub

  1. Azure Portal oturum açın.Sign in to the Azure portal.

  2. Seçin tüm hizmetleri sol menüsünü ve ardından Notification hubs'ı içinde mobil bölümü.Select All services on the left menu, and then select Notification Hubs in the Mobile section. Yıldız simgesini hizmetine eklemek için hizmet adının yanındaki Sık Kullanılanlar sol menüde bölümü.Select the star icon next to the service name to add the service to the FAVORITES section on the left menu. Siz ekledikten sonra Notification hubs'ı için Sık Kullanılanlar, sol taraftaki menüde seçin.After you add Notification Hubs to FAVORITES, select it on the left menu.

    Azure portalı - bildirim hub'ları seçin

  3. Üzerinde Notification hubs'ı sayfasında Ekle araç.On the Notification Hubs page, select Add on the toolbar.

    Bildirim hub'ları - ekleme araç çubuğu düğmesi

  4. Üzerinde bildirim hub'ı sayfasında, aşağıdaki adımları uygulayın:On the Notification Hub page, do the following steps:

    1. Bir ad girin bildirim hub'ı.Enter a name in Notification Hub.

    2. Bir ad girin yeni bir ad alanı oluşturma.Enter a name in Create a new namespace. Bir ad alanı, hub'ları bir veya daha fazla içerir.A namespace contains one or more hubs.

    3. Bir değer seçerek konumu aşağı açılan liste kutusu.Select a value from the Location drop-down list box. Bu değer, hub'ı oluşturmak istediğiniz konumu belirtir.This value specifies the location in which you want to create the hub.

    4. Mevcut bir kaynak grubunda seçin kaynak grubu, ya da yeni bir kaynak grubu için bir ad oluşturun.Select an existing resource group in Resource Group, or create a name for a new resource group.

    5. Oluştur’u seçin.Select Create.

      Azure portalı - Bildirim hub'ı özelliklerini ayarlama

  5. Seçin bildirimleri (zil simgesi) seçip kaynağa Git.Select Notifications (the bell icon), and then select Go to resource. Üzerinde listeyi yenileyebilirsiniz Notification hubs'ı sayfasında ve hub'ınızı seçin.You can also refresh the list on the Notification Hubs page and select your hub.

    Azure portalı - bildirimler -> Kaynağa git

  6. Listeden Erişim İlkeleri'ni seçin.Select Access Policies from the list. İki bağlantı dizesini sizin için kullanılabilir olduğunu unutmayın.Note that the two connection strings are available to you. Bunları daha sonra anında iletme bildirimleri işlemek için gerekir.You'll need them later to handle push notifications.

    Önemli

    Yapmak değil kullanın DefaultFullSharedAccessSignature uygulamanızdaki ilkesi.Do not use the DefaultFullSharedAccessSignature policy in your application. Bu, yalnızca, arka uç kullanılmak üzere tasarlanmıştır.This is meant to be used in your back end only.

    Azure portalı - Bildirim hub'ı bağlantı dizeleri

Windows Phone (MPNS) ayarlarını yapılandırmaConfigure Windows Phone (MPNS) settings

  1. BİLDİRİM AYARLARI bölümünden Windows Phone (MPNS) seçeneğini belirleyin.Select Windows Phone (MPNS) under NOTIFICATION SETTINGS.

  2. Kimlik doğrulama anında iletme bildirimini etkinleştir’i seçin.Select Enable authentication push.

  3. Araç çubuğunda Kaydet’i seçin.Select Save on the toolbar.

    Azure portalı - Kimliği doğrulanmamış anında iletme bildirimlerini etkinleştirme

    Hub'ınız şimdi oluşturuldu ve Windows Phone için kimliği doğrulanmamış bildirim göndermek üzere yapılandırıldı.Your hub is now created and configured to send unauthenticated notification for Windows Phone.

    Not

    Bu öğretici, MPNS'yi kimlik doğrulamasız modda kullanır.This tutorial uses MPNS in unauthenticated mode. MPNS kimlik doğrulamasız mod, her bir kanala gönderebileceğiniz bildirimlerle ilgili kısıtlamalara sahiptir.MPNS unauthenticated mode comes with restrictions on notifications that you can send to each channel. Notification Hubs, sertifikanızı karşıya yüklemenize olanak sağlayarak MPNS kimlik doğrulamalı mod'u destekler.Notification Hubs supports MPNS authenticated mode by allowing you to upload your certificate.

Windows Phone uygulaması oluşturmaCreate a Windows Phone application

Bu bölümde, bildirim hub’ınıza kendi kendine kaydolan bir Windows Phone uygulaması oluşturursunuz.In this section, you create a Windows Phone application that registers itself with your notification hub.

  1. Visual Studio'da yeni bir Windows Phone 8 uygulaması oluşturun.In Visual Studio, create a new Windows Phone 8 application.

    Visual Studio - Yeni Proje - Windows Phone Uygulaması

    Visual Studio 2013 Güncelleştirme 2 veya sonrasında, bunun yerine Windows Phone Silverlight uygulaması oluşturursunuz.In Visual Studio 2013 Update 2 or later, you instead create a Windows Phone Silverlight application.

    Visual Studio - Yeni Proje - Boş Uygulama - Windows Phone Silverlight

  2. Visual Studio'da çözüme sağ tıklayın ve ardından NuGet Paketlerini Yönet'e tıklayın.In Visual Studio, right-click the solution, and then click Manage NuGet Packages.

  3. WindowsAzure.Messaging.Managed için arama yapın ve Yükle'ye tıklayın, ardından kullanım koşullarını kabul edin.Search for WindowsAzure.Messaging.Managed and click Install, and then accept the terms of use.

    Visual Studio - NuGet Paket Yöneticisi

  4. App.xaml.cs dosyasını açın ve aşağıdaki using deyimlerini ekleyin:Open the file App.xaml.cs and add the following using statements:

     using Microsoft.Phone.Notification;
     using Microsoft.WindowsAzure.Messaging;
    
  5. Üstüne aşağıdaki kodu ekleyin Application_Launching yönteminde App.xaml.cs:Add the following code at the top of Application_Launching method in App.xaml.cs:

    private void Application_Launching(object sender, LaunchingEventArgs e)
    {
    
        var channel = HttpNotificationChannel.Find("MyPushChannel");
        if (channel == null)
        {
            channel = new HttpNotificationChannel("MyPushChannel");
            channel.Open();
            channel.BindToShellToast();
        }
    
        channel.ChannelUriUpdated += new EventHandler<NotificationChannelUriEventArgs>(async (o, args) =>
        {
            var hub = new NotificationHub("<hub name>", "<connection string>");
            var result = await hub.RegisterNativeAsync(args.ChannelUri.ToString());
    
            System.Windows.Deployment.Current.Dispatcher.BeginInvoke(() =>
            {
                MessageBox.Show("Registration :" + result.RegistrationId, "Registered", MessageBoxButton.OK);
            });
        });
    }
    

    Not

    Değer MyPushChannel var olan bir kanalı aramak için kullanılan bir dizindir HttpNotificationChannel koleksiyonu.The value MyPushChannel is an index that is used to lookup an existing channel in the HttpNotificationChannel collection. Bu koleksiyonda bir tane bulunmuyorsa bu adla yeni bir giriş oluşturun.If there isn't one there, create a new entry with that name.

    Hub'ınıza ve bağlantı dizesi adı Ekle DefaultListenSharedAccessSignature önceki bölümde not ettiğiniz.Insert the name of your hub and the connection string called DefaultListenSharedAccessSignature that you noted in the previous section. Bu kod, MPNS'den uygulamanın kanal URI'sini alır ve ardından bu kanal URI'sini bildirim hub'ınıza kaydeder.This code retrieves the channel URI for the app from MPNS, and then registers that channel URI with your notification hub. Bu kod ayrıca uygulama her başlatıldığında kanal URI'sinin bildirim hub'ınıza kaydedilmesini garanti eder.It also guarantees that the channel URI is registered in your notification hub each time the application is launched.

    Not

    Bu öğretici cihaza bir bildirim gönderir.This tutorial sends a toast notification to the device. Bir kutucuk bildirimi gönderdiğinizde, bunun yerine çağırmalısınız BindToShellTile kanalındaki yöntemi.When you send a tile notification, you must instead call the BindToShellTile method on the channel. Her iki bildirim desteklemek ve kutucuk bildirimlerinin için her ikisi de arama BindToShellTile ve BindToShellToast.To support both toast and tile notifications, call both BindToShellTile and BindToShellToast.

  6. Çözüm Gezgini'nde Özellikler'i genişletin, WMAppManifest.xml dosyasını açın, Özellikler sekmesine tıklayın ve ID_CAP_PUSH_NOTIFICATION özelliğinin işaretlendiğinden emin olun.In Solution Explorer, expand Properties, open the WMAppManifest.xml file, click the Capabilities tab, and make sure that the ID_CAP_PUSH_NOTIFICATION capability is checked. Uygulamanız artık anında iletme bildirimleri alabilir.Your app can receive push notifications now.

    Visual Studio - Windows Phone Uygulaması Özellikleri

  7. Uygulamayı çalıştırmak için F5 tuşuna basın.Press the F5 key to run the app. Uygulamada bir kayıt iletisi görüntülenir.A registration message is displayed in the app.

  8. Uygulamayı kapatın veya giriş sayfasına geçin.Close the app or switch to the home page.

    Not

    Bildirim biçiminde bir anında iletme bildirimi almak için uygulamanın ön planda çalışmıyor olması gerekir.To receive a toast push notification, the application must not be running in the foreground.

Bildirim test gönderimiTest send a notification

  1. Azure portalında Genel Bakış sekmesine geçin.In the Azure portal, switch to the Overview tab.

  2. Test Gönderimi’ni seçin.Select Test Send.

    Test Gönderimi düğmesi

  3. Test Gönderimi penceresinde aşağıdaki adımları uygulayın:In the Test Send window, take the following steps:

    1. Platformlar için Windows Phone’u seçin.For Platforms, select Windows Phone.

    2. Bildirim Türü için Bildirim’i seçin.For Notification Type, select Toast.

    3. Gönder’i seçinSelect Send

    4. Pencerenin en altındaki listedesonucu görürsünüz.See the result in the list at the bottom of the window.

      Test Gönderimi penceresi

  4. Windows Phone öykünücüsünde veya Windows Phone üzerinde bildirim iletisini gördüğünüzü onaylayın.In the Windows Phone emulator or on the Windows phone, confirm that you see the notification message.

    Windows Phone üzerinde bildirim

Sonraki adımlarNext steps

Bu basit örnekte, tüm Windows Phone 8 cihazlarınıza anında iletme bildirimleri yayımladınız.In this simple example, you broadcasted push notifications to all your Windows Phone 8 devices. Belirli cihazlara nasıl anında iletme bildirimleri gönderileceğini öğrenmek için aşağıdaki öğreticiye ilerleyin:Advance to the following tutorial to learn how to push notifications to specific devices: