Skip to content

Commit

Permalink
Dev/show 4.2.1 hot update (#946)
Browse files Browse the repository at this point in the history
* feat: add hot update beauty test

* fix: hot update fu lic/resource & optimize resource manager invoke

* fix: resource path fixed

* feat: upgrade callapi to 2.0.0

* fix: upgrade resource manager

* feat: add rtm syncmanager & refactor pure 1v1 service

* feat: add rtm syncmanager to 'show to 1v1'

* feat: add AudioScenarioApi

* fix: optimize and add log

* fix: rtm lost fixed

* fix: add log & fix rtm lost

* fix: rtm lost fixed

* fix: rtm lost fixed

* fix: upgrade resource manager

* fix: upgrade callapi & fix uid encode bugs name in ShowTo1v1UserInfo

* fix: write resource manager log

* fix audio aip (#912)

* fix: senseme sticker & style resource path fixed

* fix: byte effect sticker path

* fix: add download progress view

* fix: download beauty resource fixed

* fix: retain cycle fixed

* fix: remove unuse file

* fix: add unzip progress to startDownloadZip

* fix: syncmanager enter fail handler

* fix: rtm syncmanager minor fixed

* fix:  unzip cancelable

* fix: resource manager & syncmanger log

* fix: update log

* feat: add 1v1 video config scenarios

* refactor: refactor callapi

* Show 4.2.1 hot update fp (#914)

* fix audio aip

* fix logger

* fix: upgrade rtc sdk to 4.1.1.27 & fix resource logger

* fix: upgrade callapi

* fix: upgrade callapi

* fix: main thread checker

* feat: adapt to  videoloader API

* Show 4.2.1 hot update fp (#915)

* fix audio aip

* fix logger

* fix bug

* feat: add  'audio dump' config to 1v1 & show to 1v1

* test: add cost time log

* fix:  destroy room in 'show to 1v1' fixed

* fix: upgrade syncmanager

* fix: add dynamic resource url to keycenter

* Show 4.2.1 hot update fp (#917)

* fix audio aip

* fix logger

* fix bug

* fix logger

* fix show logger

* fix: ui bugs fixed

* fix: update  encoder(720 x 1280 & 24fps )to 'show to 1v1'

* fix: add delegate timing fixed

* fix: agora beauty reset fixed

* feat: add mute cameta/mic to 1v1 page vc

* fix: mute audio/video fixed

* fix: recv remote mute video handler

* fix: data panel fixed

* fix: upgrade videoloader api

* refactor: reuse network manager & appid/certificate

* fix: cancel mic seat timing fixed

* fix: empty display incorrect

* fix: destroy rtm when pop 'pure1v1' & upgrade rtm to 2.1.10

* perf: migration user bg image to cdn

* fix: rtm subscribe not respond workaround

* fix: upgrade videoloaderapi

* fix: revert rtm version

* fix: upgrade scenario api

* fix: download resource crash when disconnect

* fix: minor changes

* fix: render remote canvas in show scene fixed

* fix: auto accept 1v1 autosubscribe audio bugs fix

* fix: revoke apply button visible fixed

* fix: stop interaction bugs & add more log

* fix: upgrade rtm to 2.1.10

* fix: rtc token expire handle fixed

* fix: unmute audio when join broadcaster vc  & remove remote canvas when leave broadcaster vc as audience

* fix: stop preload when tap 'invoke'

* fix: fetch apply list bug fixed

* feat: upgrade sdk to 4.1.1.29 & update data pannel

* perf: update presence timeout to 60,

* fix: add more error toast  & update presence timeout to 30

* feat: upgrade rtm/rtm syncmanager/callapi

* fix: remove unused code

* fix: workaround remove & minor changes

* fix: update h265 config

* fix: update audio scenario api

* fix: enable local video when publish camera track

* fix: loading can not interrupted when lost connecti

* fix: preset user state to rtm

* fix: upgrade rtm syncmanager

* fix: gain minor change

* fix: upgrade sdwebimage to 5.x

* perf: logger format update

* feat: upload logs with zip file

* fix: update lcoalized string

* feat: add more toast

* fix: show camera when create room & clean room list optimize

* feat: token generate optimize

* fix: expired fixed

* fix: retry optimize & add more log

* fix: add privacy

* fix: update privacy

* fix: optimize ring

* fix: lic name fixed & clean http cache

* fix: videoloaderapi fixed

* fix: update version

* fix: clean same user room when get room list

* fix: update arbiter

* fix: leave scene when enter fail

* fix: clean metadata immediately when delete scene

* fix: make token expired time =  24 hour

* fix: presence timeout = 300s

---------

Co-authored-by: yiwangwuqianfjp <[email protected]>
  • Loading branch information
tamworth and yiwangwuqianfjp authored May 10, 2024
1 parent 74250e8 commit 02d2089
Show file tree
Hide file tree
Showing 76 changed files with 1,536 additions and 1,098 deletions.
24 changes: 9 additions & 15 deletions iOS/AgoraEntScenarios.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
DD1F53592B9FF0C0009E4287 /* AGResourceManager+Ent.swift in Sources */ = {isa = PBXBuildFile; fileRef = DD1F53582B9FF0C0009E4287 /* AGResourceManager+Ent.swift */; };
DD1F535F2B9FF7C1009E4287 /* FUDynmicResourceConfig.m in Sources */ = {isa = PBXBuildFile; fileRef = DD1F535E2B9FF7C1009E4287 /* FUDynmicResourceConfig.m */; };
DD1F53652BA01D9F009E4287 /* fu_authpack_reader.c in Sources */ = {isa = PBXBuildFile; fileRef = DD1F53642BA01D9F009E4287 /* fu_authpack_reader.c */; };
DD227ECA2BE9CE4F00013A18 /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = DD227EC92BE9CE4F00013A18 /* PrivacyInfo.xcprivacy */; };
DD2A43CB28FFCEE7004CEDCF /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = DD2A43CA28FFCEE7004CEDCF /* AppDelegate.swift */; };
DD2A43CF28FFCEE7004CEDCF /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = DD2A43CE28FFCEE7004CEDCF /* ViewController.swift */; };
DD2A43D228FFCEE7004CEDCF /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = DD2A43D028FFCEE7004CEDCF /* Main.storyboard */; };
Expand Down Expand Up @@ -759,6 +760,7 @@
DD1F53632BA01D9F009E4287 /* fu_authpack_reader.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = fu_authpack_reader.h; sourceTree = "<group>"; };
DD1F53642BA01D9F009E4287 /* fu_authpack_reader.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = fu_authpack_reader.c; sourceTree = "<group>"; };
DD220BC1295B340A00F57F30 /* MenuUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MenuUtils.h; sourceTree = "<group>"; };
DD227EC92BE9CE4F00013A18 /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = PrivacyInfo.xcprivacy; sourceTree = "<group>"; };
DD2A43C728FFCEE7004CEDCF /* AgoraEntScenarios.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = AgoraEntScenarios.app; sourceTree = BUILT_PRODUCTS_DIR; };
DD2A43CA28FFCEE7004CEDCF /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
DD2A43CE28FFCEE7004CEDCF /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = "<group>"; };
Expand Down Expand Up @@ -1808,6 +1810,7 @@
DD2A43C928FFCEE7004CEDCF /* AgoraEntScenarios */ = {
isa = PBXGroup;
children = (
DD227EC92BE9CE4F00013A18 /* PrivacyInfo.xcprivacy */,
DDDDDA2D28FFD78B005F4E8B /* KeyCenter.swift */,
DDA198DC28FFE579009D3E61 /* Common */,
DDA1997928FFE579009D3E61 /* ThirdParty */,
Expand Down Expand Up @@ -4313,6 +4316,7 @@
DD84179029090C520026B624 /* Media.xcassets in Resources */,
DD2A43D428FFCEE7004CEDCF /* Assets.xcassets in Resources */,
E301C0042AF8E8E90089A79C /* README.md in Resources */,
DD227ECA2BE9CE4F00013A18 /* PrivacyInfo.xcprivacy in Resources */,
E358F800293494BC00A7EBD1 /* InfoPlist.strings in Resources */,
DD2A43D228FFCEE7004CEDCF /* Main.storyboard in Resources */,
E301C0052AF8E8E90089A79C /* sbg_scene.png in Resources */,
Expand Down Expand Up @@ -5291,11 +5295,9 @@
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_IDENTITY = "Apple Development";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
CODE_SIGN_STYLE = Manual;
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 1;
DEVELOPMENT_TEAM = "";
"DEVELOPMENT_TEAM[sdk=iphoneos*]" = YS397FG5PA;
DEVELOPMENT_TEAM = YS397FG5PA;
ENABLE_BITCODE = NO;
ENABLE_MODULE_VERIFIER = YES;
ENABLE_USER_SCRIPT_SANDBOXING = NO;
Expand Down Expand Up @@ -5431,8 +5433,6 @@
"-framework",
"\"SDWebImage\"",
"-framework",
"\"SDWebImageAPNGCoder\"",
"-framework",
"\"SSZipArchive\"",
"-framework",
"\"SVGAPlayer\"",
Expand Down Expand Up @@ -5505,7 +5505,6 @@
PRODUCT_BUNDLE_IDENTIFIER = io.agora.test.entfull;
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
"PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = wildcard;
SWIFT_EMIT_LOC_STRINGS = YES;
SWIFT_OBJC_BRIDGING_HEADER = "AgoraEntScenarios/AgoraEntScenarios-Bridging-Header.h";
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
Expand All @@ -5522,11 +5521,9 @@
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_IDENTITY = "Apple Development";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
CODE_SIGN_STYLE = Manual;
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 1;
DEVELOPMENT_TEAM = "";
"DEVELOPMENT_TEAM[sdk=iphoneos*]" = YS397FG5PA;
DEVELOPMENT_TEAM = YS397FG5PA;
ENABLE_BITCODE = NO;
ENABLE_MODULE_VERIFIER = YES;
ENABLE_USER_SCRIPT_SANDBOXING = NO;
Expand Down Expand Up @@ -5662,8 +5659,6 @@
"-framework",
"\"SDWebImage\"",
"-framework",
"\"SDWebImageAPNGCoder\"",
"-framework",
"\"SSZipArchive\"",
"-framework",
"\"SVGAPlayer\"",
Expand Down Expand Up @@ -5736,7 +5731,6 @@
PRODUCT_BUNDLE_IDENTIFIER = io.agora.test.entfull;
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
"PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = wildcard;
SWIFT_EMIT_LOC_STRINGS = YES;
SWIFT_OBJC_BRIDGING_HEADER = "AgoraEntScenarios/AgoraEntScenarios-Bridging-Header.h";
SWIFT_VERSION = 5.0;
Expand All @@ -5751,7 +5745,7 @@
BUNDLE_LOADER = "$(TEST_HOST)";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 1;
DEVELOPMENT_TEAM = JDPG69R49Z;
DEVELOPMENT_TEAM = YS397FG5PA;
GENERATE_INFOPLIST_FILE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 15.5;
MARKETING_VERSION = 1.0;
Expand Down
11 changes: 6 additions & 5 deletions iOS/AgoraEntScenarios/AgoraCommon.podspec
Original file line number Diff line number Diff line change
Expand Up @@ -37,23 +37,25 @@ TODO: Add long description of the pod here.

s.source_files = ['Context/*.swift',
'Common/Manager/Helper/UserCenter/*',
'Common/Manager/StateManager/*',
'Common/Manager/Authorized/*',
'Common/Manager/NetworkManager/*',
'Common/Manager/VLDefine/VLMacroDefine.*',
'Common/UI/VLNetwork/Model/VLBaseModel.*',
'Common/UI/Base/View/VLBaseView.*',
'Common/UI/Base/View/VLUIView.*',
'Common/UI/Base/View/VerifyCodeView.*',
'Common/UI/Base/View/VRVerifyCodeTextView.*',
'Common/UI/Base/View/VerifyCodeView.*',
'Common/UI/Base/View/VRVerifyCodeTextView.*',
'Common/UI/VLEmptyView/VLEmptyView.h',
'Common/UI/Base/ViewController/VLBaseViewController.*',
'Common/UI/Base/View/VRVerifyCodeNumberView.*',
'Common/UI/VLFont/VLDeviceUtils.h',
'Common/Manager/Authorized/AgoraEntAuthorizedManager.*',
'Common/Extension/String+Extension.swift',
'Common/Extension/UIImage+Resize.swift',
'HomeMenu/Login/Model/VLLoginModel.*',
'ThirdParty/QMUI/*',
'Common/Network/AUIError.*',
'Common/Utils/AESMacro.h',
'Common/Manager/VLDefine/VLMacroDefine.*',
'Common/Network/AgoraEntCommonLogger.*',
'Common/Network/AUINetworking.*',
'Common/Network/VLNetworkModel.swift',
Expand All @@ -73,7 +75,6 @@ TODO: Add long description of the pod here.
'Common/UI/ToastView/AUiMoreDialog.*',
'Common/UI/Base/View/AttributedTextView.*',
'Common/UI/Base/View/KTVCreateRoomPresentView.swift',
'Common/Manager/NetworkManager/NetworkManager.swift'
]

s.resources = ['AgoraCommon/*.bundle']
Expand Down
2 changes: 1 addition & 1 deletion iOS/AgoraEntScenarios/AppDelegate.swift
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ class AppDelegate: UIResponder, UIApplicationDelegate {
AppContext.shared.imClientSecret = KeyCenter.IMClientSecret ?? ""
AppContext.shared.cloudPlayerKey = KeyCenter.CloudPlayerKey ?? ""
AppContext.shared.cloudPlayerSecret = KeyCenter.CloudPlayerSecret ?? ""
AppContext.shared.baseServerUrl = KeyCenter.baseServerUrl ?? ""
AppContext.shared.baseServerUrl = KeyCenter.onlineBaseServerUrl ?? ""


AGResourceManagerContext.shared.displayLogClosure = { text in
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -99,6 +99,12 @@ public class DownloadManager: NSObject {
let configuration = URLSessionConfiguration.default
configuration.httpMaximumConnectionsPerHost = 3
self.session = URLSession(configuration: configuration, delegate: self, delegateQueue: nil)
if let urlCache = URLSession.shared.configuration.urlCache {
// 删除所有缓存
urlCache.removeAllCachedResponses()
// 或者根据特定的 URL 请求删除缓存
// urlCache.removeCachedResponse(for: URLRequest(url: yourURL))
}
}
}

Expand Down Expand Up @@ -240,7 +246,7 @@ extension DownloadManager: IAGDownloadManager {
}

let temporaryDirectoryURL = FileManager.default.temporaryDirectory
let temporaryPath = "\(temporaryDirectoryURL.path)/\(md5 ?? "default")"
let temporaryPath = "\(temporaryDirectoryURL.path)/\(md5 ?? NSUUID().uuidString)"
let currentLength = fileSize(atPath: temporaryPath)

var request = URLRequest(url: url)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,12 +46,10 @@ public enum SoundCardType {

var gainValue: Float {
switch self {
case .magnetic:
return 1.0
case .pleasant:
return 1.0
case .magnetic, .pleasant:
return 200.0
case .close:
return -1.0
return -100.0
}
}

Expand Down Expand Up @@ -346,6 +344,8 @@ public class AudioScenarioApi: NSObject {
case .Chat_Caller:
rtcEngine.setAudioProfile(.default)
rtcEngine.setAudioScenario(.meeting)
//大哥默认关闭虚拟声卡
enableVirtualSoundCard(soundCardType: .close)
case .Chat_Callee:
rtcEngine.setAudioProfile(.musicHighQualityStereo)
rtcEngine.setAudioScenario(.meeting)
Expand All @@ -359,9 +359,13 @@ public class AudioScenarioApi: NSObject {
rtcEngine.setAudioProfile(.musicHighQualityStereo)
rtcEngine.setAudioScenario(.gameStreaming)
rtcEngine.setParameters("{\"che.audio.custom_payload_type\": 78}")
//主播默认关闭虚拟声卡
enableVirtualSoundCard(soundCardType: .close)
case .Show_InteractiveAudience:
rtcEngine.setAudioProfile(.default)
rtcEngine.setAudioScenario(.meeting)
//连麦观众默认关闭虚拟声卡
enableVirtualSoundCard(soundCardType: .close)
default:
scenarioApiLogError(msg: "not supported")
}
Expand Down
11 changes: 7 additions & 4 deletions iOS/AgoraEntScenarios/Common/API/CallAPI/CallAPI.podspec
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@

Pod::Spec.new do |s|
s.name = 'CallAPI'
s.version = '0.3.0'
s.version = '2.1.0'
s.summary = 'A short description of CallAPI.'

# This description is used to generate tags and improve search results.
Expand Down Expand Up @@ -41,16 +41,19 @@ TODO: Add long description of the pod here.
s.subspec 'All' do |ss|
ss.source_files = 'CallAPI/Classes/**/*'

ss.dependency 'AgoraRtm_iOS', '~>2.1.8'
ss.dependency 'AgoraRtm', '~> 2.2.0'
end

s.subspec 'WithoutRTM' do |ss|
ss.source_files = [
'CallAPI/Classes/*.swift',
'CallAPI/Classes/Extension/*',
'CallAPI/Classes/Proxy/*',
'CallAPI/Classes/Scenarios/*',
'CallAPI/Classes/Report/*',
'CallAPI/Classes/SignalClient/ISignalClient.swift',
'CallAPI/Classes/SignalClient/CallBaseSignalClient.swift',
]
end

s.dependency 'AgoraRtcEngine_Special_iOS'
s.dependency 'AgoraRtcEngine_Special_iOS', '~> 4.1.1.26'
end
Loading

0 comments on commit 02d2089

Please sign in to comment.