about summary refs log tree commit diff
path: root/src/lib/bitdrift.ts
blob: 98f2dd11e2ce5fce6b0577f68b6fe1bccb89d7ba (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
import {init, SessionStrategy} from '@bitdrift/react-native'
import {Statsig} from 'statsig-react-native-expo'

import {initPromise} from './statsig/statsig'

export {debug, error, info, warn} from '@bitdrift/react-native'

const BITDRIFT_API_KEY = process.env.BITDRIFT_API_KEY

initPromise.then(() => {
  let isEnabled = false
  let isNetworkEnabled = false
  try {
    if (Statsig.checkGate('enable_bitdrift_v2')) {
      isEnabled = true
    }
    if (Statsig.checkGate('enable_bitdrift_v2_networking')) {
      isNetworkEnabled = true
    }
  } catch (e) {
    // Statsig may complain about it being called too early.
  }
  if (isEnabled && BITDRIFT_API_KEY) {
    init(BITDRIFT_API_KEY, SessionStrategy.Activity, {
      url: 'https://api-bsky.bitdrift.io',
      // Only effects iOS, Android instrumentation is set via Gradle Plugin
      enableNetworkInstrumentation: isNetworkEnabled,
    })
  }
})