Flutter - Push Notification

Push bildirim izni istemek ve izine onay verildikten sonra token'ı yakalamak için alttaki satırları çalıştırın.

  • Kullanıcıdan push bildirimleri göndermek için izin istemek yerine, uygulamanız geçici yetkilendirme isteyebilir. 
    Geçici yetkilendirmeyi etkinleştirmek içinrequestPermission methodu içerisine isProvisional parametresini true olarak ayarlamalısınız(Provisional push yalnızca iOS platformunda desteklenmektedir)

String token = '-'; void _getTokenCallback(RDTokenResponseModel result) { if(result != null && result.deviceToken != null && result.deviceToken.isNotEmpty) { setState(() { token = result.deviceToken; }); } else { setState(() { token = 'Token not retrieved'; }); } } Future<void> requestPermission() async { await relatedDigitalPlugin.requestPermission(_getTokenCallback, isProvisional: true); }

 

Rich Push Notifications

Resimli, butonlu ve rozetli bildirimler alabilmek için aşağıdaki adımları takip ediniz.

  • Xcode'da yeni bir Notification Service Extension hedefi ekleyin ve bunu NotificationService olarak adlandırın.

  • Pod dosyanıza aşağıdaki bölümü ekleyin ve ardından pod install çalıştırın.

    target 'NotificationService' do use_frameworks! pod 'Euromsg' end post_install do |installer| installer.pods_project.targets.each do |target| flutter_additional_ios_build_settings(target) target.build_configurations.each do |config| config.build_settings['APPLICATION_EXTENSION_API_ONLY'] = 'No' end end end

     

  • NotificationService hedefinin dağıtım hedefini iOS 11 olarak ayarlayın.

  • NotificationService.swift dosya içeriğini aşağıdaki kodla değiştirin.

    import UserNotifications import Euromsg class NotificationService: UNNotificationServiceExtension { var contentHandler: ((UNNotificationContent) -> Void)? var bestAttemptContent: UNMutableNotificationContent? override func didReceive(_ request: UNNotificationRequest, withContentHandler contentHandler: @escaping (UNNotificationContent) -> Void) { self.contentHandler = contentHandler bestAttemptContent = (request.content.mutableCopy() as? UNMutableNotificationContent) Euromsg.didReceive(bestAttemptContent, withContentHandler: contentHandler) } override func serviceExtensionTimeWillExpire() { // Called just before the extension will be terminated by the system. // Use this as an opportunity to deliver your "best attempt" at modified content, otherwise the original push payload will be used. if let contentHandler = contentHandler, let bestAttemptContent = bestAttemptContent { Euromsg.didReceive(bestAttemptContent, withContentHandler: contentHandler) } } }

 

Carousel Push Notifications

Carousel push bildirimleri alabilmek için aşağıdaki adımları izleyin.

  • Xcode'da yeni bir Notification Content Extension hedefi ekleyin ve bunu NotificationContent olarak adlandırın.

  • Pod dosyanıza aşağıdaki bölümü ekleyin ve ardından pod install çalıştırın.

     

  • NotificationContent hedefinin dağıtım hedefini iOS 11 olarak ayarlayın.

  • MainInterface.storyboard ve NotificationContent.swift dosyalarını silin. Ardından, NotificationContent klasörü altında EMNotificationViewController.swift adlı bir Swift dosyası oluşturun.

  • EMNotificationViewController.Swift dosya içeriğini aşağıdaki kodla değiştirin.

     

  • NotificationContent/Info.plist'inize aşağıdaki bölümü ekleyin.

 

Geofencing

Kullanıcılarınızı lokasyon bazlı takip edip önceden belirlediğiniz alanlara girdiklerinde push bildirim atabilirsiniz. Bunu kullanmak için alttaki adımları takip edin.

iOS

  • Xcode'da, Info.plist dosyasına NSLocationAlwaysAndWhenInUseUsageDescription ve NSLocationWhenInUseUsageDescription anahtarlarını ekleyin.

  • Xcode'da, background modlarından Background fetch ve Location updates modlarını etkinleştirin.

  • Eklentiyi başlatırken geofenceEnabled değerini true olarak ayarlayın. Ayrıca maxGeofenceCount parametresi için bir sayı sağlayın (maks. 20 desteklenir).

Android

  • AndroidManifest.xml dosyanıza aşağıdaki izinleri ekleyin

     

  • AndroidManifest.xml dosyanıza aşağıdaki hizmeti ve alıcıları ekleyin

 

Set Push Permit

Uygulama için push bildirimlerini etkinleştirmek veya devre dışı bırakmak için yalnızca setNotificationPermission yöntemini çağırabilirsiniz.

 

Copyright 2020 Related Digital