Skip to content

Commit bf44ef6

Browse files
committed
📝 invokeWithOptions, invoke, startWithToken APIs
1 parent 743c677 commit bf44ef6

File tree

3 files changed

+60
-3
lines changed

3 files changed

+60
-3
lines changed

index.js

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ module.exports = {
3535
},
3636

3737
/**
38+
* @deprecated since version 2.3.0. Use {@link invokeWithInvocationModes} instead.
3839
* Invokes the SDK with a specific mode.
3940
* Invokes the SDK and show a specific view, instead of showing a prompt for
4041
* users to choose from.
@@ -45,6 +46,17 @@ module.exports = {
4546
Instabug.invokeWithInvocationMode(invocationMode);
4647
},
4748

49+
/**
50+
* Invokes the SDK with a specific mode.
51+
* Invokes the SDK and show a specific view, instead of showing a prompt for
52+
* users to choose from.
53+
* @param {invocationOptions} invocationOptions Specifies which mode the
54+
* SDK is going to start with.
55+
*/
56+
invokeWithModes: function (invocationOptions) {
57+
Instabug.invokeWithInvocationModes(invocationOptions);
58+
},
59+
4860
/**
4961
* Dismisses any Instabug views that are currently being shown.
5062
*/
@@ -1051,6 +1063,22 @@ module.exports = {
10511063
chatsList: Instabug.invocationModeChatsList
10521064
},
10531065

1066+
/**
1067+
* The options used upon invocating the SDK
1068+
* @readonly
1069+
* @enum {number}
1070+
*/
1071+
invocationOptions: {
1072+
invocationOptionNewBug: Instabug.invocationOptionNewBug,
1073+
invocationOptionNewFeedback: Instabug.invocationOptionNewFeedback,
1074+
invocationOptionNewChat: Instabug.invocationOptionNewChat,
1075+
invocationOptionsChatsList: Instabug.invocationOptionsChatsList,
1076+
invocationOptionsEmailFieldHidden: Instabug.invocationOptionsEmailFieldHidden,
1077+
invocationOptionsEmailFieldOptional: Instabug.invocationOptionsEmailFieldOptional,
1078+
invocationOptionsCommentFieldRequired: Instabug.invocationOptionsCommentFieldRequired,
1079+
invocationOptionsDisablePostSendingDialog: Instabug.invocationOptionsDisablePostSendingDialog
1080+
},
1081+
10541082
/**
10551083
* The extended bug report mode
10561084
* @readonly

ios/RNInstabug/InstabugReactBridge.m

Lines changed: 21 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66

77
#import "InstabugReactBridge.h"
88
#import <Instabug/Instabug.h>
9+
#import <Instabug/IBGBugReporting.h>
910
#import <asl.h>
1011
#import <React/RCTLog.h>
1112
#import <os/log.h>
@@ -30,8 +31,12 @@ - (dispatch_queue_t)methodQueue {
3031
return dispatch_get_main_queue();
3132
}
3233

33-
RCT_EXPORT_METHOD(startWithToken:(NSString *)token invocationEvent:(IBGInvocationEvent)invocationEvent) {
34-
[Instabug startWithToken:token invocationEvent:invocationEvent];
34+
RCT_EXPORT_METHOD(startWithToken:(NSString *)token invocationEvents:(NSArray*)invocationEventsArray) {
35+
IBGInvocationEvent invocationEvents = 0;
36+
for (NSNumber *boxedValue in invocationEventsArray) {
37+
invocationEvents |= [boxedValue intValue];
38+
}
39+
[Instabug startWithToken:token invocationEvents:invocationEvents];
3540
RCTAddLogFunction(InstabugReactLogFunction);
3641
RCTSetLogThreshold(RCTLogLevelInfo);
3742
[Instabug setNetworkLoggingEnabled:NO];
@@ -42,13 +47,17 @@ - (dispatch_queue_t)methodQueue {
4247
}
4348

4449
RCT_EXPORT_METHOD(invoke) {
45-
[Instabug invoke];
50+
[IBGBugReporting invoke];
4651
}
4752

4853
RCT_EXPORT_METHOD(invokeWithInvocationMode:(IBGInvocationMode)invocationMode) {
4954
[Instabug invokeWithInvocationMode:invocationMode];
5055
}
5156

57+
RCT_EXPORT_METHOD(invokeWithInvocationModes:(IBGBugReportingInvocationOption)invocationOptions) {
58+
[Instabug invokeWithOptions:invocationOptions];
59+
}
60+
5261
RCT_EXPORT_METHOD(dismiss) {
5362
[Instabug dismiss];
5463
}
@@ -501,6 +510,15 @@ - (NSDictionary *)constantsToExport
501510
@"localeSwedish": @(IBGLocaleSwedish),
502511
@"localeTurkish": @(IBGLocaleTurkish),
503512

513+
@"invocationOptionNewBug": @(IBGBugReportingInvocationOptionNewBug),
514+
@"invocationOptionNewFeedback": @(IBGBugReportingInvocationOptionNewFeedback),
515+
@"invocationOptionNewChat": @(IBGBugReportingInvocationOptionNewChat),
516+
@"invocationOptionsChatsList": @(IBGBugReportingInvocationOptionChatsList),
517+
@"invocationOptionsEmailFieldHidden": @(IBGBugReportingInvocationOptionEmailFieldHidden),
518+
@"invocationOptionsEmailFieldOptional": @(IBGBugReportingInvocationOptionEmailFieldOptional),
519+
@"invocationOptionsCommentFieldRequired": @(IBGBugReportingInvocationOptionCommentFieldRequired),
520+
@"invocationOptionsDisablePostSendingDialog": @(IBGBugReportingInvocationOptionDisablePostSendingDialog),
521+
504522
@"colorThemeLight": @(IBGColorThemeLight),
505523
@"colorThemeDark": @(IBGColorThemeDark),
506524

ios/RNInstabug/RCTConvert+InstabugEnums.m

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,17 @@ @implementation RCTConvert (InstabugEnums)
2828
@"invocationModeChatsList": @(IBGInvocationModeChatsList)
2929
}), IBGInvocationModeNA, integerValue);
3030

31+
RCT_ENUM_CONVERTER(IBGBugReportingInvocationOption, (@{
32+
@"invocationOptionNewBug": @(IBGBugReportingInvocationOptionNewBug),
33+
@"invocationOptionNewFeedback": @(IBGBugReportingInvocationOptionNewFeedback),
34+
@"invocationOptionNewChat": @(IBGBugReportingInvocationOptionNewChat),
35+
@"invocationOptionsChatsList": @(IBGBugReportingInvocationOptionChatsList),
36+
@"invocationOptionsEmailFieldHidden": @(IBGBugReportingInvocationOptionEmailFieldHidden),
37+
@"invocationOptionsEmailFieldOptional": @(IBGBugReportingInvocationOptionEmailFieldOptional),
38+
@"invocationOptionsCommentFieldRequired": @(IBGBugReportingInvocationOptionCommentFieldRequired),
39+
@"invocationOptionsDisablePostSendingDialog": @(IBGBugReportingInvocationOptionDisablePostSendingDialog)
40+
}), IBGInvocationModeNA, integerValue);
41+
3142
RCT_ENUM_CONVERTER(IBGDismissType, (@{
3243
@"dismissTypeSubmit": @(IBGDismissTypeSubmit),
3344
@"dismissTypeCancel": @(IBGDismissTypeCancel),

0 commit comments

Comments
 (0)