インストール時にカスタムディープリンク情報を渡すために、Facebook の AppLinks 遅延ディープリンク (DDL) オプションを使用しています。DDL トリガーを取得したら、特定の外部 URL を呼び出して、stringWithContentsOfURL への単純な呼び出しを使用して DDL アクティビティをログに記録します。説明のつかない理由で、追加していませんが、URL に「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];
});