如何将al_applink_data注入stringWithContentsOfURL?

时间:2015-08-12 15:04:35

标签: ios facebook deferred deep-linking applinks

我正在使用Facebook的AppLinks延迟深层链接(DDL)选项在安装时传递一些自定义深层链接信息。一旦我得到DDL触发器,我就调用某个外部URL来使用对stringWithContentsOfURL的简单调用来记录DDL活动。由于某些无法解释的原因,网址会自动注入“al_applink_data”。 param虽然我没有添加它(我只添加' 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];
               });

1 个答案:

答案 0 :(得分:0)

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

<custom_scheme>://<path>?al_applink_data=<some json blob>