クラスアプリ
アプリは、Atlas App Services アプリケーションを操作するためのクライアント側の主要エントリ ポイントです。
このアプリは、次の目的で使用できます。
- 使用状況を登録し、認証プロバイダー(例: ApiKeys 、 EmailPasswordAuth )。
- 同期された Realm を使用して、ローカル デバイスとリモート Realm アプリ間でデータを同期します( SyncConfigurationBaseを使用)。
- 関数 を使用して Realm アプリの関数を呼び出します(関数を使用)。
- MongoClient ( GetMongoClient(string)を使用)を使用して MongoDB データベースからリモート データにアクセスします。
リモート Realm App にリンクするアプリを作成するには、Realm を初期化し、次のようにアプリを構成します。
var appConfig = new AppConfiguration("my-realm-app-id");
var app = new App(appConfig);
アプリを構成した後、ユーザーの管理を開始し、同期された Realm の構成、リモートRealm関数の呼び出し、 mongoコレクションを介してリモート データにアクセスできます。新しいユーザーを登録したり、既存のユーザーを使用してログインしたりするには、次の操作を行います。
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 アプリからコレクションにアクセスします。
var client = user.GetMongoClient("atlas-service");
var db = client.GetDatabase("my-db");
var collection = db.GetCollection("foos");
var foosCount = await collection.CountAsync();
名前空間: Realm 。同期
組み立て: Realm.dll
構文
public class App
プロパティ
| このページを編集 ソースを表示すべてのユーザー
現在ログインしているすべてのユーザーを取得します。
宣言
public User[] AllUsers { get; }
プロパティ値
タイプ | 説明 |
---|---|
ユーザー[] | 有効なログイン ユーザーの配列。 |
baseFilePath
このアプリケーションのすべてのローカル データが保存されるルート フォルダーを取得します。 このデータには、ユーザーと同期された Realm のメタデータが含まれます。
宣言
public string BaseFilePath { get; }
プロパティ値
タイプ | 説明 |
---|---|
string | アプリのベース パス。 |
その他の参照
| このページを編集 ソースを表示baseUri
この Realm アプリケーションのベース URL を取得します。
宣言
public Uri BaseUri { get; }
プロパティ値
タイプ | 説明 |
---|---|
URI | アプリのベース URL。 |
その他の参照
| このページを編集 ソースを表示CurrentUser
現在のユーザーを取得します。 存在しない場合は、null が返されます。
宣言
public User? CurrentUser { get; }
プロパティ値
タイプ | 説明 |
---|---|
user | 有効なユーザーまたは |
EmailPasswordAuth
EmailPassword プロバイダーを使用して作成またはログインするユーザーに関連する機能を公開する App.EmailPasswordClient インスタンスを取得します。
宣言
public App.EmailPasswordClient EmailPasswordAuth { get; }
プロパティ値
タイプ | 説明 |
---|---|
アプリ。 EmailPasswordClient | この App にスコープが設定された App.EmailPasswordClient インスタンス。 |
id
Realm アプリケーションを識別する一意のアプリ ID を取得します。
宣言
public string Id { get; }
プロパティ値
タイプ | 説明 |
---|---|
string | Atlas App Services アプリの ID。 |
同期
この アプリ の同期クライアントを操作するための API を公開する App.SyncClient インスタンスを取得します。
宣言
public App.SyncClient Sync { get; }
プロパティ値
タイプ | 説明 |
---|---|
アプリ。 SyncClient | この App にスコープが設定された App.SyncClient インスタンス。 |
メソッド
| このページを編集 ソースを表示Create(AppConfiguration)
特定のAppConfigurationを使用してアプリを作成するためのファクトリー メソッド。
宣言
public static App Create(AppConfiguration config)
パラメーター
タイプ | 名前 | 説明 |
---|---|---|
AppConfiguration | config | アプリの動作の主要なパラメーターを指定するAppConfiguration 。 |
戻り値
タイプ | 説明 |
---|---|
アプリ | アプリインスタンスは、ユーザーのログイン、関数の呼び出し、または同期された Realm を開くために使用できるようになりました。 |
Create(string)
特定のアプリ ID を持つアプリを作成するためのファクトリー メソッド。
宣言
public static App Create(string appId)
パラメーター
タイプ | 名前 | 説明 |
---|---|---|
string | appId | Atlas App Services アプリケーションのアプリケーションID。 |
戻り値
タイプ | 説明 |
---|---|
アプリ | アプリインスタンスは、ユーザーのログイン、関数の呼び出し、または同期された Realm を開くために使用できるようになりました。 |
コメント
これは、デフォルト パラメータと提供されたappId
を使用してAppConfigurationを作成し、 Create(AppConfiguration)を呼び出す便利なメソッドです。
DeleteUserFromServerAsync(ユーザー)
サーバーからユーザーを削除します。 ユーザーもローカル データとともにデバイスから削除されます。 ユーザーがログインしている場合、 プロセスでログアウトされます。
宣言
public Task DeleteUserFromServerAsync(User user)
パラメーター
タイプ | 名前 | 説明 |
---|---|---|
user | user | サーバーから削除するユーザー。 |
戻り値
タイプ | 説明 |
---|---|
タスク | 非同期削除操作を表す待機可能なタスク。 正常に完了した場合は、ユーザーが削除され、ログアウトされ、ローカル データが削除されたことを示します。 |
LogInAsync(認証情報)
認証プロバイダに関連付けられている指定された認証情報を持つユーザーとしてログインします。
宣言
public Task<User> LogInAsync(Credentials credentials)
パラメーター
タイプ | 名前 | 説明 |
---|---|---|
Credentials | Credentials | ログインのタイプを表す認証情報。 |
戻り値
タイプ | 説明 |
---|---|
タスク<ユーザー> | 非同期 LogIn操作を表す待機可能なTask<TResult> 。 |
コメント
最後にログインしたユーザーは、 CurrentUserとして保存されます。 現在のユーザーがすでに存在する場合、そのユーザーは引き続きログインし、 すべてのユーザー によって返されるリストで見つけることができます。 []を使用して、現在のユーザーと見なされるユーザーを切り替えることもできます。
RemoveUserAsync(ユーザー)
ユーザーとそのローカル データをデバイスから削除します。 ユーザーがログインしている場合、 プロセスでログアウトされます。
宣言
public Task RemoveUserAsync(User user)
パラメーター
タイプ | 名前 | 説明 |
---|---|---|
user | user | ログアウトして削除するユーザー。 |
戻り値
タイプ | 説明 |
---|---|
タスク | 非同期の RemoveUser 操作を表す 待機可能なタスク。 正常に完了した場合は、ユーザーがログアウトされ、ローカル データが削除され、ユーザーのRefreshTokenがサーバー上で取り消されていることを示します。 |
コメント
これはクライアント操作であり、そのユーザーのサーバー上に保存されているデータは削除されません。
FilterUser(User)
CurrentUserをuser
で指定されたものに切り替えます。
宣言
public void SwitchUser(User user)
パラメーター
タイプ | 名前 | 説明 |
---|---|---|
user | user | 新しい現在のユーザー。 |
UpdateBaseUriAsync(Uri?)
AppConfiguration の baseUri 値を、サーバーとの通信に使用される新しいnewUri
値で一時的に上書きします。
宣言
public Task UpdateBaseUriAsync(Uri? newUri)
パラメーター
タイプ | 名前 | 説明 |
---|---|---|
URI | newUri | サーバーとの通信に使用される新しい URI 。 |
戻り値
タイプ | 説明 |
---|---|
タスク | 非同期操作を表す待機可能なタスク。 |
コメント
アプリは再起動時に、 [AppConfiguration] の値を使用するように戻ります。
この API は、同期セッションが手動で停止された後、かつnewUri
のサーバーにアクセスできる時点で呼び出す必要があります。 ベース URI が更新されたら、同期セッションを再開し、ユーザーは再認証を行う必要があります。
この API は実験的なものであり、メジャーなバージョンが増加しない限り、変更される可能性があります。
演算子
| このページを編集 ソースを表示演算子 ==(App?, App?)
2 つのアプリインスタンスが等しいかどうかを判断します。
宣言
public static bool operator ==(App? app1, App? app2)
パラメーター
タイプ | 名前 | 説明 |
---|---|---|
アプリ | app1 | 比較する最初のアプリ。 |
アプリ | app2 | 比較する 2 番目のアプリ。 |
戻り値
タイプ | 説明 |
---|---|
ブール |
|
演算子 !=(App?, App?)
2 つのアプリインスタンスが異なるかどうかを決定します。
宣言
public static bool operator !=(App? app1, App? app2)
パラメーター
タイプ | 名前 | 説明 |
---|---|---|
アプリ | app1 | 比較する最初のアプリ。 |
アプリ | app2 | 比較する 2 番目のアプリ。 |
戻り値
タイプ | 説明 |
---|---|
ブール |
|