Conectar a um Backend do Atlas App Services - Swift SDK
Nesta página
O cliente do aplicativo é a interface para o backend do App Services. It provides access to the authentication functionality, functions, querying a MongoDB Atlas data source, and Device Sync.
Observação
Manifesto de privacidade da Apple
The SDK's Apple privacy manifest does not cover connecting to Atlas, or any usage of data through the App client. Se a sua aplicação se conectar ao App Services e você pretende distribuí-la por meio da App Store da Apple, talvez seja necessário fornecer suas próprias divulgações no manifesto de privacidade da Apple da aplicação.
Para obter mais informações, consulte o Manifesto de Privacidade da Apple.
Acesse o cliente do aplicativo
Passe o ID do aplicativo para seu aplicativo, que você pode encontrar na interface do usuário do App Services.
let app = App(id: YOUR_APP_SERVICES_APP_ID) // replace YOUR_APP_SERVICES_APP_ID with your App ID
Configuração
Você pode passar um objeto de configuração para App
:
let configuration = AppConfiguration( baseURL: "https://services.cloud.mongodb.com", // You can customize base URL transport: nil, // Custom RLMNetworkTransportProtocol defaultRequestTimeoutMS: 30000 ) let app = App(id: "my-app-services-app-id", configuration: configuration)
Você pode criar várias instâncias do cliente de aplicativo para se conectar a vários aplicativos. Todas as instâncias de cliente de aplicativo que compartilham a mesma ID de aplicativo usam a mesma conexão subjacente.
Importante
Alterando uma configuração de aplicativo após inicializar o aplicativo
Começando com o Swift SDK versão 10.46.0, você pode alterar um baseURL
na configuração do aplicativo e o cliente do aplicativo usará o novo baseURL
. Nas versões 10.45.3 e anteriores do Swift SDK, quando você inicializa o cliente do aplicativo, a configuração é armazenada em cache internamente. A tentativa de fechar uma aplicação e reabri-la com uma configuração alterada dentro do mesmo processo não tem efeito. O cliente continua usando a configuração em cache.
Sincronizar o compartilhamento de conexão
Novo na versão 10.41.0.
Você pode definir o conjunto enableSessionMultiplexing
no AppConfiguration para especificar se o Realm Swift SDK deve abrir uma conexão com o servidor para cada Realm sincronizado ou compartilhar uma conexão com o servidor para todos os domínios sincronizados.
Se você não especificar um valor para esse bool, o Realm assumirá como padrão o compartilhamento de uma única conexão por usuário do App Services para todos os realms sincronizados.
let configuration = AppConfiguration(enableSessionMultiplexing: false) let app = App(id: YOUR_APP_SERVICES_APP_ID, configuration: configuration)
Opções de tempo limite de sincronização
Novo na versão 10.41.0.
Você pode definir várias opções de tempo limite de sincronização no AppConfiguration. A propriedade syncTimeouts
pode aceitar um objeto SyncTimeoutOptions
para substituir os valores padrão para essas configurações.
Para obter uma lista completa das configurações de tempo limite disponíveis e suas definições, consulte RLMSyncTimeoutOptions.
let syncTimeoutOptions = SyncTimeoutOptions( connectTimeout: 30000, connectionLingerTime: 5000, pingKeepalivePeriod: 10000, pongKeepaliveTimeout: 10000, fastReconnectLimit: 30000 ) let configuration = AppConfiguration(syncTimeouts: syncTimeoutOptions) let app = App(id: YOUR_APP_SERVICES_APP_ID, configuration: configuration)
Sistemas operacionais suportados
O Realm Swift SDK permite a conexão com um Atlas App Services para uma variedade de sistemas operacionais da Apple, dependendo da versão do Xcode e da versão do Realm Swift SDK . A conexão com um App Services App permite:
Autenticação e gerenciamento de usuários
Chamando uma Atlas Function
Executando queries de uma fonte de dados do MongoDB Atlas
Device Sync
Para obter informações atuais sobre sistemas operacionais suportados, consulte Suporte ao sistema operacional.
Neste momento, o Realm Swift SDK não permite a conexão a um App Services App do watchOS.