Urban Airship iOS在UIWebView上显示消息体

时间:2017-07-21 02:02:20

标签: ios objective-c iphone urbanairship.com

任何人都在iOS上做过类似的事情吗?这是挑战,在我的应用程序中,我已经配置了UrbanAirship方法,并且可以将用户当前的消息作为UAInboxMessage数组访问并显示它们在一个表格中,单元格标题是消息标题,好的......现在,当我请求那些url时,查看每个对象属性,它们有 messageURL messageBodyURL 城市要求凭据,好吧,当我触摸我的tableView上的一行时,我将消息作为属性发送到DetailViewController,在该视图中我有一个UIWebView,我想要的是显示消息内容丰富,这是先前在Urban Console中配置的html,在我的DetailViewController中的UIWebView中,所以我试图通过UAWebViewCallData发送url,webview和消息但没有运气...

Route

没有工作。

我尝试将UA自定义委托设置为我的网页视图(如UAWebViewDelegate)以获取信息,并且我失败了,这些委托从未被调用过。

手动显示文档https://docs.urbanairship.com/platform/ios/#display

再次无法正常工作,然后在 Android 上找到一个朋友,有一个UAWebView自定义类,在那里他可以从中扩展其webview,只是写这个,消息体显示

[UAWebViewCallData callDataForURL:message.messageBodyURL webView:_webView message:message];

尝试在iOS上找到类似但没有运气的东西。

请帮忙!!

1 个答案:

答案 0 :(得分:5)

访问消息中心HTML内容需要一组唯一的凭据。应通过Urban Airship SDK实用程序方法检索它们并将其添加到您的请求中。例如:

NSMutableURLRequest *requestObj = [NSMutableURLRequest 
requestWithURL:self.message.messageBodyURL];
requestObj.timeoutInterval = 10;

NSString *auth = [UAUtils userAuthHeaderString];
[requestObj setValue:auth forHTTPHeaderField:@"Authorization"];
[self.webView loadRequest:requestObj];

您还可以在Urban Airship提供的默认消息中心中查看如何配置和加载webview:https://github.com/urbanairship/ios-library/blob/master/AirshipKit/AirshipKit/ios/UADefaultMessageCenterMessageViewController.m

swift4:

    let request = NSMutableURLRequest(url: url)
    request.timeoutInterval = 10;

    let auth = UAUtils.userAuthHeaderString()
    request.setValue(auth, forHTTPHeaderField: "Authorization")
    ....