0

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?

Antwort

0

Was ich kürzlich entdeckt habe ist, dass auf Ziel unter ios9 benutzerdefinierten Sound nicht so gut wie auf dem Gerät mit ios 10.0. *. Legen Sie einfach Ihr Build-Ziel entweder> = 9 oder verwenden Sie ein Gerät mit iOS> = 10.1

+0

aktualisiert die Antwort. Es war das Problem für mich – protspace

+0

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 –

Verwandte Themen