Docs Menu
Docs Home
/ /
Atlas Device SDK
/ /

Atlas App Services バックエンドへの接続 - Java SDK

項目一覧

  • Realm の初期化
  • アプリ クライアントへのアクセス
  • 構成

App クライアントは、App Services バックエンドのインターフェースです。 認証機能関数同期マネジメントへのアクセスを提供します。

アプリで Realm を使用する前に、Realm ライブラリを初期化する必要があります。 アプリケーションは、アプリケーションを実行するたびに Realm を 1 回だけ初期化する必要があります。

Realmライブラリを初期化するには、context Realm.init()静的関数に Android を指定します。初期化用のアクティビティ、フラグメント、またはアプリケーションcontext を指定すると、動作に違いはありません。 Realmライブラリは、onCreate() アプリケーションサブクラス の メソッドで初期化できます アプリケーションを実行するたびに、 Realmを 1 回だけ初期化するようにします。

Realm.init(this); // context, usually an Activity or Application
Realm.init(this) // context, usually an Activity or Application

Tip

Android マニフェストでのアプリケーション サブクラスの登録

独自のApplicationサブクラスを作成する場合は、カスタム アプリケーション ロジックを実行するためにアプリケーションのAndroidManifest.xmlにそれを追加する必要があります。 マニフェストのアプリケーション定義のandroid.nameプロパティを設定して、ユーザーがアプリケーションを起動したときに Android が他のクラスよりも先にApplicationサブクラスをインスタンス化するようにします。

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.mongodb.example">
<application
android:name=".MyApplicationSubclass"
...
/>
</manifest>

Realm UI で確認できるアプリのアプリケーション ID を渡します。

String appID = YOUR_APP_ID; // replace this with your App ID
App app = new App(new AppConfiguration.Builder(appID).build());
val appID : String = YOUR_APP_ID // replace this with your App ID
val app: App = App(AppConfiguration.Builder(appID).build())

重要

インスタンスを作成する前にアプリを初期化する

Appのインスタンスを作成する前に、 Realm.init()とアプリ接続を初期化する必要があります。

ほとんどのユースケースでは、App Services に接続するためにアプリケーションのアプリケーション ID のみが必要です。 接続のカスタム タイムアウト、MongoDB Data Access に使用されるコーデック、ローカル暗号化のキーなど、アプリ接続の詳細をより細かく制御するには、オプションでAppConfigurationビルダを使用してAppの詳細を制御できます。

String appID = YOUR_APP_ID; // replace this with your App ID
App app = new App(new AppConfiguration.Builder(appID)
.appName("My App")
.requestTimeout(30, TimeUnit.SECONDS)
.build());
val appID = YOUR_APP_ID // replace this with your App ID
val app: App = App(AppConfiguration.Builder(appID)
.appName("My App")
.requestTimeout(30, TimeUnit.SECONDS)
.build())

複数のアプリに接続するには、複数のアプリクライアントインスタンスを作成します。 同じアプリ ID を共有するすべてのアプリクライアント インスタンスは、同じ基礎の接続を使用します。

重要

アプリ初期化後のアプリ構成の変更

バージョン v 10.18.0での変更: urlPrefixはアプリ構成にキャッシュされません

App クライアントを初期化すると、構成は内部的にキャッシュされます。 同じプロセス内で変更された構成でアプリを閉じてから再度開かしようとしても効果はありません。 クライアントはキャッシュされた構成を引き続き使用します。

Java SDK バージョン10.18.0以降では、 urlPrefixはアプリ構成にキャッシュされなくなりました。 つまり、 urlPrefixを変更でき、アプリクライアントは更新された構成を使用します。 以前の SDK バージョンでは、キャッシュされたアプリ構成でurlPrefixを変更しても効果はありません。

戻る

Atlas App Services