Branch.io Глубокая ссылка всегда пустая на Кордове - PullRequest
0 голосов
/ 16 октября 2018

У меня проблема с получением данных из глубокой ссылки branch.io.

Сначала я создаю ссылку на инструментальной панели Branch.io, проверил ее и, кажется, работает нормально.Он даже показывает количество кликов, как на изображении, показанном здесь: Состояние ссылки Dashboard Branch.io

После этого я пытаюсь добавить данные по ссылке, как показано здесь: Данные Deep. Branch.io

Код, который я сейчас использую, основан на документации:

handleBranch: function() {
        console.log("HANDLING BRANCH");
        // Branch initialization
        Branch.initSession().then(function(data) {
            console.log(data);
          if (data['+clicked_branch_link']) {
            // read deep link data on click
            console.log('Deep Link Data: ' + JSON.stringify(data));
          }
        });
      },

Сначала я получил сообщение о том, что DeepLinkHandler undefined .Итак, после некоторых исследований я обнаружил, что мне нужно добавить дополнительную функцию под названием DeepLinkHandler .Ниже приведена функция, которую я использовал для обработки:

function DeepLinkHandler(data) {
    console.log("inside DeepLinkHandler");
    if (data) {
        alert('Data from deep link: ' + JSON.stringify(data));
    } else {
        alert('No data found');
    }
}

Кажется, что пока работает без ошибок, но данные всегда пусты.Я не вижу ключ или значение, которое я установил на приборной панели.Предупреждение всегда приводит к Данные из глубокой ссылки: {}

Что я здесь не так сделал?И как это на самом деле должно быть сделано?Не удалось найти об этой проблеме в документации о том, как обрабатывать глубокую ссылку

1 Ответ

0 голосов
/ 01 ноября 2018

Вы можете использовать React Native SDK Branch для использования данных ссылок.Это будет лучшим шагом вперед по сравнению с ручным управлением ссылкой.Чтобы прочитать данные реферальной ссылки, вы можете зарегистрировать функцию обратного вызова абонента, используя метод branch.subscribe , как показано ниже:

branch.subscribe(({ error, params }) => {
  if (error) {
    console.error('Error from Branch: ' + error)
    return
  }

  // params will never be null if error is null

  if (params['+non_branch_link']) {
    const nonBranchUrl = params['+non_branch_link']
    // Route non-Branch URL if appropriate.
    return
  }

  if (!params['+clicked_branch_link']) {
    // Indicates initialization success and some other conditions.
    // No link was opened.
    return
  }

  // A Branch link was opened.
  // Route link based on data in params.
})

При таком подходе вы получите обратный вызовиспользовать данные ссылки, связанные с реферальной ссылкой, каждый раз, когда ваше приложение открывается.Вы можете проверить нашу документацию и золотой стандарт примеры приложений для дальнейшей справки.

Пожалуйста, не стесняйтесь обращаться к нам по адресу Interations@branch.io в случаелюбые дальнейшие вопросы!

...