2016-09-03 25 views
0

頁。當推送通知從服務器側推動時,默認城市飛艇消息中心被顯示在使用在UrbanAirship消息中心從JavaScript調用夫特功能的詳細說明

UAirship.defaultMessageCenter().display() 

並且在消息輕敲顯示該應用消息詳情。消息詳細信息頁面的內容是HTML負載,它是服務器端觸發的推送通知的一部分。當WebView上的按鈕被點擊時,我需要調用一個swift函數。由於我們無法訪問由UA提供的視圖控制器中呈現的WKWebView,因此我無法從JavaScript調用任何swift函數。請建議。

+0

具有u找到任何解決辦法? –

回答

0

考慮使用Urban Airship的actions framework,它可用於從消息中心webview觸發本地代碼。

首先,定義您的自定義UAAction

let swiftAction = UAAction(block: { (args: UAActionArguments, handler: UAActionCompletionHandler) -> Void in 
    print("Action is performing with: \(args)") 

    handler(UAActionResult.empty()) 
}) 

然後在takeOff之後註冊動作。

UAirship.shared().actionRegistry.registerAction(swiftAction, name:"swift_action") 

然後,您可以修改您的HTML內容運行郵件中的作用。在消息中心webview中插入的UAirship對象上使用runAction方法。

UAirship.runAction("swift_action", "arguments", function() {return true}) 

其他資源: