# stringee-react-native ## Getting started ### Installation For Expo project you need to enable and generate the native code in your project by running `$ npx expo prebuild` [More detail about Expo prebuild](https://docs.expo.dev/workflow/prebuild/) Install `stringee-react-native` by running: `$ npm install stringee-react-native --save` #### iOS **Note** Please make sure to have [CocoaPods](https://cocoapods.org/) on your computer. 1. In you terminal, change into your `ios` directory. 2. Create a pod file by running: `pod init`. 3. Add the following to your pod file: ``` platform :ios, '8.0' target '' do node_modules_path = '../node_modules' pod 'yoga', path: "#{node_modules_path}/react-native/ReactCommon/yoga/yoga.podspec" pod 'React', path: "#{node_modules_path}/react-native", :subspecs => ['DevSupport', 'RCTNetwork'] pod 'RNStringee', path: "#{node_modules_path}/stringee-react-native/ios" end post_install do |installer| installer.pods_project.targets.each do |target| if target.name == "React" target.remove_from_project end end end ``` 4. Now run, `pod install` 5. Open XCode 6. Open `.xcworkspace` file in XCode. This file can be found in the `ios` folder of your React Native project. 7. In the "Build Settings" tab -> "Other linker flags" add "$(inherited)" flag. 8. In the "Build Settings" tab -> "Enable bitcode" select "NO". 9. Right-click the information property list file (Info.plist) and select Open As -> Source Code. 10. Insert the following XML snippet into the body of your file just before the final element: ``` NSCameraUsageDescription $(PRODUCT_NAME) uses Camera NSMicrophoneUsageDescription $(PRODUCT_NAME) uses Microphone ``` #### Android ##### Proguard Open up `android/app/proguard-rules.pro` and add following lines: ``` -dontwarn org.webrtc.** -keep class org.webrtc.** { *; } -keep class com.stringee.** { *; } ``` ##### Permissions The Stringee Android SDK requires some permissions from your AndroidManifest 1. Open up `android/app/src/main/AndroidManifest.xml` 2. Add the following lines: ``` // for internet access // for audio access // for camera access // for bluetooth ``` ##### Dependencies 1. Open up `android/app/build.gradle` 2. Add the following lines: ``` dependencies { ... implementation 'com.android.volley:volley:*.*.*' ... } ``` ### Version 1.5.8 ##### Features: - Bug fixed: Connectivity doesn't establish with DualSIM iPhones. ### Version 1.5.7 ##### Features: - Allow setting ScaleType for StringeeVideoView. ### Version 1.5.6 ##### Features: - Bug fixed: Crash on checking exist call progress. ### Version 1.5.5 ##### Bug fixed: - Reset user information after reconnecting. ### Version 1.5.4 ##### Bug fixed: - Ios get last message always empty. ### Version 1.5.3 ##### Features: - Add event delete message when send message error. ### Version 1.5.2 ##### Features: - Upgrade webrtc android version. ### Version 1.5.1 ##### Bug fixes: - Convert wrong user data from native. ##### Features: - Upgrade ios sdk version. ### Version 1.5.0 ##### Bug fixes: - Declare ViewPropTypes from react native version 0.69.0. ##### Features: - Allow to get user info and update user info. - Upgrade android sdk version. - Upgrade ios sdk version. ### Version 1.4.31 ##### Features: - Allow to snapshot screen in eykc. ### Version 1.4.30 ##### Features: - Allow to send trackMediaStateChangeEvent. ### Version 1.4.29 ##### Bug fixes: - Missing listener in android. ### Version 1.4.28 ##### Upgrade sdk: - Upgrade android sdk. ### Version 1.4.27 ##### Bug fixes: - Wrong error value in android. ### Version 1.4.26 ##### Features: - Allows deleting tokens on other devices by package name when registerPush. ### Version 1.4.25 ##### Features: - Allows deleting tokens on other devices when registerPush. ### Version 1.4.24 ##### Bug fixes: - No event when user is removed from conversation ### Version 1.4.23 ##### Bug fixes: - Return the user's id instead of the user's name in android messages ### Version 1.4.22 ##### Bug fixes: - Return wrong data type in callback of function getMessageById ### Version 1.4.21 ##### Bug fixes: - Add getMessageById function ### Version 1.4.20 ##### Bug fixes: - Can not render video in background iOS ### Version 1.4.19 ##### Features: - Allow edit message, revoke message, pin/unpin message. ### Version 1.4.18 ##### Bug fixes: - No callback for deleteConversation and removeParticipant functions ### Version 1.4.15 ##### Bug fixes: - Fail to set stringeeXBaseUrl. ### Version 1.4.14 ##### Bug fixes: - No callback for hangup and reject functions. ### Version 1.4.13 ##### Bug fixes: - No call waiting video for StringeeCall 2 ### Version 1.4.11 ##### Bug fixes: - No callback for markMessageAsSeen function. ### Version 1.4.10 ##### Features: - Allow stringeeXUrl base change.