0

我正在使用 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];
               });
4

1 回答 1

0

'al_applink_data' 参数是 App Links 协议的一部分,因此它已经嵌入到您的深度链接 URL 中。深层链接 URL 基本上如下所示:

<custom_scheme>://<path>?al_applink_data=<some json blob>
于 2015-08-13T00:35:24.887 回答