gpt4 book ai didi

ios - UrbanAirship 在 IOS 上通过 URL 推送

转载 作者:行者123 更新时间:2023-11-29 04:31:12 26 4
gpt4 key购买 nike

我正在使用 UrbanAirship 向我的应用程序发送推送消息。我的设置既适用于开发又适用于生产。我需要将网址作为推送消息发送。当用户打开消息时,我希望它重定向到我添加的网址。我将此代码添加到我的应用程序委托(delegate)中。

`- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo{
NSLog(@"userInfo:%@",[userInfo description]);
NSLog(@"alert:%@",[[userInfo objectForKey:@"aps"] objectForKey:@"alert"]);
NSLog(@"alert:%@",[[userInfo objectForKey:@"aps"] objectForKey:@"url"]);
}

并尝试发送推送,如

{
"aps":
{
"alert": "take a look at this site ",
"url": "www.mysite.com"
}
}

我收到了警报消息,但它再次打开了应用程序而不是网址。您能建议我如何发送带有 url 的推送消息并使其打开该 url 吗?

最佳答案

有两种方法可以做到这一点

使用 safari 打开网址(未测试代码):

     - (void)application:(UIApplication *)application didReceiveRemoteNotification: (NSDictionary *)userInfo
{
NSLog(@"userInfo:%@",[userInfo description]);
NSLog(@"alert:%@",[[userInfo objectForKey:@"aps"] objectForKey:@"alert"]);
NSLog(@"url:%@",[[userInfo objectForKey:@"aps"] objectForKey:@"url"]);
webViewController.url = [NSURL URLWithString:[[userInfo objectForKey:@"aps"] objectForKey:@"url"]];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:[NSURL URLWithString:[[userInfo objectForKey:@"aps"] objectForKey:@"url"]];
}

或者您必须在您的应用程序上处理它:

- (void)application:(UIApplication *)application didReceiveRemoteNotification: (NSDictionary *)userInfo{ 
NSLog(@"userInfo:%@",[userInfo description]);
NSLog(@"alert:%@",[[userInfo objectForKey:@"aps"] objectForKey:@"alert"]);
NSLog(@"url:%@",[[userInfo objectForKey:@"aps"] objectForKey:@"url"]);
webViewController.url = [NSURL URLWithString:[[userInfo objectForKey:@"aps"] objectForKey:@"url"]];

例如,在您的 WebViewController 中需要以下方法

    - (void)viewWillAppear:(BOOL)animated { 
[super viewWillAppear:animated];
NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];
[webView loadRequest:requestObj];
}

当然,你的WebViewController.h上必须有一个

    IBOutlet UIWebView *webView;

全屏,或者你想要的......

关于ios - UrbanAirship 在 IOS 上通过 URL 推送,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11723008/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com