2016-01-29 2 views
1

У меня проблема с интеграцией глубокой привязки Facebook (от статьи к моему приложению). Я следовал документации (https://developers.facebook.com/docs/applinks) шаг за шагом, там нечего делать, он не работает ..Deep Linking Facebook iOS - приложение не открывается

Так в моем веб-сайте, добавить метаданные:

<meta property="fb:app_id" content="..."> 
 
<meta property="al:ios:url" content="appname://event?event_id=127"> 
 
<meta property="al:ios:app_name" content="app name">

В моем приложении делегат:

- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation { 



BFURL *parsedUrl = [BFURL URLWithInboundURL:url sourceApplication:sourceApplication]; 
if ([parsedUrl appLinkData]) { 
    // this is an applink url, handle it here 
    NSURL *targetUrl = [parsedUrl targetURL]; 
    [[[UIAlertView alloc] initWithTitle:@"Received link:" 
           message:[targetUrl absoluteString] 
           delegate:nil 
         cancelButtonTitle:@"OK" 
         otherButtonTitles:nil] show]; 
} 

return [[FBSDKApplicationDelegate sharedInstance] application:application 
                 openURL:url 
              sourceApplication:sourceApplication 
                annotation:annotation 
     ];} 

ли у вас есть идея, почему мое приложение не открыть? Я также настраиваю настройки своего Facebook-приложения.

ответ

1

Изменение <meta property="al:ios:url" content="appname://event?event_id=127"> в <meta property="al:ios:url" content="myApp://event?event_id=127">

Ваше приложение будет распознавать схему, установленную вашим URL, который является MYAPP в этом случае (Вы можете изменить его нужную строку, но оба должны совпадать). Таким образом, это должно присутствовать в plist вашего приложения, чтобы распознать входящий вызов для открытия.

<key>CFBundleURLTypes</key> 
<array> 
    <dict> 
     <key>CFBundleTypeRole</key> 
     <string>Editor</string> 
     <key>CFBundleURLSchemes</key> 
     <array> 
      <string>myApp</string> 
      <string>fbXXXXXXXXXXXXXXXX</string> 
     </array> 
    </dict> 
</array> 
+0

Это не работает ... Когда вы говорите myApp, мне нужно изменить myApp на имя моего приложения? –

+0

mo bro u не нужно менять имя приложения, что я предложил, это имя схемы, через которое ваше приложение будет идентифицировать обратные URL-адреса из facebook .. оно должно соответствовать –

+0

Приветствия! это было полезно, все, что я сделал URL-адрес мета-url и схемы приложения равными для обратного вызова FB –