2015-02-20 5 views
1

Я считаю, что у меня есть все необходимые инструменты для глубокой привязки, установленные в моем приложении iOS. Пользователи могут войти в наше приложение, используя приложение Facebook, если оно есть, или Safari, если нет, и после этого оно будет перенаправлено обратно в наше приложение.Facebook Share Dial Deep Linking iOS

У меня трудное время, пытаясь добиться такого же перенаправления, когда пользователи нажимают «Совместное использование через имя приложения» в приложении iOS. Я хочу следить за ожидаемым потоком, где, если у них нет установленного приложения, он принимает пользователей в App Store, и если они это сделают, это открывает мое приложение. Прямо сейчас, независимо от того, установлено ли приложение или нет, пользователи перенаправляются в хранилище приложений.

Моя установка для моего фба приложения (большинство значений затемненных по понятным причинам) выглядят следующим образом:

enter image description here enter image description here

ПРИМЕЧАНИЕ в изображениях выше большая частью белого пространства /, казалось бы, пустым значения на самом деле есть и правильные, просто удаленные из образа для конфиденциальности, что заставляет их отображаться пустым, но это не так.

Я это работает на предшествующем уровне приложения около 6 месяцев назад или около того, но это мое понимание того, что Facebook с тех пор перешел на App Ссылки, и хотя я , казалось бы, прочитать каждый бит документации I можно найти по этому вопросу, я не могу для жизни меня заставить это работать сейчас.

Я начинаю задаваться вопросом, не нужно ли это настраивать на веб-сайтах. Должна ли веб-страница, которая теперь доступна, иметь метатеги, встроенные в непосредственные пользователи в соответствующее место, то есть на странице должна быть встроена URL-схема моего приложения - app-name: // или что?

Есть ли что-то особенное, что нужно сделать для перенаправления с share в приложении iOS для Facebook, которое отличается от переадресации с входа в приложение iOS для Facebook?

ответ

1

Facebook документация очень неполна .. Я должен был лом некоторой информации с этого сайта: http://applinks.org/documentation/

В моих приложениях я разделяю все истории со ссылкой как «example.com/share.php» и код в моем файле share.php заключается в следующем:

<?php 
    require 'Mobile_Detect.php'; //you need to download this 
    $detect = new Mobile_Detect; 

    //if user is accessing the "shared history" from the facebook website 
    //it should be redirected to the website, not allowing him to browse this 
    //page, as it is empty. 
    // 
    //the regex avoids the redirect for facebook crawler 
    if (!preg_match('%facebookexternalhit/1.*%si', $_SERVER["HTTP_USER_AGENT"])) { 
     if (!$detect->isiOS() && !$detect->isAndroidOS()) { 
      header("Location: http://www.example.com/"); 
      die(); 
     } 
    } 

?><!DOCTYPE html> 
<html lang="en"> 
<head> 
    <meta charset="UTF-8"> 
    <title>App Share Page</title> 

    <!-- This disables the intermediate web view in mobile, jumping straigt to the app --> 
    <meta property="al:web:should_fallback" content="false"> 

    <!-- Android --> 
    <meta property="al:android:url" content="customschemaurl://fromShare"> 
    <meta property="al:android:package" content="com.mycompany.myappbundleid"> 
    <meta property="al:android:app_name" content="App name"> 

    <!-- iOS --> 
    <meta property="al:ios:url" content="customschemaurl://fromShare" /> 
    <meta property="al:ios:app_store_id" content="0000000" /> <!-- itunes connect app id, not bundle id --> 
    <meta property="al:ios:app_name" content="App name" /> 

    <!-- OG Share (url shared) --> 
    <meta property="og:title" content="some share title"/> 
    <meta property="og:url" content="http://www.example.com/share.php"/> 
    <meta property="og:image" content="http://www.example.com/byb-logo.png"/> 
    <meta property="og:site_name" content="App name"/> 
    <meta property="og:description" 
      content="some description text"/> 

</head> 
<body> 
</body> 
</html> 

Этот простой веб-страницы обнаруживает, если это андроид, или iphone и запустить приложение, если это веб-браузер (не мобильный) он будет перенаправлять на ваш сайт (возможно загрузить если у вас есть приложение с несколькими форматами, например, я) и позволяет искателю Facebook (а не мобильному) получать доступ к необходимой информации для исправления вызова стр.

Надеюсь, это поможет.

+0

Это выглядит многообещающим - я рассмотрю его как можно скорее. Спасибо! – Mike

+0

Вы проверили это? – KnF

+0

Мне не удалось заставить его работать, но это было немного с тех пор, как я в последний раз заглядывал в него. – Mike