Интеграция Branch.io в приложение Ionic

Я пытаюсь отправить ссылку моего приложения с моего веб-сайта с токеном в ссылке следующим образом:

branch.link({
  stage: 'new user',
  data: {
       token: 543322
   }},
   function(err, link) {
    console.log(err, link);
});

затем, когда приложение устанавливается пользователем после нажатия на ссылку, я хочу получить этот токен для регистрации пользователя. Я попытался прочитать документы Branch.io и внедрить их, но это не работает. Может ли кто-нибудь сказать мне пример, как заставить его работать? Код в моем контроллере приложения выглядит так

(():void => {
  'use strict';
  angular
    .module('xyz')
    .controller('abc', abc);

    function abc (
      $window
    ) {
      let vm = this;

      $window.Branch.setDebug(true);
      $window.Branch.initSession().then(function (res) {
        console.log(res);
        alert('Response: ' + JSON.stringify(res));
       }).catch(function (err) {
         console.error(err);
         alert('Error: ' + JSON.stringify(err));
      });

      $window.Branch.getFirstReferringParams().then(function (res) {
        // Success Callback
        alert('res'+res);
      }).catch(function (err) {
        // Error Callback
        alert('err'+err);
      });

      $window.Branch.getLatestReferringParams().then(function (res) {
        // Success Callback
        alert(res);
      }).catch(function (err) {
        // Error Callback
        alert(err);
      });

      function DeepLinkHandler (data) {
       alert('Data from initSession: ' + data.data);
      }

      $window.DeepLinkHandler = DeepLinkHandler;

})();

person sandeep chhoker    schedule 19.04.2016    source источник


Ответы (1)


Алекс из Branch здесь: этот процесс состоит из трех шагов:

1. Создайте ссылку

Вы делаете это уже с кодом, который вы указали в своем вопросе.

2. Интегрируйте Branch SDK в свое приложение.

Страница документации, описывающая шаги для этого, находится здесь: https://dev.branch.io/getting-started/sdk-integration-guide/guide/cordova/

3. Следите за входящей ссылкой и маршрутизируйте ее.

Страница документации, описывающая, что вам нужно для этого, находится здесь: https://dev.branch.io/getting-started/deep-link-routing/advanced/cordova/

По сути, это функция, которая будет выглядеть примерно так:

function DeepLinkHandler(data) {
    console.log("received data: " + JSON.stringify(data));
    for (key in data) {
        if ((key != "type" && key != "source" && key != "bubbles" && key != "cancelBubble") && data[key] != null) {
            console.log(key + ": " + data["key"]);
        }
    }

    if (data["token"]) {
        // load the view to register the user based on your token
    } else {
        // load your normal view
    }
}
person Alex Bauer    schedule 19.04.2016
comment
Я уже все это делаю. Но DeepLinkHandler не вызывается после initSession. Я добавил код в вопрос. Скажи мне, что я делаю неправильно. - person sandeep chhoker; 20.04.2016