Aracılığıyla paylaş


İzlenecek Yol - Xamarin.iOS’ta Yerel Bildirimleri Kullanma

Bu bölümde, Xamarin.iOS uygulamasında yerel bildirimlerin nasıl kullanılacağını inceleyeceğiz. Uygulama tarafından alındığında bir uyarıyı gösterecek bir bildirim oluşturma ve yayımlamanın temellerini gösterir.

Önemli

Bu bölümdeki bilgiler iOS 9 ve önceki sürümlerle ilgili, eski iOS sürümlerini desteklemek için burada bırakılmıştır. iOS 10 ve üzeri sürümler için lütfen bir iOS cihazında hem Yerel hem de Uzaktan Bildirim'i desteklemeye yönelik Kullanıcı Bildirim Çerçevesi kılavuzuna bakın.

İzlenecek yol

Yerel bildirimlerin çalıştığını gösterecek basit bir uygulama oluşturmasına izin verin. Bu uygulamanın üzerinde tek bir düğme olacak. Düğmeye tıkladığımızda yerel bir bildirim oluşturulur. Belirtilen süre dolduktan sonra bildirimin görüntülendiğini göreceğiz.

  1. Mac için Visual Studio yeni bir Tek Görünüm iOS çözümü oluşturup olarak adlandırabilirsinizNotifications.

  2. Main.storyboard Dosyayı açın ve görünüme bir düğme sürükleyin. Düğme düğmesini adlandırın ve Bildirim Ekle başlığını verin. Bu noktada düğmeye bazı kısıtlamalar ayarlamak da isteyebilirsiniz: Düğmede bazı kısıtlamalar ayarlama

  3. sınıfını ViewController düzenleyin ve ViewDidLoad yöntemine aşağıdaki olay işleyicisini ekleyin:

    button.TouchUpInside += (sender, e) =>
    {
        // create the notification
        var notification = new UILocalNotification();
    
        // set the fire date (the date time in which it will fire)
        notification.FireDate = NSDate.FromTimeIntervalSinceNow(60);
    
        // configure the alert
        notification.AlertAction = "View Alert";
        notification.AlertBody = "Your one minute alert has fired!";
    
        // modify the badge
        notification.ApplicationIconBadgeNumber = 1;
    
        // set the sound to be the default sound
        notification.SoundName = UILocalNotification.DefaultSoundName;
    
        // schedule it
        UIApplication.SharedApplication.ScheduleLocalNotification(notification);
    };
    

    Bu kod, ses kullanan bir bildirim oluşturur, simge rozetinin değerini 1 olarak ayarlar ve kullanıcıya bir uyarı görüntüler.

  4. Ardından dosyasını AppDelegate.csdüzenleyin, önce yöntemine FinishedLaunching aşağıdaki kodu ekleyin. Cihazın iOS 8 çalıştırılıp çalıştırmadığını kontrol ettik, bu durumda kullanıcının bildirim alma iznini istememiz gerekiyor :

    if (UIDevice.CurrentDevice.CheckSystemVersion (8, 0)) {
        var notificationSettings = UIUserNotificationSettings.GetSettingsForTypes (
            UIUserNotificationType.Alert | UIUserNotificationType.Badge | UIUserNotificationType.Sound, null
        );
    
        application.RegisterUserNotificationSettings (notificationSettings);
    }
    
  5. yine içinde AppDelegate.cs, bir bildirim alındığında çağrılacak aşağıdaki yöntemi ekleyin:

    public override void ReceivedLocalNotification(UIApplication application, UILocalNotification notification)
    {
        // show an alert
        UIAlertController okayAlertController = UIAlertController.Create(notification.AlertAction, notification.AlertBody, UIAlertControllerStyle.Alert);
        okayAlertController.AddAction(UIAlertAction.Create("OK", UIAlertActionStyle.Default, null));
    
        UIApplication.SharedApplication.KeyWindow.RootViewController.PresentViewController(okayAlertController, true, null);
    
        // reset our badge
        UIApplication.SharedApplication.ApplicationIconBadgeNumber = 0;
    }
    
  6. Yerel bir bildirim nedeniyle bildirimin başlatıldığı olayı işlememiz gerekir. aşağıdaki kod parçacığını içerecek şekilde içindeki yöntemini FinishedLaunchingAppDelegate düzenleyin:

    // check for a notification
    
    if (launchOptions != null)
    {
        // check for a local notification
        if (launchOptions.ContainsKey(UIApplication.LaunchOptionsLocalNotificationKey))
        {
            var localNotification = launchOptions[UIApplication.LaunchOptionsLocalNotificationKey] as UILocalNotification;
            if (localNotification != null)
            {
                UIAlertController okayAlertController = UIAlertController.Create(localNotification.AlertAction, localNotification.AlertBody, UIAlertControllerStyle.Alert);
                okayAlertController.AddAction(UIAlertAction.Create("OK", UIAlertActionStyle.Default, null));
    
                Window.RootViewController.PresentViewController(okayAlertController, true, null);
    
                // reset our badge
                UIApplication.SharedApplication.ApplicationIconBadgeNumber = 0;
            }
        }
    }
    
  7. Son olarak uygulamayı çalıştırın. iOS 8'de bildirimlere izin vermeniz istenir. Tamam'a ve ardından Bildirim ekle düğmesine tıklayın. Kısa bir duraklamadan sonra, aşağıdaki ekran görüntülerinde gösterildiği gibi uyarı iletişim kutusunu görmeniz gerekir:

    Bildirim gönderme özelliğini onaylamaBildirim Ekle düğmesiBildirim uyarısı iletişim kutusu

Özet

Bu kılavuzda, iOS'ta bildirim oluşturmak ve yayımlamak için çeşitli API'lerin nasıl kullanılacağı gösterildi. Ayrıca kullanıcıya uygulamaya özgü geri bildirim sağlamak için uygulama simgesini bir rozetle nasıl güncelleştireceklerini de göstermiştir.