53 lines
1.7 KiB
Swift
53 lines
1.7 KiB
Swift
import UIKit
|
|
import UserNotifications
|
|
import FirebaseCore
|
|
import FirebaseAnalytics
|
|
import GoogleMobileAds
|
|
|
|
class AppDelegate: NSObject, UIApplicationDelegate {
|
|
func application(
|
|
_ application: UIApplication,
|
|
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? = nil
|
|
) -> Bool {
|
|
// Initialize Firebase (only if GoogleService-Info.plist exists)
|
|
if Bundle.main.path(forResource: "GoogleService-Info", ofType: "plist") != nil {
|
|
FirebaseApp.configure()
|
|
} else {
|
|
print("Warning: GoogleService-Info.plist not found. Firebase disabled.")
|
|
}
|
|
|
|
// Initialize Google Mobile Ads
|
|
MobileAds.shared.start()
|
|
|
|
// Request notification permissions
|
|
requestNotificationPermissions()
|
|
|
|
return true
|
|
}
|
|
|
|
private func requestNotificationPermissions() {
|
|
let center = UNUserNotificationCenter.current()
|
|
center.requestAuthorization(options: [.alert, .badge, .sound]) { granted, error in
|
|
if let error = error {
|
|
print("Notification permission error: \(error)")
|
|
}
|
|
print("Notification permission granted: \(granted)")
|
|
}
|
|
}
|
|
|
|
func application(
|
|
_ application: UIApplication,
|
|
didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data
|
|
) {
|
|
let token = deviceToken.map { String(format: "%02.2hhx", $0) }.joined()
|
|
print("Device token: \(token)")
|
|
}
|
|
|
|
func application(
|
|
_ application: UIApplication,
|
|
didFailToRegisterForRemoteNotificationsWithError error: Error
|
|
) {
|
|
print("Failed to register for remote notifications: \(error)")
|
|
}
|
|
}
|