Показать гиперссылку в удаленном уведомлении с сообщением - PullRequest
6 голосов
/ 20 января 2020

Мне нужно показать гиперссылку в моем удаленном уведомлении вместе с заголовком и телом. Я сделал что-то вроде этого:

@IBAction func openPDFButtonPressed(_ sender: Any) {
    self.scheduleNotification()         
}

func scheduleNotification() {
    let center = UNUserNotificationCenter.current()

    let content = UNMutableNotificationContent()
    content.title = "Download The Receipt"
    content.body = "Kindly Download your purchase bill"
    content.categoryIdentifier = "PDF"
    content.userInfo = ["customData": "http://www.pdf995.com/samples/pdf.pdf"]
    content.sound = UNNotificationSound.default

    var dateComponents = DateComponents()
    dateComponents.hour = 10
    dateComponents.minute = 30
    let trigger = UNTimeIntervalNotificationTrigger(timeInterval: 5, repeats: false)

    let request = UNNotificationRequest(identifier: UUID().uuidString, content: content, trigger: trigger)
    center.add(request)
}  

func userNotificationCenter(_ center: UNUserNotificationCenter, didReceive response: UNNotificationResponse, withCompletionHandler completionHandler: @escaping () -> Void) {
    // pull out the buried userInfo dictionary
    let userInfo = response.notification.request.content.userInfo
    print("Test: \(userInfo)")

    if let customData = userInfo["customData"] as? String {
        print("Custom data received: \(customData)")


        let storyBoard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
        let newViewController = storyBoard.instantiateViewController(withIdentifier: "PDFViewController") as! PDFViewController
        newViewController.strURL = customData
        self.present(newViewController, animated: true, completion: nil)
    }
    completionHandler()
}

sample for hyper link

В этом я посылаю URL в информации о пользователе, но мне нужно этот URL-адрес как гиперссылка, которая показывает, когда появляется уведомление. и когда я нажимаю на эту гиперссылку, он открывает этот URL в webView. Загрузка URL в части веб-просмотра завершена. Просто нужно знать, как я могу показать этот URL как гиперссылку в уведомлении.

любезно помогите мне.

1 Ответ

0 голосов
/ 10 февраля 2020

Вы не можете контролировать способ отображения уведомления с помощью iOS, но вы можете объявить определенные c действия для своих уведомлений. См. Здесь: https://developer.apple.com/documentation/usernotifications/declaring_your_actionable_notification_types

Это позволяет добавлять пользовательские действия «Оплатить, Отклонить, Заблокировать» к уведомлению. iOS предложит выбор пользователю и уведомит ваше приложение в фоновом режиме, когда пользователь выберет один, но вы не сможете отобразить URL, только текст.

Единственный способ показать Пользовательское диалоговое окно, следующее за уведомлением, - это если вы получаете уведомление, когда приложение находится на переднем плане, потому что тогда ОС не показывает уведомление, оно только уведомляет ваше приложение, и вы можете затем решить, какой пользовательский интерфейс вам подходит. Но это противоречит идее уведомления, которое может появиться в любое время, особенно когда ваше приложение не запущено.

...