OneSignal
とSwift 3
でアプリを実行します。私はプッシュした。をWebView
と表示するには、通知をクリックするとに表示されます。フィールド"link"
の追加データをプッシュすると、リンクがありますが、WebView
にこのリンクを表示することはできません。OneSignal Swiftで特定のViewControllerを表示する方法
グローバル変数tempURL
を使用してURLをadditional data
から入力してみます。しかし、それは動作しません。
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
OneSignal.initWithLaunchOptions(launchOptions, appId: "MYID", handleNotificationAction: { (result) in
let payload = result?.notification.payload
print("This is Payload \(payload)")
var fullMessage = payload?.title
let messageTitle = "OneSignal Example"
if (result?.action.actionID) != nil {
let additionalData = payload?.additionalData
let url = additionalData?["link"] as! String?
tempURL = url!
fullMessage = fullMessage! + "\nPressed ButtonId:\(url)"
}
let alertController = UIAlertController(title: messageTitle, message: fullMessage, preferredStyle: .alert)
let okAction = UIAlertAction(title: "OK", style: .default)
alertController.addAction(okAction)
alertController.show(alertController, sender: nil)
})
return true
}
表示するようにしてみてください。
func application(_ application: UIApplication, didReceiveRemoteNotification data: [AnyHashable : Any]) {
let aViewController = ViewController()
aViewController.loadAddressURL(url: tempURL)
UIApplication.shared.keyWindow?.rootViewController?.present(aViewController, animated: true, completion:nil)
}
私はエラーを持っている:あなたはあなたの方法でデータを渡すことはできませんすべての
fatal error: unexpectedly found nil while unwrapping an Optional value
ありがとうございました!それは起こった。 – Zhanserik
あなたの歓迎幸せなコーディング... – emresancaktar