A. *_*sha 4 ios swift onesignal
我正在尝试将OneSignal集成到我的应用程序中。我想要的是当用户点击通知以模态呈现所需的ViewController时。我在handleNotificationActionOneSignal初始化时实现了开放VC逻辑。问题是OneSignal仍然打开其WebView,而我不希望它打开。用户点击通知时,有什么方法可以禁用打开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)")
})
Run Code Online (Sandbox Code Playgroud)
小智 5
是的,添加kOSSettingsKeyInAppLaunchURL: false到您的中onesignalInitSettings。这将在默认浏览器而不是中打开URL UIWebView。
如果要显示自定义视图,请不要在有效负载中使用URL参数。而是在其他数据中使用自定义键值对。
小智 5
对于OneSignal SDK 3.xx
按照 OneSignal 的建议,将以下键添加到项目的info.plist中:
OneSignal_suppress_launch_urls = true
Run Code Online (Sandbox Code Playgroud)
对于OneSignal SDK 版本 2.xx
添加kOSSettingsKeyInAppLaunchURL: false到 OneSignal 的initSetting