Skip to content

TechArtists/ios-app-core

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TAAppCore

🚀 Getting started

import SwiftUI
import TAAppCore

@main
struct MyApp: App {
    @StateObject var reviewRequester =
        ReviewRequester(strategy: .after(days: 120, launches: 15, events: 5))

    var body: some Scene {
        WindowGroup {
            ContentView()
                .environmentObject(reviewRequester)
                .onAppear {
                    reviewRequester.applicationDidLaunch()
                }
        }
    }
}

Trigger the prompt manually from anywhere:

reviewRequester.requestIfAppropriate()

Record positive events (level clear, workout finished, etc.):

reviewRequester.recordPositiveEvent()

🛠️ Configuration

Strategies

Build your own with the fluent helpers:

// Only after 3 days **and** 2 launches
let strict = AnyReviewRequestStrategy.all([
    .after(days: 3),
    .after(launches: 2)
])

Or provide a completely custom closure if needed:

let custom = AnyReviewRequestStrategy { store in
    store.eventsSincePrompt >= 10 && store.lastPromptDate == nil
}

Persistence

// Use an App Group container for share‑sheet or widget extensions
let store = ReviewRequestStore(suiteName: "group.com.yourcompany.app")

Analytics

Pass any TAAnalytics instance to receive two events:

Event name When
REVIEW_REQUEST_TRIGGERED Strategy returned true; about to call system API
REVIEW_PROMPT_SHOWN After the system prompt is presented

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages