Skip to content

feat: support native 4.6.2#915

Merged
guoxianzhe merged 44 commits intomainfrom
dev/4.6.2
Mar 5, 2026
Merged

feat: support native 4.6.2#915
guoxianzhe merged 44 commits intomainfrom
dev/4.6.2

Conversation

@guoxianzhe
Copy link
Contributor

No description provided.

sda-rob and others added 29 commits July 4, 2025 07:04
* [AUTO] Update dependencies

* chore: optimize

---------

Co-authored-by: guoxianzhe <[email protected]>
Co-authored-by: gxz <[email protected]>
* chore: optimize

* chore: optimize
@LichKing-2234 LichKing-2234 requested a review from Copilot March 4, 2026 03:05
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates the repo to support Agora Native SDK 4.6.2 and introduces/refreshes an Expo example app (including E2E coverage and native build scaffolding) alongside CI/workflow adjustments needed to build and test it.

Changes:

  • Bump Android/iOS native Agora dependencies to 4.6.2 (including iOS screenshare pod).
  • Add a full Expo example app (router layout, hook-based examples, Android/iOS native projects, Detox E2E).
  • Update GitHub Actions workflows and setup action to align with the new example/CI flow.

Reviewed changes

Copilot reviewed 94 out of 387 changed files in this pull request and generated 14 comments.

