我正在使用Facebook的AppLinks延迟深度链接(DDL)选项来在安装时传递一些自定义深度链接信息。一旦获得DDL触发器,我就调用某个外部URL,通过一个简单的stringWithContentsOfURL调用来记录DDL活动。由于某种原因,网址被自动注入了一个'al_applink_data‘参数,尽管我没有添加它(我只是手动添加了'deeplink’和'idfa‘)。它是如何“注入”到我的URL调用中的?下面是DDL触发器代码:
- (void) onFbDeferredAppLink:(NSURL*)deeplink error:(NSError*)error {
NSLog(@"onFbDeferredAppLink: %@", deeplink);
NSMutableDictionary* d = [NSMutableDictionary dictionaryWithObjectsAndKeys:
deeplink, @"deeplink",
[self getIdfa], @"idfa"
, nil];
dispatch_async(dispatch_get_global_queue( DISPATCH_QUEUE_PRIORITY_DEFAULT, 0),
^{
NSError* error = nil;
__block NSMutableString* s = [NSMutableString stringWithString:@"https://api.myservers.com/test.php?a=b"];
[d enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop) {
[s appendFormat:@"&%@=%@", [key description], [obj description]];
}];
NSURL* url = [NSURL URLWithString:s];
[NSString stringWithContentsOfURL:url encoding:NSUTF8StringEncoding error:&error];
});发布于 2015-08-13 08:35:25
'al_applink_data‘参数是应用程序链接协议的一部分,所以它已经嵌入到你的深度链接URL中了。deeplink URL基本如下所示:
<custom_scheme>://<path>?al_applink_data=<some json blob>https://stackoverflow.com/questions/31968980
复制相似问题