У меня есть базовое приложение для веб-просмотра, которое работает правильно и получает уведомления об отправке основного текста с Parse.com, но не может понять, как заставить его открыть URL-адрес.Приложение iOS Webview, как открыть JSON Parse Push Notification в Webview?
Я хочу, чтобы отправить JSON толчок уведомление от Parse.com как что-то вроде этого и он открыть указанный URL в моем WebView приложения:
EDIT ** Новый выпуск у меня сейчас я» m не удается открыть URL-адрес в веб-браузере, если приложение находится в фоновом режиме или на переднем плане.
В настоящее время, если приложение находится в фоновом режиме и вы используете уведомление, оно просто приведет приложение на передний план, но не перезагрузит новый URL. И если приложение находится на переднем плане, уведомление принимается как предупреждение, и при нажатии «ОК» действие не происходит.
{
"alert": "Push title goes here",
"url": "http://www.google.com"
}
В моей WebBrowserAppDelegate.m У меня есть это:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
[Parse setApplicationId:@"XXX"
clientKey:@"XXX"];
// Register for Push Notitications
UIUserNotificationType userNotificationTypes = (UIUserNotificationTypeAlert |
UIUserNotificationTypeBadge |
UIUserNotificationTypeSound);
UIUserNotificationSettings *settings = [UIUserNotificationSettings settingsForTypes:userNotificationTypes
categories:nil];
[application registerUserNotificationSettings:settings];
[application registerForRemoteNotifications];
// Override point for customization after application launch.
self.window.rootViewController = self.viewController;
[self.window makeKeyAndVisible];
UILocalNotification *notification = [launchOptions objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey];
NSDictionary *notificationPayload = launchOptions[UIApplicationLaunchOptionsRemoteNotificationKey];
NSString *pushURL = [notificationPayload objectForKey:@"url"];
if (notification) {
NSDictionary *aDict=[NSDictionary dictionaryWithObject: pushURL forKey:@"urlToLoad"];
[[NSNotificationCenter defaultCenter] postNotificationName:@"LoadRequestFromAppDel" object:Nil userInfo:aDict];
}
return YES;
}
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo {
[PFPush handlePush:userInfo];
}
И в моем WebBrowserViewController.m У меня есть это:
- (void)viewDidLoad
{
[super viewDidLoad];
NSAssert(self.back, @"Unconnected IBOutlet 'back'");
NSAssert(self.forward, @"Unconnected IBOutlet 'forward'");
NSAssert(self.refresh, @"Unconnected IBOutlet 'refresh'");
NSAssert(self.stop, @"Unconnected IBOutlet 'stop'");
NSAssert(self.webView, @"Unconnected IBOutlet 'webView'");
self.webView.delegate = self;
self.webView.scalesPageToFit = YES;
NSURL* url = [NSURL URLWithString:@"http://www.mywebsite.com"];
NSURLRequest* request = [NSURLRequest requestWithURL:url];
[self.webView loadRequest:request];
[self updateButtons];
}
- (void)LoadRequestFromAppDel: (NSNotification*)aNotif
{
NSString *aStrUrl=[[aNotif userInfo] objectForKey:@"urlToLoad"];
NSURL* pushurl = [NSURL URLWithString:aStrUrl];
NSURLRequest* requestObj = [NSURLRequest requestWithURL:pushurl];
[self.webView loadRequest:requestObj];
[self updateButtons];
}
Заранее спасибо за любую помощь !
вам нужно перехватить ответ от разбора. Я покажу вам одну секунду. – Loxx