Как получить доступ к NSUserActivity в интерфейсе FlutterAppDelegate и получить доступ к ReferrerUrl для установки AppStIOS

Программируем под IOS
Ответить
Anonymous
 Как получить доступ к NSUserActivity в интерфейсе FlutterAppDelegate и получить доступ к ReferrerUrl для установки AppSt

Сообщение Anonymous »

Это текущая реализация AppDelegate

Код: Выделить всё

import UIKit
import Flutter
import flutter_downloader
import moengage_flutter
import MoEngage
import GoogleCast
import UserNotifications

@UIApplicationMain
@objc class AppDelegate: FlutterAppDelegate, GCKLoggerDelegate {
let kReceiverAppID = kGCKDefaultMediaReceiverApplicationID
let kDebugLoggingEnabled = true
override func application(
_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? = nil
) -> Bool {
if #available(iOS 10.0, *) {
UNUserNotificationCenter.current().delegate = self as UNUserNotificationCenterDelegate
}

GeneratedPluginRegistrant.register(with: self)
FlutterDownloaderPlugin.setPluginRegistrantCallback(registerPlugins)

//print(application.NSUserActivity.referrerURL)
//print(self.NSUserActivity)

print("refer");
var sdkConfig : MOSDKConfig
let yourAppID = "" //App ID: You can be obtain it from App Settings in MoEngage Dashboard.
if let config = MoEngage.sharedInstance().getDefaultSDKConfiguration() {
sdkConfig = config
sdkConfig.moeAppID = yourAppID
}
else{
sdkConfig = MOSDKConfig.init(appID: yourAppID)
}
sdkConfig.appGroupID = ""
sdkConfig.moeDataCenter = DATA_CENTER_01
sdkConfig.optOutIDFATracking = true
sdkConfig.optOutIDFVTracking = false
sdkConfig.optOutDataTracking = false
sdkConfig.optOutPushNotification = false
sdkConfig.optOutInAppCampaign = false
// use MODataCenter enum to set the datacenter for your account

MOFlutterInitializer.sharedInstance.initializeWithSDKConfig(sdkConfig, andLaunchOptions: launchOptions)
//
if #available(iOS 10.0, *) {
// For iOS 10 display notification (sent via APNS)
UNUserNotificationCenter.current().delegate = self

let authOptions: UNAuthorizationOptions = [.alert, .badge, .sound]
UNUserNotificationCenter.current().requestAuthorization(
options: authOptions,
completionHandler: { _, _ in }
)
} else {
let settings: UIUserNotificationSettings =
UIUserNotificationSettings(types: [.alert, .badge, .sound], categories: nil)
application.registerUserNotificationSettings(settings)
}

application.registerForRemoteNotifications()

let criteria = GCKDiscoveryCriteria(applicationID: kReceiverAppID)
let options = GCKCastOptions(discoveryCriteria: criteria)
GCKCastContext.setSharedInstanceWith(options)
GCKCastContext.sharedInstance().useDefaultExpandedMediaControls = true
GCKLogger.sharedInstance().delegate = self

return super.application(application, didFinishLaunchingWithOptions: launchOptions)
}
override func applicationWillResignActive(
_ application: UIApplication
) {
self.window.isHidden = true;
}
override func applicationDidBecomeActive(
_ application: UIApplication
) {
self.window.isHidden = false;
}
}
private func registerPlugins(registry: FlutterPluginRegistry) {
if (!registry.hasPlugin("FlutterDownloaderPlugin")) {
FlutterDownloaderPlugin.register(with: registry.registrar(forPlugin: "FlutterDownloaderPlugin")!)
}
}

Пробывал так, но выдает ошибку компиляции, поскольку метод не переопределяет суперкласс

Код: Выделить всё

override func application(
_ application: UIApplication,continue userActivity: NSUserActivity,

didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? = nil
)
Я хочу получить доступ к NSUserActivity для
userActivity.referrerURL
Если у вас есть другие идеи по доступу к этому ReferrerURL в плагине Flutter для iOS это тоже было бы здорово.
Любая помощь будет оценена по достоинству. Мне здесь очень нужна помощь

Подробнее здесь: https://stackoverflow.com/questions/723 ... s-referrer
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»