Ich benutze Firebase Push-Benachrichtigungsdienst in meiner iOS-App, die mit Swift 3 entwickelt wurde. Derzeit bekomme ich eine Benachrichtigung. Aber ich habe benutzerdefinierten Sound für Benachrichtigungsalarm konfiguriert. Was passiert ist, wenn App geschlossen ist, bekomme ich einen Standard-Sound, nicht den abgeschnittenen Sound. Aber ich möchte den benutzerdefinierten Sound spielen. Wie kann ich das machen ? Hier ist das, was ich getan habe:Firebase iOS Push-Benachrichtigung benutzerdefinierten Sound nicht spielen?
import UIKit
import UserNotifications
import Firebase
import FirebaseInstanceID
import FirebaseMessaging
import GoogleMaps
import GooglePlaces
import GooglePlacePicker
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate, UNUserNotificationCenterDelegate, MessagingDelegate {
var window: UIWindow?
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
//For FireBase Configs
let settings: UIUserNotificationSettings =
UIUserNotificationSettings(types: [.alert, .badge, .sound], categories: nil)
application.registerUserNotificationSettings(settings)
application.registerForRemoteNotifications()
FirebaseApp.configure()
//FireBase Configs
return true
}
func application(_ application: UIApplication,open url: URL,sourceApplication: String?, annotation: Any) -> Bool {
return FBSDKApplicationDelegate.sharedInstance().application(application,open: url as URL!,sourceApplication: sourceApplication,annotation: annotation)
}
//FireBase Notifications Begins
func application(_ application: UIApplication, didReceiveRemoteNotification userInfo: [AnyHashable: Any],
fetchCompletionHandler completionHandler: @escaping (UIBackgroundFetchResult) -> Void) {
//play alert sound
utilityHelper.playAudio(fileName: "udio", fileExtenstion: "mp3")
let json = JSON(userInfo)
NSLog("Received a Notificat`ion: \(json)")
completionHandler(UIBackgroundFetchResult.newData)
}
func userNotificationCenter(_ center: UNUserNotificationCenter, willPresent notification: UNNotification, withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions) -> Void) {
NSLog("show notification")
completionHandler(UNNotificationPresentationOptions.alert)
}
func application(received remoteMessage: MessagingRemoteMessage) {
}
func messaging(_ messaging: Messaging, didRefreshRegistrationToken fcmToken: String) {
NSLog("Refreshed Firebase registration token: \(fcmToken)")
}
func application(_ application: UIApplication,
didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
Messaging.messaging().apnsToken = deviceToken as Data
NSLog("Register FireBase Token.")
}
//FireBase Notifications End
}
Wie kann ich dies tun würde jede Hilfe zu schätzen wissen?
aktualisiert die Antwort. Es war das Problem für mich – protspace
Jetzt sieht es wie eine Antwort aus. Gut gemacht. Als Tipp, gute Antworten zu schreiben: Suchen Sie nach Dokumentation und Ähnlichem, um Ihre Aussagen zu bestätigen, um zu zeigen, dass Sie dem Benutzer Zeit und Energie zur Verfügung stellen. Aber lesen Sie unbedingt [diesen Meta-Post about Link-only-Antworten] (https://meta.stackexchange.com/questions/8231/are-answers-that-just-contain-links-elsewhere-really-good-answers) zuerst –