私は現在、アプリへの通知サービスにOneSignalを使用しています。OneSignal API がこのように提供できるdidFinishLunchingWithOption内のAppDelegateから通知の追加データ (ペイロード データ)にアクセスするには、本当に助けが必要です。
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
var window: UIWindow?
var data : [NSObject : AnyObject]!
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
let oneSignal = OneSignal(launchOptions: launchOptions, appId: "48755d3d-abc0-4bac-8f71-095729bb3a65") { (message, additionalData, isActive) in
NSLog("OneSignal Notification opened:\nMessage: %@", message)
if additionalData != nil {
NSLog("additionalData: %@", additionalData)
self.data = additionalData
print(self.data)
}
}
oneSignal.enableInAppAlertNotification(true)
return true
}
}
しかし、表示されたときにユーザーが通知をクリックするか、通知センターから開いた場合にのみデータを取得できます。したがって、ユーザーが表示時にタップせずに、または通知センターからスワイプまたはタップせずにその通知を無視した場合、追加データを取得するにはどうすればよいですか?
実際には、デバイスに着信するたびにすべてのペイロード データをレルム データベースに保存し、そのペイロード データに従ってサーバーからデータを取得したいと考えています。