Classe NowPushService - iOS
A classe NowPushService fornece funções que permitem a interação com o serviço de notificação por push.
| Nome | Descrição |
|---|---|
| configuração | Definições de configuração fornecidas quando o serviço foi inicializado. Tipo de dados: NowServiceConfiguration |
NowPushService - registerPushToken (_token: Dados, pushAppName: Cadeia de caracteres, ambiente: NowPushEnvironment, conclusão: @escaping (Resultado<Data, NowPushError> ) -> Vazio)
Registra um token exclusivo com a instância ServiceNow usada para identificar as notificações por push do dispositivo iOS atual e da aplicação especificada.
| Nome | Tipo | Descrição |
|---|---|---|
| _token | Dados | Objeto de dados do token de envio a ser registrado. Este é o token obtido do site do desenvolvedor Apple. Para obter mais informações, consulte o Mobile SDK Guia do desenvolvedor - iOS. |
| pushAppName | Cadeia de caracteres | Nome da aplicação de envio por push para o qual este token está sendo registrado. |
| ambiente | NowPushEnvironment | Ambiente para o qual o token está sendo registrado. Valores válidos:
|
| conclusão | @escaping (resultado<Data, NowPushError> ) → Vazio | Manipulador de conclusão a ser executado após a tentativa de registro do token.
|
| Tipo | Descrição |
|---|---|
| Nenhum |
Este exemplo mostra como registrar um token de notificação por push para a aplicação TestPushApp.
func registerForPushNotifications(deviceToken: Data) {
pushService.registerPushToken(deviceToken,
pushAppName: "TestPushApp",
environment: environment) { [weak self] result in
guard let self = self else { return }
switch result {
case .success:
UserDefaults.standard.set(true, forKey: "pushNotificationsRegistered")
self.pushRegistrationState = .registrationSuccess
case .failure:
UserDefaults.standard.set(false, forKey: "pushNotificationsRegistered")
self.pushRegistrationState = .registrationFailed
}
}
}
NowPushService - unregisterPushToken (_token: dados, pushAppName: cadeia de caracteres, ambiente: NowPushEnvironment, conclusão: @escaping (resultado<Data, NowPushError> ) -> Vazio)
Cancela o registro de um token de push registrado anteriormente.
| Nome | Tipo | Descrição |
|---|---|---|
| _token | Dados | Objeto de dados do token de envio para cancelar o registro. |
| pushAppName | Cadeia de caracteres | Nome da aplicação de envio por push para o qual este token está sendo registrado. |
| ambiente | NowPushEnvironment | Ambiente para o qual o token está sendo registrado. Valores válidos:
|
| conclusão | @escaping (resultado<Data, NowPushError> ) → Vazio | Manipulador de conclusão a ser executado após a tentativa de cancelamento do registro do token.
|
| Tipo | Descrição |
|---|---|
| Nenhum |
Este exemplo mostra como cancelar o registro do token de notificação por push associado à aplicação TestPushApp.
func unregisterFromPushNotifications(deviceToken: Data) {
pushService.unregisterPushToken(deviceToken, pushAppName: "TestPushApp", environment: environment) { [weak self] result in
guard let self = self else { return }
switch result {
case .success:
UserDefaults.standard.set(false, forKey: "pushNotificationsRegistered")
self.pushRegistrationState = .unregisterSuccess
case .failure:
self.pushRegistrationState = .unregisterFailed
}
}
}
NowPushService - payloadFromUserInfo(_userInfo: [AnyHashable: Any])
Analisa os pares de chave-valor userInfo em um objeto NowPushPayload.
| Nome | Tipo | Descrição |
|---|---|---|
| _InformaçõesDoUsuário | [QualquerHashable: qualquer] | Conteúdo de carga de envio por push recebido como parte da notificação por push. |
| Tipo | Descrição |
|---|---|
| Resultado<NowPushPayload, NowPushError> | Retorna os resultados da análise de carga.
|
Este exemplo mostra como analisar uma carga útil do usuário.
func userNotificationCenter(_ center: UNUserNotificationCenter,
didReceive response: UNNotificationResponse,
withCompletionHandler completionHandler: @escaping () -> Void) {
guard let pushService = pushService else {
completionHandler()
return
}
let userInfo = response.notification.request.content.userInfo
_ = pushService.payloadFromUserInfo(userInfo)
.flatMap(handleNowPushPayload)
}
func handleNowPushPayload(_ payload: NowPushPayload) -> Result<Void, NowPushError> {
guard payload is NowPushVirtualAgent else {
return .failure(NowPushError.unsupportedData)
}
launchVirtualAgent()
return .success(())
}