Мы используем branch.io для передачи пользовательских данных в приложение. Для этого мы выполняем следующие шаги на панели управления филиалом.
1) Реклама -> Управление партнерами -> Facebook -> Создать ссылку на Facebook
2) Установите данные в Key / Value в разделе «Глубокие ссылки» (данные, которые нам нужны в нашем приложении)
3) Мы устанавливаем URL-адрес Play / App Store в Android / iOS, соответственно, Или же устанавливает перенаправления по умолчанию в разделе «Перенаправления».
Это оно!!!
Теперь перейдите в Менеджер рекламы Facebook и выберите Кампанию по установке приложений.
1) Выберите Play / App Store в разделе App.
2) Установите сгенерированный выше URL-адрес под "отложенная глубокая ссылка"
Подробнее читайте здесь: https://docs.branch.io/pages/deep-linked-ads/facebook-app-install-ads/
Теперь наша проблема:
Итак, вопрос:
1) Нужно ли нам разрешение от Facebook или отсутствует какая-либо конфигурация в Branch или Facebook?
2) То же самое будет работать с обоими устройствами (например, Android и iOS)?
Спасибо
К сожалению, документация branch.io по настройке этого довольно неполная - мы потратили около недели на тестирование и отладку SDK, чтобы выяснить, как заставить его работать. Сами по себе необходимые изменения на самом деле довольно просты.
На Android:
facebook_app_id, который вы добавили как часть (1), не имеет префикса «fb».enableFacebookAppLinkCheck() на своем экземпляре Branch сразу после его инициализации.На iOS:
registerFacebookDeepLinkingClass(FBSDKAppLinkUtility.self) на своем экземпляре Branch сразу после его инициализации.Это спасло мне жизнь. потратил 2 дня на борьбу за это. Спасибо!!
Branch.getAutoInstance (это) .enableFacebookAppLinkCheck ();
У меня была точно такая же проблема, но в проекте React Native, поэтому я использую react-native-branch. Ответ @ henning-dodenhof мне очень помог (спасибо, что разобрался!), но мне потребовалась еще пара дополнительных адаптаций, поэтому я добавляю этот ответ на случай, если он будет полезен для кого-то еще, поскольку этот пост был главным, что я нашел по этому вопросу:
Для iOS: Регистрация FB SDK должна произойти перед инициализации Branch, а не после, как предполагает приведенный выше ответ. Итак, перед этой строкой, которую вы добавляете как часть обычной настройки библиотеки:
[RNBranch initSessionWithLaunchOptions:launchOptions isReferrable:YES];
Вам нужно получить экземпляр Branch из RNBranch, а затем зарегистрировать этот класс FB SDK:
[[RNBranch branch] registerFacebookDeepLinkingClass:[FBSDKAppLinkUtility class]];
Добавление этой новой строки перед инициализацией критично, не работает, если это будет сделано после.
Для Android:
Здесь установочный код уже получает экземпляр с Branch.getAutoInstance(this), поэтому мы можем просто связать регистрацию:
Branch.getAutoInstance(this).enableFacebookAppLinkCheck();
Похоже, что приведенный выше getAutoInstance на самом деле не полностью инициализирует экземпляр, поэтому вы можете вызвать enableFacebookAppLinkCheck сразу после этого, и экземпляр будет полностью инициализирован после первого использования.
[Хеннинг Доденхоф - 1] [Branch io Docs - 0] Это работает !! Большое спасибо. Единственный пункт, который я упустил и совершенно не знал об этом, - это четвертый пункт - «Вызовите enableFacebookAppLinkCheck () в своем экземпляре Branch сразу после его инициализации».