2017-10-19 5 views
0

OneSignalを自分のアプリケーションに統合しようとしています。 私が望むのは、ユーザーが希望のViewControllerをモーダルで表示する通知をタップするときです。 OneSignalの初期化中にオープニングVCロジックをhandleNotificationActionに実装しました。 問題は、OneSignalがまだWebViewを開いていて、私が望んでいないことです。ユーザーが通知をタップしたときにWebViewを開くことを無効にする方法はありますか?通知を処理するときにOneSignalがWebViewを開くことを禁止する方法

let onesignalInitSettings = [kOSSettingsKeyAutoPrompt: false] 
OneSignal.initWithLaunchOptions(launchOptions, 
             appId: "myAppID", 
             handleNotificationAction: { result in 
              guard let payload = result?.notification.payload else { return } 
              guard let additionalData = payload.additionalData else { return } 
              guard let venueID = additionalData["internal"] as? String else { return } 
                DispatchQueue.main.async { 
                 self.showVenueDetails(venueID) 
                } 
     }, 
             settings: onesignalInitSettings) 
     OneSignal.inFocusDisplayType = .notification 
     OneSignal.promptForPushNotifications(userResponse: { accepted in 
      print("User accepted notifications: \(accepted)") 
     }) 

答えて

0

はい、onesignalInitSettingskOSSettingsKeyInAppLaunchURL: falseを追加してください。これにより、UIWebViewではなく、デフォルトのブラウザでURLが開きます。

カスタムビューを表示する場合は、ペイロードにURLパラメータを使用しないでください。代わりに、追加のデータでカスタムのKey-Valueペアを使用します。

関連する問題