Невозможно зарегистрировать устройство IOS на Mobile First 8

Я могу видеть iOS-устройство на вкладке "Устройства" в MF, зарегистрированной в моем приложении. но отправка уведомления завершается с ошибкой ниже:

An error occurred while the notification was sent. Internal server error. No devices found.

список устройств

Просмотрев код IOS, я заметил следующую проблему при вызове MFPPush.sharedInstance.registerDevice(nil)

Cannot retrieve a valid authorization header for header. Check resource and authorization server configuration.

Я использую код из примера git. Ниже приведен фрагмент кода с ошибкой:

 @IBAction func registerDevice(_ sender: AnyObject) {
        print("Attempting Device registration with Mobile First")
        WLAuthorizationManager.sharedInstance().obtainAccessToken(forScope: "push.mobileclient") { (token, error) -> Void in
            if (error != nil) {
                print("Did not recieve an access token from server: " + error.debugDescription)
            } else {
                WLClient.sharedInstance()?.setDeviceDisplayName("White Ipad", withCompletionHandler: { (error) in
                    if error == nil{
                        print("device display name is set")
                    }else{
                        print("error setting device name: " + error.debugDescription)
                    }
                })
                print("Recieved the following access token value: " + (token?.value ?? "no token"))
                MFPPush.sharedInstance().registerDevice(nil) { (response, error) -> Void in
                    if error == nil {
                        self.enableButtons()
                        self.showAlert("Registered successfully with Mobile First")
                        print(response?.description ?? "")
                    } else {
                        self.showAlert("Registration failed with Mobile First.  Error \(error?.localizedDescription)")
                        print(error?.localizedDescription ?? "")
                    }
                }
            }
        }
}

Mobile First Config: я следовал документации и настроил проверку безопасности UserLogin из примера проекта git и удалил область действия для push.mobileclient под защитой.

Читая OAuth Security в MF, я понимаю, что токен необходим для доступа к ресурсам, но я не могу понять, как подключить токен в registerDevice().

1 ответ

Похоже, что вы не настроили Push-уведомления в MobileFirst Server должным образом.

  • Убедитесь, что вы добавили push.mobileclient Область на вкладке Безопасность вашего приложения. Если вы не используете проверку безопасности, вы можете добавить область действия, как показано ниже.

  • Проверьте, настроено ли в вашем приложении допустимый профиль обеспечения iOS, включенный с помощью функции Push Capability

  • Убедитесь, что вы загрузили действительные сертификаты песочницы / производственные сертификаты на вкладке Push вашего конкретного приложения в MFP Operations Console. Подробнее: здесь

  • Убедитесь, что в вашем приложении включена функция Push Capability в настройках проекта, а также проверьте отправку токена устройства на MF Server с помощью MFPPush.sharedInstance().sendDeviceToken(deviceToken) API в didRegisterForRemoteNotificationsWithDeviceToken метод AppDelegate файл

  • -
Другие вопросы по тегам