如何使用x-callback-url?
How to use x-callback-url?
我想打开一个应用程序并从中 return 使用一些 return 值,例如成功或失败。怎么做?
来自文档
[scheme]://[host]/[action]?[x-callback parameters]&[action parameters]
问题一:
我应该在 [action parameters] 中放置什么?是强制性的吗?
正在发送应用 A
- (IBAction)openReceivingAppBButtonPressed:(id)sender {
NSString *xcallBack = @"x-callback-url/payment?&amount=1.00";
NSString *URLEncodedText = [xcallBack stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSURL *ourURL = [NSURL URLWithString:[@"receivingAppB://" stringByAppendingString:URLEncodedText]];
if([[UIApplication sharedApplication] canOpenURL:ourURL]){
[[UIApplication sharedApplication] openURL:ourURL];
}
}
正在接收应用 B
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url{
[self returnToSendingAppAWithResponse];
return true;
}
-(void)returnToSendingAppAWithResponse{
NSString *xcallBackSuccess = @"success";
NSString *URLEncodedText = [xcallBackSuccess stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSURL *ourURL = [NSURL URLWithString:[@"sendingAppA://" stringByAppendingString:URLEncodedText]];
if([[UIApplication sharedApplication] canOpenURL:ourURL]){
[[UIApplication sharedApplication] openURL:ourURL];
}
}
问题二:
在接收应用程序中,向发送应用程序 A 调用另一个 openURL 调用以 return 成功消息是否正确?
我能够实现我想要的。但是只是怀疑这是否是x-callback-url的正确使用方式。 x-callback-url 似乎对我没有用。
看来上面提到的方法是正确的做法。
x-callback 只是一个 "protocol" 格式化 NSURL 以简化接收端的数据处理,并允许源应用程序接收正确的回调函数。 (例如,应调用哪个操作名称)
我想打开一个应用程序并从中 return 使用一些 return 值,例如成功或失败。怎么做?
来自文档
[scheme]://[host]/[action]?[x-callback parameters]&[action parameters]
问题一:
我应该在 [action parameters] 中放置什么?是强制性的吗?
正在发送应用 A
- (IBAction)openReceivingAppBButtonPressed:(id)sender {
NSString *xcallBack = @"x-callback-url/payment?&amount=1.00";
NSString *URLEncodedText = [xcallBack stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSURL *ourURL = [NSURL URLWithString:[@"receivingAppB://" stringByAppendingString:URLEncodedText]];
if([[UIApplication sharedApplication] canOpenURL:ourURL]){
[[UIApplication sharedApplication] openURL:ourURL];
}
}
正在接收应用 B
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url{
[self returnToSendingAppAWithResponse];
return true;
}
-(void)returnToSendingAppAWithResponse{
NSString *xcallBackSuccess = @"success";
NSString *URLEncodedText = [xcallBackSuccess stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSURL *ourURL = [NSURL URLWithString:[@"sendingAppA://" stringByAppendingString:URLEncodedText]];
if([[UIApplication sharedApplication] canOpenURL:ourURL]){
[[UIApplication sharedApplication] openURL:ourURL];
}
}
问题二:
在接收应用程序中,向发送应用程序 A 调用另一个 openURL 调用以 return 成功消息是否正确?
我能够实现我想要的。但是只是怀疑这是否是x-callback-url的正确使用方式。 x-callback-url 似乎对我没有用。
看来上面提到的方法是正确的做法。
x-callback 只是一个 "protocol" 格式化 NSURL 以简化接收端的数据处理,并允许源应用程序接收正确的回调函数。 (例如,应调用哪个操作名称)