Show a summary per file
File Description
examples/expo/ios/ScreenShare/SampleHandler.m Adds ReplayKit broadcast sample handler stub for screensharing extension.
examples/expo/ios/ScreenShare/SampleHandler.h Declares ReplayKit broadcast handler interface.
examples/expo/ios/Podfile.properties.json Introduces Expo iOS podfile properties (Hermes/new arch/deployment target).
examples/expo/ios/Podfile Adds iOS pods setup + ScreenShare target dependency on AgoraVideo_Special_iOS 4.6.2.70.
examples/expo/ios/.gitignore Adds iOS ignore rules for the Expo example native project.
examples/expo/e2e/starter.test.js Adds Detox starter E2E coverage for main navigation flows.
examples/expo/babel.config.js Adds module resolver aliasing for local package source in Expo example.
examples/expo/app/index.tsx Adds the Expo home screen listing examples + SDK version display.
examples/expo/app/examples/hook/index.ts Adds hook-based examples registry (including ScreenShare).
examples/expo/app/examples/hook/hooks/useInitRtcEngine.tsx Adds shared hook to init Agora engine + attach listeners for hook examples.
examples/expo/app/examples/hook/VirtualBackground/VirtualBackground.tsx Adds hook-based Virtual Background example.
examples/expo/app/examples/hook/TakeSnapshot/TakeSnapshot.tsx Adds hook-based snapshot example.
examples/expo/app/examples/hook/StringUid/StringUid.tsx Adds hook-based user-account join example.
examples/expo/app/examples/hook/JoinChannelVideo/JoinChannelVideo.tsx Adds hook-based video join example with render mode toggles.
examples/expo/app/examples/hook/AudioMixing/AudioMixing.tsx Adds hook-based audio mixing example.
examples/expo/app/examples/basic/index.ts Adds basic examples registry for Expo router.
examples/expo/app/examples/basic/StringUid/StringUid.tsx Adds class-based basic StringUid example (engine lifecycle + area code).
examples/expo/app/examples/advanced/index.ts Adds advanced examples registry for Expo router.
examples/expo/app/examples/advanced/VirtualBackground/VirtualBackground.tsx Adds class-based advanced Virtual Background example.
examples/expo/app/examples/advanced/VideoEncoderConfiguration/VideoEncoderConfiguration.tsx Adds class-based encoder configuration example.
examples/expo/app/examples/advanced/TakeSnapshot/TakeSnapshot.tsx Adds class-based advanced snapshot example.
examples/expo/app/examples/advanced/StreamMessage/StreamMessage.tsx Adds class-based stream message example.
examples/expo/app/examples/advanced/SpatialAudio/SpatialAudio.tsx Adds class-based spatial audio example.
examples/expo/app/examples/advanced/SendMetadata/SendMetadata.tsx Adds class-based metadata send/receive example.
examples/expo/app/examples/advanced/RhythmPlayer/RhythmPlayer.tsx Adds class-based rhythm player example.
examples/expo/app/examples/advanced/PushVideoFrame/PushVideoFrame.tsx Adds class-based external video source push-frame example.
examples/expo/app/examples/advanced/ProcessVideoRawData/ProcessVideoRawData.tsx Adds class-based raw video processing example via Android native module.
examples/expo/app/examples/advanced/PlayEffect/PlayEffect.tsx Adds class-based audio effect playback example.
examples/expo/app/examples/advanced/MediaRecorder/MediaRecorder.tsx Adds class-based media recorder example + foreground service usage.
examples/expo/app/examples/advanced/LocalSpatialAudioEngine/LocalSpatialAudioEngine.tsx Adds class-based local spatial audio engine example.
examples/expo/app/examples/advanced/Extension/Extension.tsx Adds class-based extension loading/enabling example.
examples/expo/app/examples/advanced/Encryption/Encryption.tsx Adds class-based encryption example.
examples/expo/app/examples/advanced/ContentInspect/ContentInspect.tsx Adds class-based content inspect example.
examples/expo/app/examples/advanced/ChannelMediaRelay/ChannelMediaRelay.tsx Adds class-based channel media relay example.
examples/expo/app/examples/advanced/BeautyEffect/BeautyEffect.tsx Adds class-based beauty effect example (clear vision extension).
examples/expo/app/examples/advanced/AudioSpectrum/AudioSpectrum.tsx Adds class-based audio spectrum monitoring example.
examples/expo/app/examples/advanced/AudioMixing/AudioMixing.tsx Adds class-based advanced audio mixing example.
examples/expo/app/examples/advanced/AudioCallRoute/AudioCallRoute.tsx Adds class-based audio routing/speaker route example.
examples/expo/app/_layout.tsx Adds Expo Router stack layout with per-screen header + log overlay.
examples/expo/app.json Adds Expo app configuration (plugins, permissions, deployment target).
examples/expo/android/settings.gradle Adds Expo/RN autolinking settings for Android example project.
examples/expo/android/gradlew Adds Gradle wrapper script for Android example project.
examples/expo/android/gradle/wrapper/gradle-wrapper.properties Pins Gradle distribution for Android example project.
examples/expo/android/gradle.properties Configures Android build flags (Hermes, new arch, minSdk, etc.) for example.
examples/expo/android/build.gradle Adds top-level Android build config + repos (incl. Detox maven).
examples/expo/android/app/src/main/res/values/styles.xml Adds app theme + splash theme for example.
examples/expo/android/app/src/main/res/values/strings.xml Adds app strings for example (name/splash config).
examples/expo/android/app/src/main/res/values/colors.xml Adds colors used by theme/splash/icons.
examples/expo/android/app/src/main/res/values-night/colors.xml Adds night-mode colors placeholder.
examples/expo/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml Adds adaptive icon definition.
examples/expo/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml Adds adaptive icon definition.
examples/expo/android/app/src/main/res/drawable/rn_edit_text_material.xml Adds RN edit text drawable workaround.
examples/expo/android/app/src/main/res/drawable/ic_launcher_background.xml Adds splash/background layer list.
examples/expo/android/app/src/main/java/com/reactnativeagoraexampleexpo/VideoRawDataNativeModulePackage.kt Registers raw video processing native module package.
examples/expo/android/app/src/main/java/com/reactnativeagoraexampleexpo/VideoRawDataNativeModule.kt Adds native video frame observer that modifies captured frames.
examples/expo/android/app/src/main/java/com/reactnativeagoraexampleexpo/MainApplication.kt Adds React Native host wiring + manual package registration.
examples/expo/android/app/src/main/java/com/reactnativeagoraexampleexpo/MainActivity.kt Uses AgoraPIPActivity and Expo delegate wrapping.
examples/expo/android/app/src/main/java/com/reactnativeagoraexampleexpo/AgoraServicePackage.kt Adds RN native module package to manage foreground service.
examples/expo/android/app/src/main/java/com/reactnativeagoraexampleexpo/AgoraServiceManager.kt Exposes start/stop foreground service to JS.
examples/expo/android/app/src/main/java/com/reactnativeagoraexampleexpo/AgoraForegroundService.kt Implements Android foreground service + notification channel.
examples/expo/android/app/src/main/AndroidManifest.xml Adds permissions, PIP activity, and foreground service declaration.
examples/expo/android/app/src/debug/AndroidManifest.xml Enables SYSTEM_ALERT_WINDOW + cleartext traffic for debug.
examples/expo/android/app/src/androidTest/java/com/reactnativeagoraexampleexpo/DetoxTest.java Adds Android instrumentation test entrypoint for Detox.
examples/expo/android/app/proguard-rules.pro Adds ProGuard keep rules for Reanimated/turbomodules + Detox rules link.
examples/expo/android/app/build.gradle Adds Android app module build config + Detox + Hermes/JSC setup.
examples/expo/android/.gitignore Adds Android ignore rules for Expo example.
examples/expo/.gitignore Adds root ignore rules for Expo example workspace.
examples/expo/.detoxrc.js Adds Detox configuration for iOS/Android example apps.
android/build.gradle Bumps Agora Android dependencies to 4.6.2 and adjusts dependency scopes.
CHANGELOG.md Adds 4.6.2-rc.1 changelog entry referencing Expo example addition.
.yarnrc.yml Removes a Yarn plugin entry (pod-install).
.github/workflows/typedoc.yml Updates deploy-pages action version.
.github/workflows/sync.yml Adjusts YAML quoting (no functional logic change).
.github/workflows/publish.yml Updates release workflow defaults/permissions + Node/npm setup + extra logging.
.github/workflows/dep.yml Updates runner + adds code generation action + points pod-install to examples/expo.
.github/workflows/ci.yml Updates CI to build/test the Expo example and changes macOS/Xcode config.
.github/workflows/build.yml Updates build artifacts and paths for Expo example and adjusts runners.
.github/actions/setup/action.yml Updates CocoaPods version and changes Yarn install behavior.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copilot AI added a commit that referenced this pull request Mar 4, 2026
@guoxianzhe guoxianzhe merged commit 03c369e into main Mar 5, 2026
12 checks passed
@guoxianzhe guoxianzhe deleted the dev/4.6.2 branch March 5, 2026 07:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants