diff --git a/android/build.gradle b/android/build.gradle index 79faca3c..db6ccb3a 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -121,6 +121,7 @@ dependencies { api "com.github.klaviyo.klaviyo-android-sdk:analytics:$klaviyoAndroidSdkVersion" api "com.github.klaviyo.klaviyo-android-sdk:push-fcm:$klaviyoAndroidSdkVersion" api "com.github.klaviyo.klaviyo-android-sdk:forms:$klaviyoAndroidSdkVersion" + api "com.github.klaviyo.klaviyo-android-sdk:location:$klaviyoAndroidSdkVersion" implementation "com.github.klaviyo.klaviyo-android-sdk:core:$klaviyoAndroidSdkVersion" // We used reflection to enumerate keywords in the Klaviyo Android SDK dynamically diff --git a/android/gradle.properties b/android/gradle.properties index 5120afac..3071d5a8 100644 --- a/android/gradle.properties +++ b/android/gradle.properties @@ -11,7 +11,7 @@ org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryErro # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects # org.gradle.parallel=true #Tue Dec 19 15:08:27 EST 2023 -KlaviyoReactNativeSdk_klaviyoAndroidSdkVersion=4.1.0 +KlaviyoReactNativeSdk_klaviyoAndroidSdkVersion=68d7123 KlaviyoReactNativeSdk_kotlinVersion=1.8.0 KlaviyoReactNativeSdk_minSdkVersion=23 KlaviyoReactNativeSdk_targetSdkVersion=36 diff --git a/android/src/main/java/com/klaviyoreactnativesdk/KlaviyoReactNativeSdkModule.kt b/android/src/main/java/com/klaviyoreactnativesdk/KlaviyoReactNativeSdkModule.kt index 8669947e..2be0119c 100644 --- a/android/src/main/java/com/klaviyoreactnativesdk/KlaviyoReactNativeSdkModule.kt +++ b/android/src/main/java/com/klaviyoreactnativesdk/KlaviyoReactNativeSdkModule.kt @@ -20,6 +20,8 @@ import com.klaviyo.core.utils.AdvancedAPI import com.klaviyo.forms.InAppFormsConfig import com.klaviyo.forms.registerForInAppForms import com.klaviyo.forms.unregisterFromInAppForms +import com.klaviyo.location.registerGeofencing +import com.klaviyo.location.unregisterGeofencing import java.io.Serializable import kotlin.reflect.KVisibility import kotlin.time.Duration.Companion.seconds @@ -87,6 +89,16 @@ class KlaviyoReactNativeSdkModule( } } + @ReactMethod + fun registerGeofencing() { + Klaviyo.registerGeofencing() + } + + @ReactMethod + fun unregisterGeofencing() { + Klaviyo.unregisterGeofencing() + } + @ReactMethod fun setProfile(profile: ReadableMap) { val parsedProfile = Profile() diff --git a/configure-sdk.sh b/configure-sdk.sh index 7afd37c5..07afd9b9 100755 --- a/configure-sdk.sh +++ b/configure-sdk.sh @@ -50,6 +50,7 @@ function configure_podfile() { sed -i '' "/pod 'KlaviyoCore'/d" "$podfile" sed -i '' "/pod 'KlaviyoSwift'/d" "$podfile" sed -i '' "/pod 'KlaviyoForms'/d" "$podfile" + sed -i '' "/pod 'KlaviyoLocation'/d" "$podfile" if [[ -z "$swift_sdk_version" || "$swift_sdk_version" == "podspec" ]]; then echo "Skipping Swift SDK version update." @@ -57,7 +58,7 @@ function configure_podfile() { fi # List of dependencies - dependencies=("KlaviyoCore" "KlaviyoSwift" "KlaviyoForms") + dependencies=("KlaviyoCore" "KlaviyoSwift" "KlaviyoForms" "KlaviyoLocation") # Find the line number of the target block target_line=$(grep -n "# Insert override klaviyo-swift-sdk pods below this line when needed" "$podfile" | cut -d: -f1)