Objective c ios通过使用facebook sdk获取deeplink始终为空的目标c
我正在使用facebook SDK,当我试图通过facbook通过fb邀请深度链接邀请朋友时Objective c ios通过使用facebook sdk获取deeplink始终为空的目标c,objective-c,facebook-ios-sdk,Objective C,Facebook Ios Sdk,我正在使用facebook SDK,当我试图通过facbook通过fb邀请深度链接邀请朋友时 NSDictionary * getParam = @{ @"access_token":accessToken, @"fields":@"canonical_url", @"pretty":@(YES),
NSDictionary * getParam = @{
@"access_token":accessToken,
@"fields":@"canonical_url",
@"pretty":@(YES),
};
NSString * getCanoicalURL = [NSString stringWithFormat:@"%@/%@",FB_CANONICAL_API, fbAPILinkID];
[self GET:getCanoicalURL parameters:getParam success:^(NSURLSessionDataTask * _Nonnull task, id _Nonnull responseObject)
{
NSError *error;
FacebookLink * getResult = [MTLJSONAdapter modelOfClass:[FacebookLink class] fromJSONDictionary:responseObject error:&error];
if (error)
{
handler(nil,error);
}
else
{
handler(getResult.canonicalUrl,nil);
}
} failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error)
{
handler(nil,error);
}];
下面是我邀请朋友的方法,它成功显示:
-(void)inviteFriend:(NSString*)canonicalUrl
{
FBSDKAppInviteContent *content =[[FBSDKAppInviteContent alloc] init];
content.appLinkURL =[NSURL URLWithString:canonicalUrl];
[FBSDKAppInviteDialog showFromViewController:self withContent:content delegate:self];
}
但当我尝试获取延迟深度链接时,它始终为空:
FBSDKAppLinkUtility fetchDeferredAppLink:^(NSURL *url, NSError *error)
{
NSLog(@"fetch defer app link :%@",url);
if (error) {
NSLog(@"Received error while fetching deferred app link %@", error);
}
if (url) {
[[UIApplication sharedApplication] openURL:url];
}
}];
这将是您的准确参考,答案不是上面的手动编码。确保您的iPhone的“限制广告跟踪”设置已关闭,在“设置->隐私->广告”我使用facebook deeplink生成这样的参考。确切的URL没有问题,但问题是当我试图从facebook服务器获取延迟链接时,URL总是空的。在我们通过facebook邀请用户后,当用户点击安装按钮时,我们正在尝试获取延迟应用程序链接。它仍然没有收到nil