【发布时间】:2013-03-01 09:40:20
【问题描述】:
我已经在 iOS 上设置了 Urban Airship 推送通知注册和处理,并使用 CURL 终端命令对其进行了测试。但是,我无法使用 ASIFormDataRequest 重现相同的内容。任何人都可以向我展示如何使用 JSON 序列化数据并使用 ASIHTTPRequest 或其他方式发送它吗?
顺便说一句,Urban Airship 无法识别我在他们的 Web 界面上的推送(推送次数没有增加),但我能够使用此验证从 UA 获取响应代码 200:
[request setUsername:URBAN_AIRSHIP_APP_KEY];
[request setPassword:URBAN_AIRSHIP_APP_SECRET];
但我似乎无法将通知发送到设备。
编辑:这是我的代码的样子
NSDictionary *paramDict =
@{
device_tokens: @[@"mytoken",@"mytoken2"],
aps: @{alert: @"alertText"},
extras: @"myExtraParam",
moreExtras: @"moreExtras"
};
NSData *data = [NSKeyedArchiver archivedDataWithRootObject:paramDict];
ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:[NSURL
URLWithString:@"https://go.urbanairship.com/api/push/"]];
[request setRequestMethod:@"POST"];
[request appendPostData:data];
[request setUsername:URBAN_AIRSHIP_APP_KEY];
[request setPassword:URBAN_AIRSHIP_APP_SECRET];
[request addRequestHeader:@"Content-Type" value:@"application/json"];
[request setDelegate:self];
[request setDidFinishSelector:@selector(pushSucceeded:)];
[request setDidFailSelector:@selector(pushFailed:)];
[request startAsynchronous];
【问题讨论】:
-
我认为这不起作用,因为我没有向 UA 发送电子邮件以允许从设备推送。我已经这样做了,如果解决了我会回答我的问题。
-
很遗憾,我仍然无法让飞艇识别我的 POST 请求。
标签: http ios6 asihttprequest urbanairship.com