Skip to content

Commit d42d927

Browse files
committed
feat: add setOverAirVersion
1 parent 051024a commit d42d927

File tree

8 files changed

+60
-2
lines changed

8 files changed

+60
-2
lines changed

examples/default/src/App.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import Instabug, {
1010
ReproStepsMode,
1111
SessionReplay,
1212
LaunchType,
13+
OverAirUpdateServices,
1314
} from 'instabug-reactnative';
1415
import type { SessionMetadata } from 'instabug-reactnative';
1516
import { NativeBaseProvider } from 'native-base';
@@ -45,6 +46,7 @@ export const App: React.FC = () => {
4546
token: 'deb1910a7342814af4e4c9210c786f35',
4647
invocationEvents: [InvocationEvent.floatingButton],
4748
debugLogsLevel: LogLevel.verbose,
49+
overAirVersion: { service: OverAirUpdateServices.codePush, version: '1.0.0' },
4850
});
4951
CrashReporting.setNDKCrashesEnabled(true);
5052

examples/default/src/screens/HomeScreen.tsx

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import React from 'react';
22

33
import type { NativeStackScreenProps } from '@react-navigation/native-stack';
4-
4+
import Instabug, { OverAirUpdateServices } from 'instabug-reactnative';
55
import { ListTile } from '../components/ListTile';
66
import { Screen } from '../components/Screen';
77
import type { HomeStackParamList } from '../navigation/HomeStack';
@@ -11,6 +11,12 @@ export const HomeScreen: React.FC<NativeStackScreenProps<HomeStackParamList, 'Ho
1111
}) => {
1212
return (
1313
<Screen>
14+
<ListTile
15+
title="Set Over Air Version"
16+
onPress={() =>
17+
Instabug.setOverAirVersion({ service: OverAirUpdateServices.expo, version: '2.0' })
18+
}
19+
/>
1420
<ListTile title="Bug Reporting" onPress={() => navigation.navigate('BugReporting')} />
1521
<ListTile title="Crash Reporting" onPress={() => navigation.navigate('CrashReporting')} />
1622
<ListTile title="Feature Requests" onPress={() => navigation.navigate('FeatureRequests')} />

src/models/InstabugConfig.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import type { InvocationEvent, LogLevel, NetworkInterceptionMode } from '../utils/Enums';
2+
import type { OverAirUpdate } from './OverAirUpdate';
23

34
export interface InstabugConfig {
45
/**
@@ -29,4 +30,9 @@ export interface InstabugConfig {
2930
* @default NetworkInterceptionMode.javascript
3031
*/
3132
networkInterceptionMode?: NetworkInterceptionMode;
33+
34+
/**
35+
* An optional over air service update version to be used for all reports.
36+
*/
37+
overAirVersion?: OverAirUpdate;
3238
}

src/models/OverAirUpdate.ts

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
import { OverAirUpdateServices } from '../utils/Enums';
2+
export interface OverAirUpdate {
3+
/**
4+
* the name of OTA service
5+
* e.g. `codePush` or `expo`
6+
*/
7+
service: OverAirUpdateServices;
8+
9+
/**
10+
* The version or UUID of the OTA service
11+
*/
12+
13+
version: string;
14+
}

src/modules/Instabug.ts

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ import type { FeatureFlag } from '../models/FeatureFlag';
2929
import InstabugConstants from '../utils/InstabugConstants';
3030
import { InstabugRNConfig } from '../utils/config';
3131
import { Logger } from '../utils/logger';
32+
import type { OverAirUpdate } from '../models/OverAirUpdate';
3233

3334
let _currentScreen: string | null = null;
3435
let _lastScreen: string | null = null;
@@ -90,6 +91,7 @@ export const init = (config: InstabugConfig) => {
9091
config.debugLogsLevel ?? LogLevel.error,
9192
config.networkInterceptionMode === NetworkInterceptionMode.native,
9293
config.codePushVersion,
94+
config.overAirVersion,
9395
);
9496

9597
_isFirstScreen = true;
@@ -109,11 +111,22 @@ export const init = (config: InstabugConfig) => {
109111
/**
110112
* Sets the Code Push version to be sent with each report.
111113
* @param version the Code Push version.
114+
*
115+
* @deprecated Use {@link setOverAirVersion} instead.
112116
*/
113117
export const setCodePushVersion = (version: string) => {
114118
NativeInstabug.setCodePushVersion(version);
115119
};
116120

121+
/**
122+
* Sets over air update version to be sent with each report.
123+
* @param version the OTA version.
124+
*
125+
*/
126+
export const setOverAirVersion = (OTAserviceVersion: OverAirUpdate) => {
127+
NativeInstabug.setOverAirVersion(OTAserviceVersion);
128+
};
129+
117130
/**
118131
* Attaches user data to each report being sent.
119132
* Each call to this method overrides the user data to be attached.

src/native/NativeConstants.ts

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,8 @@ export type NativeConstants = NativeSdkDebugLogsLevel &
1313
NativeLocale &
1414
NativeNonFatalErrorLevel &
1515
NativeStringKey &
16-
NativeLaunchType;
16+
NativeLaunchType &
17+
NativeOverAirUpdateServices;
1718

1819
interface NativeSdkDebugLogsLevel {
1920
sdkDebugLogsLevelVerbose: any;
@@ -195,3 +196,8 @@ interface NativeLaunchType {
195196
warm: any;
196197
unknown: any;
197198
}
199+
200+
interface NativeOverAirUpdateServices {
201+
expo: any;
202+
codePush: any;
203+
}

src/native/NativeInstabug.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ import type {
1313
import type { NativeConstants } from './NativeConstants';
1414
import type { W3cExternalTraceAttributes } from '../models/W3cExternalTraceAttributes';
1515
import { NativeModules } from './NativePackage';
16+
import type { OverAirUpdate } from '../models/OverAirUpdate';
1617

1718
export interface InstabugNativeModule extends NativeModule {
1819
getConstants(): NativeConstants;
@@ -25,11 +26,13 @@ export interface InstabugNativeModule extends NativeModule {
2526
debugLogsLevel: LogLevel,
2627
useNativeNetworkInterception: boolean,
2728
codePushVersion?: string,
29+
overAirVersion?: OverAirUpdate,
2830
): void;
2931
show(): void;
3032

3133
// Misc APIs //
3234
setCodePushVersion(version: string): void;
35+
setOverAirVersion(OTAserviceVersion: OverAirUpdate): void;
3336
setIBGLogPrintsToConsole(printsToConsole: boolean): void;
3437
setSessionProfilerEnabled(isEnabled: boolean): void;
3538

src/utils/Enums.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -241,3 +241,11 @@ export enum LaunchType {
241241
*/
242242
warm = constants.warm,
243243
}
244+
245+
/**
246+
* Over Air Update Service
247+
*/
248+
export enum OverAirUpdateServices {
249+
codePush = constants.codePush,
250+
expo = constants.expo,
251+
}

0 commit comments

Comments
 (0)