Переменная доступа в React index.html для Branch SDK - PullRequest
0 голосов
/ 08 октября 2018

Если я добавлю этот SDK в свой файл index.html, как я не смогу получить к нему доступ в других моих компонентах.Есть ли другой способ сделать это?

  <script>
    // load Branch
      (function(b,r,a,n,c,h,_,s,d,k){if(!b[n]||!b[n]._q){for(;s<_.length;)c(h,_[s++]);d=r.createElement(a);d.async=1;d.src="https://cdn.branch.io/branch-latest.min.js";k=r.getElementsByTagName(a)[0];k.parentNode.insertBefore(d,k);b[n]=h}})(window,document,"script","branch",function(b,r){b[r]=function(){b._q.push([r,arguments])}},{_q:[],_v:1},"addListener applyCode autoAppIndex banner closeBanner closeJourney creditHistory credits data deepview deepviewCta first getCode init link logout redeem referrals removeListener sendSMS setBranchViewData setIdentity track validateCode trackCommerceEvent logEvent disableTracking".split(" "), 0);
    // init Branch
    branch.init('key_live_kaFuWw8WvY7yn1d9yYiP8gokwqjV0Swt');
  </script>

Попытка получить доступ к нему таким образом в другом компоненте.

var options = { no_journeys: true };
branch.init('key_live_kaFuWw8WvY7yn1d9yYiP8gokwqjV0Swt', options, function(err, data) {
  console.log(err, data); 
});

Ответы [ 2 ]

0 голосов
/ 08 октября 2018

Используйте пакет npm

https://github.com/BranchMetrics/web-branch-deep-linking#quick-install

npm i branch-sdk

Тогда:

import branch from 'branch-sdk'

branch.init(...)
0 голосов
/ 08 октября 2018

Вы можете привязать branch к свойству window и получать к ним доступ со всего приложения.

Инициализация:

<head>
  <script>
    branch.init('key_live_kaFuWw8WvY7yn1d9yYiP8gokwqjV0Swt', options, function(err, data) {
      window.__BRANCH__ = data;
    });
  </script>
</head>

Использование:

const Component = () => (
  <button 
    onClick={() => {
      // You have access to window.__BRANCH__
    }}
  >
    Button
  </button>
);
...