URL-адрес с глубокой связью branch.io не передает данные в приложении из рекламы Facebook

Мы используем 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. Когда пользователь нажимал на любую ссылку ветки с параметрами глубокой ссылки, он мог получать данные как в том случае, когда пользователь заново устанавливает приложение, так и в том случае, если пользователь уже установил приложение.
  2. Когда мы нажимали на рекламу Facebook с тем же URL-адресом, мы не можем получить данные филиала, если пользователь не установил приложение (в основном в случае перенаправления пользователя из App Store / play store). Но пользователь установил приложение, и мы можем получать все данные ветки с одного и того же URL-адреса.

Итак, вопрос:

1) Нужно ли нам разрешение от Facebook или отсутствует какая-либо конфигурация в Branch или Facebook?

2) То же самое будет работать с обоими устройствами (например, Android и iOS)?

Спасибо

2
0
1 540
2

Ответы 2

К сожалению, документация branch.io по настройке этого довольно неполная - мы потратили около недели на тестирование и отладку SDK, чтобы выяснить, как заставить его работать. Сами по себе необходимые изменения на самом деле довольно просты.

На Android:

  1. Интегрируйте Facebook SDK, если вы еще этого не сделали
  2. Убедитесь, что строковый ресурс facebook_app_id, который вы добавили как часть (1), не имеет префикса «fb».
  3. Если вы используете ProGuard, добавить правила для сохранения соответствующих частей Facebook SDK
  4. Вызовите enableFacebookAppLinkCheck() на своем экземпляре Branch сразу после его инициализации.

На iOS:

  1. Интегрируйте Facebook SDK, если вы еще этого не сделали
  2. Вызовите registerFacebookDeepLinkingClass(FBSDKAppLinkUtility.self) на своем экземпляре Branch сразу после его инициализации.

[Хеннинг Доденхоф - 1] [Branch io Docs - 0] Это работает !! Большое спасибо. Единственный пункт, который я упустил и совершенно не знал об этом, - это четвертый пункт - «Вызовите enableFacebookAppLinkCheck () в своем экземпляре Branch сразу после его инициализации».

binaryKarmic 06.06.2018 16:15

Это спасло мне жизнь. потратил 2 дня на борьбу за это. Спасибо!!

mitesh patel 07.06.2018 08:00

Branch.getAutoInstance (это) .enableFacebookAppLinkCheck ();

Bhriguraj Salponia 12.07.2018 13:58

У меня была точно такая же проблема, но в проекте 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 сразу после этого, и экземпляр будет полностью инициализирован после первого использования.

Другие вопросы по теме