Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,7 @@ allprojects {
import Survicate, {UserTrait} from '@survicate/react-native-survicate';

Survicate.initializeSdk();
Survicate.setWorkspaceKey('WORKSPACE_KEY');
Survicate.invokeEvent("eventName");
const properties = {
"property1": "value1",
Expand Down
2 changes: 1 addition & 1 deletion android/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -120,7 +120,7 @@ repositories {
dependencies {
//noinspection GradleDynamicVersion
implementation 'com.facebook.react:react-native:+' // From node_modules
implementation ('com.survicate:survicate-sdk:4.4.0')
implementation ('com.survicate:survicate-sdk:5.0.0')
}

if (isNewArchitectureEnabled()) {
Expand Down
31 changes: 26 additions & 5 deletions android/src/main/java/com/survicate/react/SurvicateModuleImpl.java
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ public class SurvicateModuleImpl extends SurvicateModule {
private final SurvicateRNEventListener eventListener;

private int listenerCount = 0;
private boolean isInitialized = false;

public SurvicateModuleImpl(ReactApplicationContext reactContext) {
super(reactContext);
Expand All @@ -33,16 +34,25 @@ public String getName() {

@ReactMethod
public void enterScreen(String screenName) {
if (!isInitialized) {
return;
}
Survicate.enterScreen(screenName);
}

@ReactMethod
public void leaveScreen(String screenName) {
if (!isInitialized) {
return;
}
Survicate.leaveScreen(screenName);
}

@ReactMethod
public void invokeEvent(String eventName, ReadableMap eventProperties) {
if (!isInitialized) {
return;
}
Map<String, String> properties = new HashMap<>();
for (Map.Entry<String, Object> entry : eventProperties.toHashMap().entrySet()) {
String key = entry.getKey();
Expand All @@ -55,26 +65,31 @@ public void invokeEvent(String eventName, ReadableMap eventProperties) {

@ReactMethod
public void setUserId(String userId) {
if (!isInitialized) {
return;
}
Survicate.setUserTrait(new UserTrait.UserId(userId));
}

@ReactMethod
public void setUserTrait(String userTrait, String value) {
if (!isInitialized) {
return;
}
Survicate.setUserTrait(new UserTrait(userTrait, value));
}

@ReactMethod
public void initialize() {
Survicate.init(reactContext);
}

@ReactMethod
public void initializeSdk() {
Survicate.init(reactContext);
isInitialized = true;
}

@ReactMethod
public void reset() {
if (!isInitialized) {
return;
}
Survicate.reset();
}

Expand All @@ -85,6 +100,9 @@ public void setWorkspaceKey(String workspaceKey) {

@ReactMethod
public void addListener(String eventName) {
if (!isInitialized) {
return;
}
if (listenerCount == 0) {
Survicate.addEventListener(eventListener);
}
Expand All @@ -94,6 +112,9 @@ public void addListener(String eventName) {

@ReactMethod
public void removeListeners(int count) {
if (!isInitialized) {
return;
}
listenerCount -= count;

if (listenerCount == 0) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@ public SurvicateModule(@NonNull ReactApplicationContext reactContext) {
public abstract void invokeEvent(String eventName, ReadableMap eventProperties);
public abstract void setUserId(String userId);
public abstract void setUserTrait(String userTrait, String value);
public abstract void initialize();
public abstract void initializeSdk();
public abstract void reset();
public abstract void setWorkspaceKey(String workspaceKey);
Expand Down
5 changes: 0 additions & 5 deletions ios/SurvicateBindings.mm
Original file line number Diff line number Diff line change
Expand Up @@ -38,11 +38,6 @@ - (dispatch_queue_t)methodQueue
[[SurvicateSdk shared] setUserTraitWithName:traitName value:traitValue];
}

RCT_EXPORT_METHOD(initialize)
{
[[SurvicateSdk shared] initialize];
}

RCT_EXPORT_METHOD(initializeSdk)
{
[[SurvicateSdk shared] initialize];
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "@survicate/react-native-survicate",
"title": "React Native Survicate Bindings",
"version": "4.4.0",
"version": "5.0.0",
"description": "React Native bindings for Survicate Mobile SDK",
"main": "lib/commonjs/index.js",
"module": "lib/module/index.js",
Expand Down
2 changes: 1 addition & 1 deletion react-native-survicate.podspec
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ Pod::Spec.new do |s|
s.requires_arc = true

s.dependency "React"
s.dependency "Survicate", "4.4.0"
s.dependency "Survicate", "5.0.0"
# ...
# s.dependency "..."

Expand Down
1 change: 0 additions & 1 deletion src/NativeSurvicateModule.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ import type { TurboModule } from "react-native";
import { TurboModuleRegistry } from "react-native";

export interface Spec extends TurboModule {
initialize(): void;
initializeSdk(): void;
invokeEvent(eventName: string, eventProperties: Object): void;
enterScreen(screenName: string): void;
Expand Down
4 changes: 4 additions & 0 deletions src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,10 @@ export class SurvicateIntegrations {}
class Survicate {
static integrations = new SurvicateIntegrations();

static setWorkspaceKey(workspaceKey: string): void {
survicate.setWorkspaceKey(workspaceKey);
}

static initializeSdk(): void {
survicate.initializeSdk();
}
Expand Down
Loading