diff --git a/CHANGELOG.md b/CHANGELOG.md
index 9f044a8..8960398 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -4,12 +4,19 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
+## [2.3.3] - 2026-05-26
+
+### Fixed
+- [Android] Implemented web view masking for Canvas Technology.
+- [Android] Fixed an issue with web view masking.
+- [Android] Fixed an issue with masking displacement on fast scrolling.
+
## [2.3.2] - 2026-05-12
### Fixed
- Fixed an issue where Ktor classes were getting stripped due to proguard rules.
- Fixed an issue related to blank user identifier in identification calls.
-- Added a fix for masking stability during scrolls.
+- Added a fix for masking stability during scrolls.
- Fixed an issue related to garbage characters in custom events.
- Fixed an issue with empty crash types in iOS.
- Fixed an issue with push notifications not being delivered in sandbox environments in iOS.
diff --git a/devrev-sdk-react-native-2.3.3.tgz b/devrev-sdk-react-native-2.3.3.tgz
new file mode 100644
index 0000000..16a2930
Binary files /dev/null and b/devrev-sdk-react-native-2.3.3.tgz differ
diff --git a/sample/package.json b/sample/package.json
index bcd3229..124fbe9 100644
--- a/sample/package.json
+++ b/sample/package.json
@@ -10,7 +10,7 @@
"build:ios": "react-native build-ios --scheme DevRevSDKSample --mode Debug --extra-params \"-sdk iphonesimulator CC=clang CPLUSPLUS=clang++ LD=clang LDPLUSPLUS=clang++ GCC_OPTIMIZATION_LEVEL=0 GCC_PRECOMPILE_PREFIX_HEADER=YES ASSETCATALOG_COMPILER_OPTIMIZATION=time DEBUG_INFORMATION_FORMAT=dwarf COMPILER_INDEX_STORE_ENABLE=NO\""
},
"dependencies": {
- "@devrev/sdk-react-native": "^2.3.2",
+ "@devrev/sdk-react-native": "^2.3.3",
"@notifee/react-native": "^9.1.3",
"@react-native-community/cli-platform-ios": "^13.6.9",
"@react-native-firebase/app": "^21.0.0",
diff --git a/sample/react-native/ios/DevRevSDKSampleRN.entitlements b/sample/react-native/ios/DevRevSDKSampleRN.entitlements
index 28c29bf..903def2 100644
--- a/sample/react-native/ios/DevRevSDKSampleRN.entitlements
+++ b/sample/react-native/ios/DevRevSDKSampleRN.entitlements
@@ -3,6 +3,6 @@
aps-environment
- production
+ development
diff --git a/sample/react-native/ios/DevRevSDKSampleRN.xcodeproj/project.pbxproj b/sample/react-native/ios/DevRevSDKSampleRN.xcodeproj/project.pbxproj
index 921030c..203aae0 100644
--- a/sample/react-native/ios/DevRevSDKSampleRN.xcodeproj/project.pbxproj
+++ b/sample/react-native/ios/DevRevSDKSampleRN.xcodeproj/project.pbxproj
@@ -12,21 +12,21 @@
1CA606002D13FC7000B2293B /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 1CA605FF2D13FC7000B2293B /* GoogleService-Info.plist */; };
343065452DDCF35A009F6083 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 343065442DDCF35A009F6083 /* AppDelegate.swift */; };
81AB9BB82411601600AC10FF /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */; };
- 9A7308EF88995ACC89BC2D5E /* Pods_DevRevSDKSampleRN.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B805A1AA9820977AFB76CD04 /* Pods_DevRevSDKSampleRN.framework */; };
+ EF1AA09255E944CC774FB0C1 /* Pods_DevRevSDKSampleRN.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E3EE8C8BC611A9CAA5574249 /* Pods_DevRevSDKSampleRN.framework */; };
/* End PBXBuildFile section */
/* Begin PBXFileReference section */
- 0D11B4630DE9A1CBBC436572 /* Pods-DevRevSDKSampleRN.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-DevRevSDKSampleRN.release.xcconfig"; path = "Target Support Files/Pods-DevRevSDKSampleRN/Pods-DevRevSDKSampleRN.release.xcconfig"; sourceTree = ""; };
13B07F961A680F5B00A75B9A /* DevRevSDKSampleRN.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = DevRevSDKSampleRN.app; sourceTree = BUILT_PRODUCTS_DIR; };
13B07FB51A68108700A75B9A /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = Sources/Images.xcassets; sourceTree = ""; };
13B07FB61A68108700A75B9A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = Sources/Info.plist; sourceTree = ""; };
1CA605FF2D13FC7000B2293B /* GoogleService-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "GoogleService-Info.plist"; sourceTree = ""; };
1CA606012D13FCE400B2293B /* DevRevSDKSampleRN.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = DevRevSDKSampleRN.entitlements; sourceTree = ""; };
- 2B0E65D32F3CD21B96AC4526 /* Pods-DevRevSDKSampleRN.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-DevRevSDKSampleRN.debug.xcconfig"; path = "Target Support Files/Pods-DevRevSDKSampleRN/Pods-DevRevSDKSampleRN.debug.xcconfig"; sourceTree = ""; };
343065442DDCF35A009F6083 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = AppDelegate.swift; path = Sources/AppDelegate.swift; sourceTree = ""; };
+ 60508B310A9753744EE0782C /* Pods-DevRevSDKSampleRN.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-DevRevSDKSampleRN.release.xcconfig"; path = "Target Support Files/Pods-DevRevSDKSampleRN/Pods-DevRevSDKSampleRN.release.xcconfig"; sourceTree = ""; };
81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = LaunchScreen.storyboard; path = Sources/LaunchScreen.storyboard; sourceTree = ""; };
+ 8AC6DBD62B5701538664BE92 /* Pods-DevRevSDKSampleRN.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-DevRevSDKSampleRN.debug.xcconfig"; path = "Target Support Files/Pods-DevRevSDKSampleRN/Pods-DevRevSDKSampleRN.debug.xcconfig"; sourceTree = ""; };
A2B83FA1ACA1BE40552EEA27 /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xml; name = PrivacyInfo.xcprivacy; path = Sources/PrivacyInfo.xcprivacy; sourceTree = ""; };
- B805A1AA9820977AFB76CD04 /* Pods_DevRevSDKSampleRN.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_DevRevSDKSampleRN.framework; sourceTree = BUILT_PRODUCTS_DIR; };
+ E3EE8C8BC611A9CAA5574249 /* Pods_DevRevSDKSampleRN.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_DevRevSDKSampleRN.framework; sourceTree = BUILT_PRODUCTS_DIR; };
ED297162215061F000B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = System/Library/Frameworks/JavaScriptCore.framework; sourceTree = SDKROOT; };
/* End PBXFileReference section */
@@ -35,7 +35,7 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
- 9A7308EF88995ACC89BC2D5E /* Pods_DevRevSDKSampleRN.framework in Frameworks */,
+ EF1AA09255E944CC774FB0C1 /* Pods_DevRevSDKSampleRN.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -59,7 +59,7 @@
isa = PBXGroup;
children = (
ED297162215061F000B7C4FE /* JavaScriptCore.framework */,
- B805A1AA9820977AFB76CD04 /* Pods_DevRevSDKSampleRN.framework */,
+ E3EE8C8BC611A9CAA5574249 /* Pods_DevRevSDKSampleRN.framework */,
);
name = Frameworks;
sourceTree = "";
@@ -105,8 +105,8 @@
BBD78D7AC51CEA395F1C20DB /* Pods */ = {
isa = PBXGroup;
children = (
- 2B0E65D32F3CD21B96AC4526 /* Pods-DevRevSDKSampleRN.debug.xcconfig */,
- 0D11B4630DE9A1CBBC436572 /* Pods-DevRevSDKSampleRN.release.xcconfig */,
+ 8AC6DBD62B5701538664BE92 /* Pods-DevRevSDKSampleRN.debug.xcconfig */,
+ 60508B310A9753744EE0782C /* Pods-DevRevSDKSampleRN.release.xcconfig */,
);
path = Pods;
sourceTree = "";
@@ -118,15 +118,14 @@
isa = PBXNativeTarget;
buildConfigurationList = 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "DevRevSDKSampleRN" */;
buildPhases = (
- 8B8627DD21B3CE1F1BC53627 /* [CP] Check Pods Manifest.lock */,
+ 79D99AFFD42C79566699A194 /* [CP] Check Pods Manifest.lock */,
13B07F871A680F5B00A75B9A /* Sources */,
13B07F8C1A680F5B00A75B9A /* Frameworks */,
13B07F8E1A680F5B00A75B9A /* Resources */,
00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */,
- 562D1844B67636292AE9C0EE /* [DevRev] Embed SPM Frameworks */,
- 0613B587B6D102BCD69A3171 /* [CP] Embed Pods Frameworks */,
- 723C2962CCD2DE0D7A350B3D /* [CP] Copy Pods Resources */,
- 94ABE5EF039C55FDBA9B3116 /* [CP-User] [RNFB] Core Configuration */,
+ 9EEBE2A4BA4AAA08EBC649BE /* [CP] Embed Pods Frameworks */,
+ 2DB4C6E723704CE6C198EFF3 /* [CP] Copy Pods Resources */,
+ 84F618E3FF9BDBCFDD8C71E6 /* [CP-User] [RNFB] Core Configuration */,
);
buildRules = (
);
@@ -199,42 +198,7 @@
shellPath = /bin/sh;
shellScript = "set -e\n\nWITH_ENVIRONMENT=\"$REACT_NATIVE_PATH/scripts/xcode/with-environment.sh\"\nREACT_NATIVE_XCODE=\"$REACT_NATIVE_PATH/scripts/react-native-xcode.sh\"\n\n/bin/sh -c \"$WITH_ENVIRONMENT $REACT_NATIVE_XCODE\"\n";
};
- 0613B587B6D102BCD69A3171 /* [CP] Embed Pods Frameworks */ = {
- isa = PBXShellScriptBuildPhase;
- buildActionMask = 2147483647;
- files = (
- );
- inputFileListPaths = (
- "${PODS_ROOT}/Target Support Files/Pods-DevRevSDKSampleRN/Pods-DevRevSDKSampleRN-frameworks-${CONFIGURATION}-input-files.xcfilelist",
- );
- name = "[CP] Embed Pods Frameworks";
- outputFileListPaths = (
- "${PODS_ROOT}/Target Support Files/Pods-DevRevSDKSampleRN/Pods-DevRevSDKSampleRN-frameworks-${CONFIGURATION}-output-files.xcfilelist",
- );
- runOnlyForDeploymentPostprocessing = 0;
- shellPath = /bin/sh;
- shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-DevRevSDKSampleRN/Pods-DevRevSDKSampleRN-frameworks.sh\"\n";
- showEnvVarsInLog = 0;
- };
- 562D1844B67636292AE9C0EE /* [DevRev] Embed SPM Frameworks */ = {
- isa = PBXShellScriptBuildPhase;
- buildActionMask = 2147483647;
- files = (
- );
- inputFileListPaths = (
- );
- inputPaths = (
- );
- name = "[DevRev] Embed SPM Frameworks";
- outputFileListPaths = (
- );
- outputPaths = (
- );
- runOnlyForDeploymentPostprocessing = 0;
- shellPath = /bin/sh;
- shellScript = "FRAMEWORKS_TO_EMBED=(\"DevRevSDK\")\nfor fw in \"${FRAMEWORKS_TO_EMBED[@]}\"; do\n FW_PATH=\"${BUILT_PRODUCTS_DIR}/PackageFrameworks/${fw}.framework\"\n if [ ! -d \"$FW_PATH\" ]; then\n FW_PATH=\"${BUILT_PRODUCTS_DIR}/${fw}.framework\"\n fi\n if [ -d \"$FW_PATH\" ]; then\n DEST=\"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}\"\n mkdir -p \"$DEST\"\n rsync -av --delete \"$FW_PATH\" \"$DEST/\"\n if [ \"${CODE_SIGNING_ALLOWED:-NO}\" = \"YES\" ] && [ -n \"${EXPANDED_CODE_SIGN_IDENTITY:-}\" ]; then\n codesign --force --sign \"${EXPANDED_CODE_SIGN_IDENTITY}\" --preserve-metadata=identifier,entitlements \"$DEST/${fw}.framework\"\n fi\n fi\ndone\n";
- };
- 723C2962CCD2DE0D7A350B3D /* [CP] Copy Pods Resources */ = {
+ 2DB4C6E723704CE6C198EFF3 /* [CP] Copy Pods Resources */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
@@ -251,7 +215,7 @@
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-DevRevSDKSampleRN/Pods-DevRevSDKSampleRN-resources.sh\"\n";
showEnvVarsInLog = 0;
};
- 8B8627DD21B3CE1F1BC53627 /* [CP] Check Pods Manifest.lock */ = {
+ 79D99AFFD42C79566699A194 /* [CP] Check Pods Manifest.lock */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
@@ -273,7 +237,7 @@
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
showEnvVarsInLog = 0;
};
- 94ABE5EF039C55FDBA9B3116 /* [CP-User] [RNFB] Core Configuration */ = {
+ 84F618E3FF9BDBCFDD8C71E6 /* [CP-User] [RNFB] Core Configuration */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
@@ -286,6 +250,23 @@
shellPath = /bin/sh;
shellScript = "#!/usr/bin/env bash\n#\n# Copyright (c) 2016-present Invertase Limited & Contributors\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this library except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n#\n\n##########################################################################\n##########################################################################\n#\n# NOTE THAT IF YOU CHANGE THIS FILE YOU MUST RUN pod install AFTERWARDS\n#\n# This file is installed as an Xcode build script in the project file\n# by cocoapods, and you will not see your changes until you pod install\n#\n##########################################################################\n##########################################################################\n\nset -e\n\n_MAX_LOOKUPS=2;\n_SEARCH_RESULT=''\n_RN_ROOT_EXISTS=''\n_CURRENT_LOOKUPS=1\n_JSON_ROOT=\"'react-native'\"\n_JSON_FILE_NAME='firebase.json'\n_JSON_OUTPUT_BASE64='e30=' # { }\n_CURRENT_SEARCH_DIR=${PROJECT_DIR}\n_PLIST_BUDDY=/usr/libexec/PlistBuddy\n_TARGET_PLIST=\"${BUILT_PRODUCTS_DIR}/${INFOPLIST_PATH}\"\n_DSYM_PLIST=\"${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Info.plist\"\n\n# plist arrays\n_PLIST_ENTRY_KEYS=()\n_PLIST_ENTRY_TYPES=()\n_PLIST_ENTRY_VALUES=()\n\nfunction setPlistValue {\n echo \"info: setting plist entry '$1' of type '$2' in file '$4'\"\n ${_PLIST_BUDDY} -c \"Add :$1 $2 '$3'\" $4 || echo \"info: '$1' already exists\"\n}\n\nfunction getFirebaseJsonKeyValue () {\n if [[ ${_RN_ROOT_EXISTS} ]]; then\n ruby -Ku -e \"require 'rubygems';require 'json'; output=JSON.parse('$1'); puts output[$_JSON_ROOT]['$2']\"\n else\n echo \"\"\n fi;\n}\n\nfunction jsonBoolToYesNo () {\n if [[ $1 == \"false\" ]]; then\n echo \"NO\"\n elif [[ $1 == \"true\" ]]; then\n echo \"YES\"\n else echo \"NO\"\n fi\n}\n\necho \"info: -> RNFB build script started\"\necho \"info: 1) Locating ${_JSON_FILE_NAME} file:\"\n\nif [[ -z ${_CURRENT_SEARCH_DIR} ]]; then\n _CURRENT_SEARCH_DIR=$(pwd)\nfi;\n\nwhile true; do\n _CURRENT_SEARCH_DIR=$(dirname \"$_CURRENT_SEARCH_DIR\")\n if [[ \"$_CURRENT_SEARCH_DIR\" == \"/\" ]] || [[ ${_CURRENT_LOOKUPS} -gt ${_MAX_LOOKUPS} ]]; then break; fi;\n echo \"info: ($_CURRENT_LOOKUPS of $_MAX_LOOKUPS) Searching in '$_CURRENT_SEARCH_DIR' for a ${_JSON_FILE_NAME} file.\"\n _SEARCH_RESULT=$(find \"$_CURRENT_SEARCH_DIR\" -maxdepth 2 -name ${_JSON_FILE_NAME} -print | /usr/bin/head -n 1)\n if [[ ${_SEARCH_RESULT} ]]; then\n echo \"info: ${_JSON_FILE_NAME} found at $_SEARCH_RESULT\"\n break;\n fi;\n _CURRENT_LOOKUPS=$((_CURRENT_LOOKUPS+1))\ndone\n\nif [[ ${_SEARCH_RESULT} ]]; then\n _JSON_OUTPUT_RAW=$(cat \"${_SEARCH_RESULT}\")\n _RN_ROOT_EXISTS=$(ruby -Ku -e \"require 'rubygems';require 'json'; output=JSON.parse('$_JSON_OUTPUT_RAW'); puts output[$_JSON_ROOT]\" || echo '')\n\n if [[ ${_RN_ROOT_EXISTS} ]]; then\n if ! python3 --version >/dev/null 2>&1; then echo \"python3 not found, firebase.json file processing error.\" && exit 1; fi\n _JSON_OUTPUT_BASE64=$(python3 -c 'import json,sys,base64;print(base64.b64encode(bytes(json.dumps(json.loads(open('\"'${_SEARCH_RESULT}'\"', '\"'rb'\"').read())['${_JSON_ROOT}']), '\"'utf-8'\"')).decode())' || echo \"e30=\")\n fi\n\n _PLIST_ENTRY_KEYS+=(\"firebase_json_raw\")\n _PLIST_ENTRY_TYPES+=(\"string\")\n _PLIST_ENTRY_VALUES+=(\"$_JSON_OUTPUT_BASE64\")\n\n # config.app_data_collection_default_enabled\n _APP_DATA_COLLECTION_ENABLED=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"app_data_collection_default_enabled\")\n if [[ $_APP_DATA_COLLECTION_ENABLED ]]; then\n _PLIST_ENTRY_KEYS+=(\"FirebaseDataCollectionDefaultEnabled\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_APP_DATA_COLLECTION_ENABLED\")\")\n fi\n\n # config.analytics_auto_collection_enabled\n _ANALYTICS_AUTO_COLLECTION=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"analytics_auto_collection_enabled\")\n if [[ $_ANALYTICS_AUTO_COLLECTION ]]; then\n _PLIST_ENTRY_KEYS+=(\"FIREBASE_ANALYTICS_COLLECTION_ENABLED\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_ANALYTICS_AUTO_COLLECTION\")\")\n fi\n\n # config.analytics_collection_deactivated\n _ANALYTICS_DEACTIVATED=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"analytics_collection_deactivated\")\n if [[ $_ANALYTICS_DEACTIVATED ]]; then\n _PLIST_ENTRY_KEYS+=(\"FIREBASE_ANALYTICS_COLLECTION_DEACTIVATED\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_ANALYTICS_DEACTIVATED\")\")\n fi\n\n # config.analytics_idfv_collection_enabled\n _ANALYTICS_IDFV_COLLECTION=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"analytics_idfv_collection_enabled\")\n if [[ $_ANALYTICS_IDFV_COLLECTION ]]; then\n _PLIST_ENTRY_KEYS+=(\"GOOGLE_ANALYTICS_IDFV_COLLECTION_ENABLED\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_ANALYTICS_IDFV_COLLECTION\")\")\n fi\n\n # config.analytics_default_allow_analytics_storage\n _ANALYTICS_STORAGE=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"analytics_default_allow_analytics_storage\")\n if [[ $_ANALYTICS_STORAGE ]]; then\n _PLIST_ENTRY_KEYS+=(\"GOOGLE_ANALYTICS_DEFAULT_ALLOW_ANALYTICS_STORAGE\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_ANALYTICS_STORAGE\")\")\n fi\n\n # config.analytics_default_allow_ad_storage\n _ANALYTICS_AD_STORAGE=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"analytics_default_allow_ad_storage\")\n if [[ $_ANALYTICS_AD_STORAGE ]]; then\n _PLIST_ENTRY_KEYS+=(\"GOOGLE_ANALYTICS_DEFAULT_ALLOW_AD_STORAGE\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_ANALYTICS_AD_STORAGE\")\")\n fi\n\n # config.analytics_default_allow_ad_user_data\n _ANALYTICS_AD_USER_DATA=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"analytics_default_allow_ad_user_data\")\n if [[ $_ANALYTICS_AD_USER_DATA ]]; then\n _PLIST_ENTRY_KEYS+=(\"GOOGLE_ANALYTICS_DEFAULT_ALLOW_AD_USER_DATA\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_ANALYTICS_AD_USER_DATA\")\")\n fi\n\n # config.analytics_default_allow_ad_personalization_signals\n _ANALYTICS_PERSONALIZATION=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"analytics_default_allow_ad_personalization_signals\")\n if [[ $_ANALYTICS_PERSONALIZATION ]]; then\n _PLIST_ENTRY_KEYS+=(\"GOOGLE_ANALYTICS_DEFAULT_ALLOW_AD_PERSONALIZATION_SIGNALS\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_ANALYTICS_PERSONALIZATION\")\")\n fi\n\n # config.analytics_registration_with_ad_network_enabled\n _ANALYTICS_REGISTRATION_WITH_AD_NETWORK=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"google_analytics_registration_with_ad_network_enabled\")\n if [[ $_ANALYTICS_REGISTRATION_WITH_AD_NETWORK ]]; then\n _PLIST_ENTRY_KEYS+=(\"GOOGLE_ANALYTICS_REGISTRATION_WITH_AD_NETWORK_ENABLED\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_ANALYTICS_REGISTRATION_WITH_AD_NETWORK\")\")\n fi\n\n # config.google_analytics_automatic_screen_reporting_enabled\n _ANALYTICS_AUTO_SCREEN_REPORTING=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"google_analytics_automatic_screen_reporting_enabled\")\n if [[ $_ANALYTICS_AUTO_SCREEN_REPORTING ]]; then\n _PLIST_ENTRY_KEYS+=(\"FirebaseAutomaticScreenReportingEnabled\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_ANALYTICS_AUTO_SCREEN_REPORTING\")\")\n fi\n\n # config.perf_auto_collection_enabled\n _PERF_AUTO_COLLECTION=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"perf_auto_collection_enabled\")\n if [[ $_PERF_AUTO_COLLECTION ]]; then\n _PLIST_ENTRY_KEYS+=(\"firebase_performance_collection_enabled\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_PERF_AUTO_COLLECTION\")\")\n fi\n\n # config.perf_collection_deactivated\n _PERF_DEACTIVATED=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"perf_collection_deactivated\")\n if [[ $_PERF_DEACTIVATED ]]; then\n _PLIST_ENTRY_KEYS+=(\"firebase_performance_collection_deactivated\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_PERF_DEACTIVATED\")\")\n fi\n\n # config.messaging_auto_init_enabled\n _MESSAGING_AUTO_INIT=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"messaging_auto_init_enabled\")\n if [[ $_MESSAGING_AUTO_INIT ]]; then\n _PLIST_ENTRY_KEYS+=(\"FirebaseMessagingAutoInitEnabled\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_MESSAGING_AUTO_INIT\")\")\n fi\n\n # config.in_app_messaging_auto_colllection_enabled\n _FIAM_AUTO_INIT=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"in_app_messaging_auto_collection_enabled\")\n if [[ $_FIAM_AUTO_INIT ]]; then\n _PLIST_ENTRY_KEYS+=(\"FirebaseInAppMessagingAutomaticDataCollectionEnabled\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_FIAM_AUTO_INIT\")\")\n fi\n\n # config.app_check_token_auto_refresh\n _APP_CHECK_TOKEN_AUTO_REFRESH=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"app_check_token_auto_refresh\")\n if [[ $_APP_CHECK_TOKEN_AUTO_REFRESH ]]; then\n _PLIST_ENTRY_KEYS+=(\"FirebaseAppCheckTokenAutoRefreshEnabled\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_APP_CHECK_TOKEN_AUTO_REFRESH\")\")\n fi\n\n # config.crashlytics_disable_auto_disabler - undocumented for now - mainly for debugging, document if becomes useful\n _CRASHLYTICS_AUTO_DISABLE_ENABLED=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"crashlytics_disable_auto_disabler\")\n if [[ $_CRASHLYTICS_AUTO_DISABLE_ENABLED == \"true\" ]]; then\n echo \"Disabled Crashlytics auto disabler.\" # do nothing\n else\n _PLIST_ENTRY_KEYS+=(\"FirebaseCrashlyticsCollectionEnabled\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"NO\")\n fi\nelse\n _PLIST_ENTRY_KEYS+=(\"firebase_json_raw\")\n _PLIST_ENTRY_TYPES+=(\"string\")\n _PLIST_ENTRY_VALUES+=(\"$_JSON_OUTPUT_BASE64\")\n echo \"warning: A firebase.json file was not found, whilst this file is optional it is recommended to include it to configure firebase services in React Native Firebase.\"\nfi;\n\necho \"info: 2) Injecting Info.plist entries: \"\n\n# Log out the keys we're adding\nfor i in \"${!_PLIST_ENTRY_KEYS[@]}\"; do\n echo \" -> $i) ${_PLIST_ENTRY_KEYS[$i]}\" \"${_PLIST_ENTRY_TYPES[$i]}\" \"${_PLIST_ENTRY_VALUES[$i]}\"\ndone\n\nfor plist in \"${_TARGET_PLIST}\" \"${_DSYM_PLIST}\" ; do\n if [[ -f \"${plist}\" ]]; then\n\n # paths with spaces break the call to setPlistValue. temporarily modify\n # the shell internal field separator variable (IFS), which normally\n # includes spaces, to consist only of line breaks\n oldifs=$IFS\n IFS=\"\n\"\n\n for i in \"${!_PLIST_ENTRY_KEYS[@]}\"; do\n setPlistValue \"${_PLIST_ENTRY_KEYS[$i]}\" \"${_PLIST_ENTRY_TYPES[$i]}\" \"${_PLIST_ENTRY_VALUES[$i]}\" \"${plist}\"\n done\n\n # restore the original internal field separator value\n IFS=$oldifs\n else\n echo \"warning: A Info.plist build output file was not found (${plist})\"\n fi\ndone\n\necho \"info: <- RNFB build script finished\"\n";
};
+ 9EEBE2A4BA4AAA08EBC649BE /* [CP] Embed Pods Frameworks */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputFileListPaths = (
+ "${PODS_ROOT}/Target Support Files/Pods-DevRevSDKSampleRN/Pods-DevRevSDKSampleRN-frameworks-${CONFIGURATION}-input-files.xcfilelist",
+ );
+ name = "[CP] Embed Pods Frameworks";
+ outputFileListPaths = (
+ "${PODS_ROOT}/Target Support Files/Pods-DevRevSDKSampleRN/Pods-DevRevSDKSampleRN-frameworks-${CONFIGURATION}-output-files.xcfilelist",
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-DevRevSDKSampleRN/Pods-DevRevSDKSampleRN-frameworks.sh\"\n";
+ showEnvVarsInLog = 0;
+ };
/* End PBXShellScriptBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
@@ -302,13 +283,13 @@
/* Begin XCBuildConfiguration section */
13B07F941A680F5B00A75B9A /* Debug */ = {
isa = XCBuildConfiguration;
- baseConfigurationReference = 2B0E65D32F3CD21B96AC4526 /* Pods-DevRevSDKSampleRN.debug.xcconfig */;
+ baseConfigurationReference = 8AC6DBD62B5701538664BE92 /* Pods-DevRevSDKSampleRN.debug.xcconfig */;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_ENTITLEMENTS = DevRevSDKSampleRN.entitlements;
CURRENT_PROJECT_VERSION = 1;
- DEVELOPMENT_TEAM = NJDA6Y3XRS;
+ DEVELOPMENT_TEAM = "";
ENABLE_BITCODE = NO;
INFOPLIST_FILE = Sources/Info.plist;
LD_RUNPATH_SEARCH_PATHS = (
@@ -321,7 +302,7 @@
"-ObjC",
"-lc++",
);
- PRODUCT_BUNDLE_IDENTIFIER = ai.devrev.mobile.dev;
+ PRODUCT_BUNDLE_IDENTIFIER = ai.devrev.sdk.bridge.reactnative.sample;
PRODUCT_NAME = DevRevSDKSampleRN;
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
SWIFT_VERSION = 5.0;
@@ -331,15 +312,13 @@
};
13B07F951A680F5B00A75B9A /* Release */ = {
isa = XCBuildConfiguration;
- baseConfigurationReference = 0D11B4630DE9A1CBBC436572 /* Pods-DevRevSDKSampleRN.release.xcconfig */;
+ baseConfigurationReference = 60508B310A9753744EE0782C /* Pods-DevRevSDKSampleRN.release.xcconfig */;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_ENTITLEMENTS = DevRevSDKSampleRN.entitlements;
- CODE_SIGN_IDENTITY = "Apple Development";
- CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 1;
- DEVELOPMENT_TEAM = NJDA6Y3XRS;
+ DEVELOPMENT_TEAM = "";
INFOPLIST_FILE = Sources/Info.plist;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
@@ -353,7 +332,6 @@
);
PRODUCT_BUNDLE_IDENTIFIER = ai.devrev.sdk.bridge.reactnative.sample;
PRODUCT_NAME = DevRevSDKSampleRN;
- PROVISIONING_PROFILE_SPECIFIER = "";
SWIFT_VERSION = 5.0;
VERSIONING_SYSTEM = "apple-generic";
};
@@ -443,7 +421,10 @@
"-DFOLLY_CFG_NO_COROUTINES=1",
"-DFOLLY_HAVE_CLOCK_GETTIME=1",
);
- OTHER_LDFLAGS = "$(inherited) ";
+ OTHER_LDFLAGS = (
+ "$(inherited)",
+ " ",
+ );
REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native";
SDKROOT = iphoneos;
SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) DEBUG";
@@ -527,7 +508,10 @@
"-DFOLLY_CFG_NO_COROUTINES=1",
"-DFOLLY_HAVE_CLOCK_GETTIME=1",
);
- OTHER_LDFLAGS = "$(inherited) ";
+ OTHER_LDFLAGS = (
+ "$(inherited)",
+ " ",
+ );
REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native";
SDKROOT = iphoneos;
USE_HERMES = true;
diff --git a/sample/react-native/ios/DevRevSDKSampleRN.xcodeproj/xcshareddata/xcschemes/DevRevSDKSampleRN.xcscheme b/sample/react-native/ios/DevRevSDKSampleRN.xcodeproj/xcshareddata/xcschemes/DevRevSDKSampleRN.xcscheme
index ddb460f..d3c6ac5 100644
--- a/sample/react-native/ios/DevRevSDKSampleRN.xcodeproj/xcshareddata/xcschemes/DevRevSDKSampleRN.xcscheme
+++ b/sample/react-native/ios/DevRevSDKSampleRN.xcodeproj/xcshareddata/xcschemes/DevRevSDKSampleRN.xcscheme
@@ -31,7 +31,7 @@
shouldAutocreateTestPlan = "YES">
-
-
-
-
diff --git a/sample/react-native/ios/GoogleService-Info.plist b/sample/react-native/ios/GoogleService-Info.plist
index 50d3c49..ba10bf1 100644
--- a/sample/react-native/ios/GoogleService-Info.plist
+++ b/sample/react-native/ios/GoogleService-Info.plist
@@ -2,29 +2,15 @@
- API_KEY
- AIzaSyAP61uxqfXCAvpmtqPU_k5XR35Kmx2IU-c
- GCM_SENDER_ID
- 91712188040
- PLIST_VERSION
- 1
- BUNDLE_ID
- ai.devrev.sdk.sample.swiftui
- PROJECT_ID
- devrev-sdk-samples
- STORAGE_BUCKET
- devrev-sdk-samples.firebasestorage.app
- IS_ADS_ENABLED
-
- IS_ANALYTICS_ENABLED
-
- IS_APPINVITE_ENABLED
-
- IS_GCM_ENABLED
-
- IS_SIGNIN_ENABLED
-
- GOOGLE_APP_ID
- 1:91712188040:ios:8dbb42b4deb282afdf393d
+ API_KEY
+ DUMMY_API_KEY
+ CLIENT_ID
+ DUMMY_CLIENT_ID
+ GOOGLE_APP_ID
+ 1:1234567890:ios:abcdef123456
+ PROJECT_ID
+ dummy-project
+ BUNDLE_ID
+ ai.devrev.sdk.bridge.reactnative.sample
-
\ No newline at end of file
+
diff --git a/sample/react-native/ios/Podfile b/sample/react-native/ios/Podfile
index 14eaa41..90c2000 100644
--- a/sample/react-native/ios/Podfile
+++ b/sample/react-native/ios/Podfile
@@ -30,38 +30,5 @@ target 'DevRevSDKSampleRN' do
:mac_catalyst_enabled => false,
# :ccache_enabled => true
)
-
- # Embed SPM-resolved DevRevSDK.framework into the app bundle.
- # The spm_dependency in the podspec links DevRevSDK to the pod target,
- # but does not embed it in the app — causing a dyld "Library not loaded" crash.
- project_path = File.join(__dir__, "DevRevSDKSampleRN.xcodeproj")
- project = Xcodeproj::Project.open(project_path)
- app_target = project.targets.find { |t| t.name == "DevRevSDKSampleRN" }
-
- if app_target
- phase_name = "[DevRev] Embed SPM Frameworks"
- existing = app_target.shell_script_build_phases.find { |p| p.name == phase_name }
- unless existing
- phase = app_target.new_shell_script_build_phase(phase_name)
- phase.shell_script = <<~'SCRIPT'
- FRAMEWORKS_TO_EMBED=("DevRevSDK")
- for fw in "${FRAMEWORKS_TO_EMBED[@]}"; do
- FW_PATH="${BUILT_PRODUCTS_DIR}/PackageFrameworks/${fw}.framework"
- if [ ! -d "$FW_PATH" ]; then
- FW_PATH="${BUILT_PRODUCTS_DIR}/${fw}.framework"
- fi
- if [ -d "$FW_PATH" ]; then
- DEST="${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
- mkdir -p "$DEST"
- rsync -av --delete "$FW_PATH" "$DEST/"
- if [ "${CODE_SIGNING_ALLOWED:-NO}" = "YES" ] && [ -n "${EXPANDED_CODE_SIGN_IDENTITY:-}" ]; then
- codesign --force --sign "${EXPANDED_CODE_SIGN_IDENTITY}" --preserve-metadata=identifier,entitlements "$DEST/${fw}.framework"
- fi
- fi
- done
- SCRIPT
- end
- project.save
- end
end
end
diff --git a/sample/react-native/ios/Podfile.lock b/sample/react-native/ios/Podfile.lock
index 1987c68..3ea947a 100644
--- a/sample/react-native/ios/Podfile.lock
+++ b/sample/react-native/ios/Podfile.lock
@@ -2,7 +2,7 @@ PODS:
- boost (1.84.0)
- BVLinearGradient (2.8.3):
- React-Core
- - devrev-sdk-react-native (2.3.2):
+ - devrev-sdk-react-native (2.3.1):
- DoubleConversion
- glog
- hermes-engine
@@ -1933,7 +1933,7 @@ PODS:
- ReactCommon/turbomodule/bridging
- ReactCommon/turbomodule/core
- Yoga
- - RNPermissions (5.5.1):
+ - RNSVG (15.15.4):
- DoubleConversion
- glog
- hermes-engine
@@ -1956,33 +1956,9 @@ PODS:
- ReactCodegen
- ReactCommon/turbomodule/bridging
- ReactCommon/turbomodule/core
+ - RNSVG/common (= 15.15.4)
- Yoga
- - RNSVG (15.15.5):
- - DoubleConversion
- - glog
- - hermes-engine
- - RCT-Folly (= 2024.11.18.00)
- - RCTRequired
- - RCTTypeSafety
- - React-Core
- - React-debug
- - React-Fabric
- - React-featureflags
- - React-graphics
- - React-hermes
- - React-ImageManager
- - React-jsi
- - React-NativeModulesApple
- - React-RCTFabric
- - React-renderercss
- - React-rendererdebug
- - React-utils
- - ReactCodegen
- - ReactCommon/turbomodule/bridging
- - ReactCommon/turbomodule/core
- - RNSVG/common (= 15.15.5)
- - Yoga
- - RNSVG/common (15.15.5):
+ - RNSVG/common (15.15.4):
- DoubleConversion
- glog
- hermes-engine
@@ -2099,7 +2075,6 @@ DEPENDENCIES:
- "RNFBInstallations (from `../node_modules/@react-native-firebase/installations`)"
- "RNFBMessaging (from `../node_modules/@react-native-firebase/messaging`)"
- RNGestureHandler (from `../node_modules/react-native-gesture-handler`)
- - RNPermissions (from `../node_modules/react-native-permissions`)
- RNSVG (from `../node_modules/react-native-svg`)
- VisionCamera (from `../node_modules/react-native-vision-camera`)
- Yoga (from `../node_modules/react-native/ReactCommon/yoga`)
@@ -2283,8 +2258,6 @@ EXTERNAL SOURCES:
:path: "../node_modules/@react-native-firebase/messaging"
RNGestureHandler:
:path: "../node_modules/react-native-gesture-handler"
- RNPermissions:
- :path: "../node_modules/react-native-permissions"
RNSVG:
:path: "../node_modules/react-native-svg"
VisionCamera:
@@ -2295,7 +2268,7 @@ EXTERNAL SOURCES:
SPEC CHECKSUMS:
boost: 7e761d76ca2ce687f7cc98e698152abd03a18f90
BVLinearGradient: cb006ba232a1f3e4f341bb62c42d1098c284da70
- devrev-sdk-react-native: 146e6600a96c7bdb545e45c8d9af0aadd5fdf0f2
+ devrev-sdk-react-native: c39d15eaac67cdb71efbf3b939baffd9a34fcf32
DoubleConversion: cb417026b2400c8f53ae97020b2be961b59470cb
fast_float: 06eeec4fe712a76acc9376682e4808b05ce978b6
FBLazyVector: b60fe06f0f15b7d7408f169442176e69e8eeacde
@@ -2385,12 +2358,11 @@ SPEC CHECKSUMS:
RNFBInstallations: 0af3ed83ee414205ae466cc5dde4864c01179f99
RNFBMessaging: 6857871d9dff8f26b0c325fc7d97ba69cb77d213
RNGestureHandler: ee4fab31b7325a6090ccd19392800a5e0911a2d5
- RNPermissions: a1e9844aad4410e084c81ce16458cd6befbf86aa
- RNSVG: 76243ae0219c97fc021489356341a1d044b08466
+ RNSVG: 0917f41364761ab9f5f488a51c3d10428c3c8dd1
SocketRocket: d4aabe649be1e368d1318fdf28a022d714d65748
VisionCamera: 7187b3dac1ff3071234ead959ce311875748e14f
Yoga: fce72270ebed754904bbe5e18bb05cda3c3075db
-PODFILE CHECKSUM: 17c41740150e0aa30fa43f2bef2bda13b6c352b6
+PODFILE CHECKSUM: 77a3bbff7d76f2ae1551ede8ef62e45eff2a9e3b
COCOAPODS: 1.16.2
diff --git a/sample/react-native/ios/Sources/Info.plist b/sample/react-native/ios/Sources/Info.plist
index 5247d68..508207f 100644
--- a/sample/react-native/ios/Sources/Info.plist
+++ b/sample/react-native/ios/Sources/Info.plist
@@ -31,14 +31,14 @@
NSAllowsLocalNetworking
- NSCameraUsageDescription
- This app needs access to your camera to take photos
NSLocationWhenInUseUsageDescription
- NSPhotoLibraryAddUsageDescription
- This app needs permission to save photos to your library
+ NSCameraUsageDescription
+ This app needs access to your camera to take photos
NSPhotoLibraryUsageDescription
This app needs access to your photo library to select photos
+ NSPhotoLibraryAddUsageDescription
+ This app needs permission to save photos to your library
UIBackgroundModes
remote-notification
diff --git a/sample/react-native/ios/ab.plist b/sample/react-native/ios/ab.plist
deleted file mode 100644
index eead124..0000000
--- a/sample/react-native/ios/ab.plist
+++ /dev/null
@@ -1,30 +0,0 @@
-
-
-
-
- API_KEY
- AIzaSyCPhIrzLPPDw6yeEAemKq2DR3doq2iWtC8
- GCM_SENDER_ID
- 237385117319
- PLIST_VERSION
- 1
- BUNDLE_ID
- ai.devrev.mobile.dev
- PROJECT_ID
- app-devrev-dev
- STORAGE_BUCKET
- app-devrev-dev.firebasestorage.app
- IS_ADS_ENABLED
-
- IS_ANALYTICS_ENABLED
-
- IS_APPINVITE_ENABLED
-
- IS_GCM_ENABLED
-
- IS_SIGNIN_ENABLED
-
- GOOGLE_APP_ID
- 1:237385117319:ios:82eb9d5d8c51b079281222
-
-
\ No newline at end of file
diff --git a/sample/react-native/src/App.tsx b/sample/react-native/src/App.tsx
index 2417ae8..2439f77 100644
--- a/sample/react-native/src/App.tsx
+++ b/sample/react-native/src/App.tsx
@@ -131,7 +131,7 @@ const createScreen = (
const App = () => {
React.useEffect(() => {
try {
- DevRev.configure('DvRvStPZG9uOmNvcmU6ZHZydi11cy0xOmRldm8vM2ZBSEVDOnBsdWdfc2V0dGluZy8xX198fF9fMjAyNC0wNy0yOSAwOTozMjoxNC4xNjU1Mjc4NTggKzAwMDAgVVRDxlxendsDvRv');
+ DevRev.configure('YOUR_APP_ID');
DevRev.setShouldDismissModalsOnOpenLink(true);
PushNotificationsService.configure();
} catch (error) {