Skip to content

Commit

Permalink
Merge branch 'develop' into release/2.13.0-rc
Browse files Browse the repository at this point in the history
  • Loading branch information
justSmK committed Feb 17, 2025
2 parents b97a7b0 + 9b4bdac commit 25424ca
Show file tree
Hide file tree
Showing 2 changed files with 30 additions and 17 deletions.
14 changes: 7 additions & 7 deletions .github/workflows/distribute_pushok.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,11 +38,11 @@ jobs:
echo "sdkVersion: ${{ env.sdkVersion }}"
- name: Trigger build workflow in ios-app repo
uses: benc-uk/workflow-dispatch@v1
with:
token: ${{ secrets.PAT_IOS_APP }}
workflow: connected_publish_workflow.yml
repo: mindbox-cloud/ios-app
ref: develop
inputs: '{"branch": "${{ github.ref_name }}", "commits": "${{ env.commits }}", "sdkVersion": "${{ env.sdkVersion }}"}'
run: |
curl --location 'https://mindbox.gitlab.yandexcloud.net/api/v4/projects/1021/trigger/pipeline' \
--form 'token="${{ secrets.GITLAB_TRIGGER_TOKEN }}"' \
--form 'ref="develop"' \
--form "variables[INPUT_BRANCH]=\"${{ github.ref_name }}\"" \
--form "variables[INPUT_COMMITS]=\"${{ env.commits }}\"" \
--form "variables[INPUT_SDK_VERSION]=\"${{ env.sdkVersion }}\""
33 changes: 23 additions & 10 deletions Mindbox/InAppMessages/InAppConfigurationMapper/InappMapper.swift
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,9 @@ class InappMapper: InappMapperProtocol {

private var shownInappIDWithHashValue: [String: Int] = [:]
private var abTests: [ABTest]?


private let processingQueue = DispatchQueue(label: "com.Mindbox.inAppMapper.processingQueue")

init(targetingChecker: InAppTargetingCheckerProtocol,
inappFilterService: InappFilterProtocol,
dataFacade: InAppConfigurationDataFacadeProtocol) {
Expand All @@ -37,14 +39,23 @@ class InappMapper: InappMapperProtocol {
func handleInapps(_ event: ApplicationEvent?,
_ response: ConfigResponse,
_ completion: @escaping (InAppFormData?) -> Void) {
setupEnvironment(event: event)
abTests = response.abtests
let filteredInapps = getFilteredInapps(inappsDTO: response.inapps?.elements, abTests: response.abtests)
prepareTargetingChecker(for: filteredInapps)
prepareForRemainingTargeting()
chooseInappToShow(filteredInapps: filteredInapps) { formData in
completion(formData)
self.sendRemainingInappsTargeting()
processingQueue.async {
let group = DispatchGroup()
group.enter()

self.setupEnvironment(event: event)
self.abTests = response.abtests
let filteredInapps = self.getFilteredInapps(inappsDTO: response.inapps?.elements, abTests: response.abtests)
self.prepareTargetingChecker(for: filteredInapps)
self.prepareForRemainingTargeting()
self.chooseInappToShow(filteredInapps: filteredInapps) { formData in
self.sendRemainingInappsTargeting {
completion(formData)
group.leave()
}
}

group.wait()
}
}

Expand Down Expand Up @@ -196,7 +207,7 @@ class InappMapper: InappMapperProtocol {
return applicationEvent?.hashValue ?? InAppMessageTriggerEvent.start.hashValue
}

func sendRemainingInappsTargeting() {
func sendRemainingInappsTargeting(_ completion: @escaping () -> Void) {
self.dataFacade.fetchDependencies(model: applicationEvent?.model) {
let inapps = self.applicationEvent == nil ? self.inappFilterService.validInapps : self.getOperationInappsByEvent()
let suitableInapps = self.filterByInappsEvents(inapps: inapps)
Expand All @@ -215,6 +226,8 @@ class InappMapper: InappMapperProtocol {
self.dataFacade.trackTargeting(id: inapp.id)
}
}

completion()
}
}
}

0 comments on commit 25424ca

Please sign in to comment.