我正在使用 Facebook 的 AppLinks 延迟深度链接 (DDL) 选项在安装时传递一些自定义深度链接信息。获得 DDL 触发器后,我调用某个外部 URL 以使用对 stringWithContentsOfURL 的简单调用来记录 DDL 活动。由于某些无法解释的原因,尽管我没有添加它(我只手动添加了“deeplink”和“idfa”),但该 URL 会自动注入“al_applink_data”参数。它是如何“注入”到我的 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];
});