클래스 앱
앱 은 Atlas App Services 애플리케이션과 상호 작용하기 위한 주요 클라이언트 사이드 진입점입니다.
앱으로 다음을 수행할 수 있습니다.
- 인증 제공자를 통해 사용을 등록하고 다양한 사용자 관련 작업을 수행합니다(예: ApiKeys, EmailPasswordAuth).
- 동기화된 Realm을 사용하여 로컬 장치와 원격 Realm 앱 간의 데이터를 동기화합니다( SyncConfigurationBase 사용).
- Functions로 Realm 앱 함수를 호출합니다( Functions 사용).
- MongoClient를 사용하여 MongoDB database에서 원격 데이터에 액세스합니다( GetMongoClient (string) 사용).
원격 Realm 앱과 연결된 앱을 만들려면 Realm을 초기화하고 아래와 같이 앱을 구성합니다.
var appConfig = new AppConfiguration("my-realm-app-id");
var app = new App(appConfig);
앱을 구성한 후 사용자 관리를 시작하고, 동기화된 Realm을 구성하고, 원격 Realm Functions를 호출하고, mongo collection을 통해 원격 데이터에 액세스할 수 있습니다.
새 사용자를 등록하거나 기존 사용자로 로그인하려면 아래와 같이 하세요:
await app.EmailPassword.RegisterUserAsync("foo@bar.com", "password");
// Login with existing user
var user = app.LoginAsync(Credentials.EmailPassword("foo@bar.com", "password");
권한이 부여된 사용자를 통해 아래와 같이 SyncConfigurationBase 로 Realm을 열어 로컬 장치와 원격 Realm 앱 간에 데이터를 동기화할 수 있습니다.
var syncConfig = new PartitionSyncConfiguration("some-partition-value", user);
using var realm = await Realm.GetInstanceAsync(syncConfig);
realm.Write(() =>
{
realm.Add(...);
});
await realm.GetSession().WaitForUploadAsync();
아래와 같이 원격 Realm 함수를 호출할 수 있습니다.
var result = await user.Functions.CallAsync<int>("sum", 1, 2, 3, 4, 5);
그리고 다음과 같이 원격 Realm 앱에서 collection에 액세스합니다.
var client = user.GetMongoClient("atlas-service");
var db = client.GetDatabase("my-db");
var collection = db.GetCollection("foos");
var foosCount = await collection.CountAsync();
네임스페이스: Realms.동기화
어셈블리: Realm.exe
구문
public class App
속성
| 이 페이지 편집 소스 보기allUsers
현재 로그인한 모든 사용자를 가져옵니다.
선언
public User[] AllUsers { get; }
속성 값
유형 | 설명 |
---|---|
사용자[] | 유효한 로그인 사용자의 배열입니다. |
BaseFilePath
이 애플리케이션의 모든 로컬 데이터가 저장될 루트 폴더를 가져옵니다. 이 데이터에는 사용자 및 동기화된 Realm에 대한 메타데이터가 포함됩니다.
선언
public string BaseFilePath { get; }
속성 값
유형 | 설명 |
---|---|
문자열 | 앱의 기본 경로입니다. |
다음도 참조하세요.
| 이 페이지 편집 소스 보기BaseUri
이 Realm 애플리케이션의 기본 URL을 가져옵니다.
선언
public Uri BaseUri { get; }
속성 값
유형 | 설명 |
---|---|
Uri | 앱의 기본 URL입니다. |
다음도 참조하세요.
| 이 페이지 편집 소스 보기현재 사용자
현재 사용자를 가져옵니다. 아무것도 존재하지 않으면 null이 반환됩니다.
선언
public User? CurrentUser { get; }
속성 값
유형 | 설명 |
---|---|
사용자 | 로그인한 사람이 없음을 나타내는 유효한 사용자 또는 |
EmailPasswordAuth
EmailPassword 제공자를 사용하여 생성되거나 로그인되는 사용자와 관련된 기능을 노출하는 App.EmailPasswordClient 인스턴스를 가져옵니다.
선언
public App.EmailPasswordClient EmailPasswordAuth { get; }
속성 값
유형 | 설명 |
---|---|
앱.EmailPasswordClient | 이 앱 으로 범위가 지정된 App.EmailPasswordClient 인스턴스입니다. |
ID
Realm 애플리케이션을 식별하는 고유한 애플리케이션 ID를 가져옵니다.
선언
public string Id { get; }
속성 값
유형 | 설명 |
---|---|
문자열 | Atlas App Services 앱의 ID입니다. |
동기화
이 앱 의 동기화 클라이언트와 상호 작용하기 위한 API를 노출하는 App.SyncClient 인스턴스를 가져옵니다.
선언
public App.SyncClient Sync { get; }
속성 값
유형 | 설명 |
---|---|
앱.SyncClient | 이 앱 으로 범위가 지정된 App.SyncClient 인스턴스입니다. |
방법
| 이 페이지 편집 소스 보기Create(AppConfiguration)
특정 AppConfiguration 을 사용하여 앱을 생성하기 위한 팩토리 메서드입니다.
선언
public static App Create(AppConfiguration config)
매개변수
유형 | 이름 | 설명 |
---|---|---|
AppConfiguration | config | 앱 동작에 대한 주요 매개변수를 지정하는 AppConfiguration 입니다. |
반환
유형 | 설명 |
---|---|
앱 | 이제 앱 인스턴스를 사용하여 사용자를 로그인하거나, 함수를 호출하거나, 동기화된 Realm을 열 수 있습니다. |
생성(문자열)
특정 애플리케이션 ID로 앱을 생성하기 위한 팩토리 메서드입니다.
선언
public static App Create(string appId)
매개변수
유형 | 이름 | 설명 |
---|---|---|
문자열 | appId | Atlas App Services 애플리케이션의 애플리케이션 ID입니다. |
반환
유형 | 설명 |
---|---|
앱 | 이제 앱 인스턴스를 사용하여 사용자를 로그인하거나, 함수를 호출하거나, 동기화된 Realm을 열 수 있습니다. |
비고
이는 기본 매개변수와 제공된 appId
을 사용하여 AppConfiguration 을 생성하고 Create(AppConfiguration) 을 호출하는 편의 메서드입니다.
DeleteUserFromServerAsync(사용자)
서버에서 사용자를 삭제합니다. 사용자는 로컬 데이터와 함께 장치에서도 제거됩니다. 사용자가 로그인되어 있으면 프로세스에서 로그아웃됩니다.
선언
public Task DeleteUserFromServerAsync(User user)
매개변수
유형 | 이름 | 설명 |
---|---|---|
사용자 | 사용자 | 서버에서 제거할 사용자입니다. |
반환
유형 | 설명 |
---|---|
작업 | 비동기 삭제 작업 을 나타내는 대기 가능한 작업입니다. 성공적으로 완료되면 사용자가 제거되고 로그아웃되었으며 로컬 데이터가 제거되었음을 나타냅니다. |
LogInAsync(Credentials)
인증 제공자와 연결된 지정된 자격 증명을 사용하여 사용자로 로그인합니다.
선언
public Task<User> LogInAsync(Credentials credentials)
매개변수
유형 | 이름 | 설명 |
---|---|---|
자격 증명 | 자격 증명 | 로그인 유형을 나타내는 자격 증명 입니다. |
반환
유형 | 설명 |
---|---|
작업<사용자> | 비동기 로그인 작업을 나타내는 대기 가능한 Task<TResult> 입니다. |
비고
마지막으로 로그인한 사용자는 현재 사용자로 저장 됩니다. 현재 사용자가 이미 있었다면 해당 사용자는 여전히 로그인되어 있으며 AllUsers 가 반환한 목록에서 찾을 수 있습니다. switchUser(User) 를 사용하여 현재 사용자로 간주되는 사용자 간에 전환할 수도 있습니다.
RemoveUserAsync(사용자)
장치에서 사용자 및 해당 로컬 데이터를 제거합니다. 사용자가 로그인되어 있으면 프로세스에서 로그아웃됩니다.
선언
public Task RemoveUserAsync(User user)
매개변수
유형 | 이름 | 설명 |
---|---|---|
사용자 | 사용자 | 로그아웃하고 제거할 사용자입니다. |
반환
유형 | 설명 |
---|---|
작업 | 비동기 RemoveUser 작업 을 나타내는 대기 가능한 작업입니다. 성공적으로 완료되면 사용자가 로그아웃되고 로컬 데이터가 제거되었으며 서버에서 사용자의 새로 고침 토큰 이 취소되었음을 나타냅니다. |
비고
이는 클라이언트 작업이며 해당 사용자에 대해 서버에 저장된 데이터는 삭제되지 않습니다.
사용자 전환(User)
현재 사용자를 user
에 지정된 것으로 전환합니다.
선언
public void SwitchUser(User user)
매개변수
유형 | 이름 | 설명 |
---|---|---|
사용자 | 사용자 | 새로운 현재 사용자입니다. |
UpdateBaseUriAsync(Uri?)
AppConfiguration 의 BaseUri 값을 newUri
서버 와의 통신에 사용되는 새 값으로 일시적으로 재정의합니다.
선언
public Task UpdateBaseUriAsync(Uri? newUri)
매개변수
유형 | 이름 | 설명 |
---|---|---|
Uri | newUri | 서버 와 통신 하는 데 사용할 새 URI 입니다. |
반환
유형 | 설명 |
---|---|
작업 | 비동기 작업 을 나타내는 대기 가능한 작업입니다. |
비고
앱을 다시 시작하면 [AppConfiguration]의 값을 사용하도록 되돌아갑니다.
이 API는 동기화 세션이 수동으로 중지된 후 newUri
의 서버에 연결할 수 있는 지점에서 호출되어야 합니다. 기본 URI가 업데이트되면 동기화 세션을 다시 시작하고 사용자를 재인증해야 합니다.
이 API는 실험적이며 주요 버전 증가 없이 변경될 수 있습니다.
연산자
| 이 페이지 편집 소스 보기연산자 ==(App?, App?)
두 앱 인스턴스가 동일한지 여부를 결정합니다.
선언
public static bool operator ==(App? app1, App? app2)
매개변수
유형 | 이름 | 설명 |
---|---|---|
앱 | app1 | 비교할 첫 번째 앱입니다. |
앱 | app2 | 비교할 두 번째 앱입니다. |
반환
유형 | 설명 |
---|---|
부울 |
|
연산자 !=(App?, App?)
두 앱 인스턴스가 다른지 여부를 결정합니다.
선언
public static bool operator !=(App? app1, App? app2)
매개변수
유형 | 이름 | 설명 |
---|---|---|
앱 | app1 | 비교할 첫 번째 앱입니다. |
앱 | app2 | 비교할 두 번째 앱입니다. |
반환
유형 | 설명 |
---|---|
부울 |
|