Flutter SDK v2.0.0 にアップグレードします
Atlas Device SDK for Flutter バージョン2.0.0 は、以前のバージョンからの既存のアプリのアップグレードに影響を与えるいくつかの重大な変更を導入します。
注目すべきのは、この SDK では次のことです。
部分ビルダと SDK がデータモデル クラスのファイルを生成する方法を変更します。 この変更は、SDK の以前のバージョンからアップグレードするすべてのアプリに影響します。 詳細と手順については、このページの「 Builder の変更」セクションを参照してください。
複数のクラスとノードを削除または置き換えます。 これらの変更はアプリに影響を与える場合と影響しない場合があります。 影響を受けるアプリの情報と手順については、このページの「削除されたクラスとノード」セクションを参照してください。
ビルダの変更
重要
この変更は、SDK の以前のバージョンからアップグレードするすべてのアプリに影響します。
Flutter SDK バージョン2.0.0 SDKrealm_generator
の をアップデートし、PartBuilder
ではなくSharedPartBuilder
を使用します。このアップデートされたビルダーは、新しい.realm.dart
ファイル拡張子を持つRealmModel
データモデル ファイルを生成します。
バージョン | ファイル拡張子 | ディレクティブの例 | |
---|---|---|---|
SDK v 2.0.0以降 | .realm.dart |
| |
SDK v 1.9.0以前 | .g.dart |
|
Tip
SharedPartBuilder
からPartBuilder
へのアップデートにより、アプリ内で複数のビルダを使用しやすくなります。たとえば、 realm_dart
をdart_mappable
やjson_serializable
などの直列化パッケージ ビルダと組み合わせます。
必要な操作はありますか。
既存のアプリを Flutter SDK の以前のバージョンからバージョン2.0.0以降にアップグレードする場合は、既存の部分宣言をすべて更新してから、新しい.realm.dart
ファイル拡張子でオブジェクトモデルを再生成する必要があります。
削除されたクラスとノード
Flutter SDK バージョン2.0.0でも、SDK からいくつかのクラス、ノード、プロパティが削除または置き換えられました。 これらの変更はアプリに影響を与える場合と影響しない場合があります。
次の表は、削除された内容とその理由、および削除されたクラスまたはノードを使用したアプリをアップグレードする際に推奨される解決策(存在する場合)の概要を示します。
削除されたクラスまたはノード | 理由 | 解決法 |
---|---|---|
AppConfiguration.localAppName および AppConfiguration.localAppVersion | SDK では未使用です。 | インスタンスがすべて削除されます。 |
ClientResetError.isFatal | 必要ありません。 常に true 。 | インスタンスがすべて削除されます。 |
ClientResetError.sessionErrorCode | SDK v 1.6.0の SyncErrorCode に統合されました。 | SyncErrorCode 列挙を使用します。 SyncError も参照してください API参照。 |
Realm.logger.level | Realm.logger.setLogLevel に置き換えられました。 | すべての インスタンスを置き換えます。 See also Logging - Flutter SDK. |
RealmProperty.indexed | RealmProperty.indexType に置き換えられました。 | すべての インスタンスを置き換えます。 |
RealmValue.type | RealmValueType の列挙に変更しました。 | すべての インスタンスを置き換えます。 「 RealmValue データ型 」も参照してください。 |
RealmValue.uint8List | 名前が RealmValue.binary に変更されました。 | すべての インスタンスを置き換えます。 「 RealmValue データ型 」も参照してください。 |
SchemaObject.properties | SchemaObject SchemaProperty の反復可能なコレクションに変更されました。 | すべての インスタンスを置き換えます。 「スキーマ オブジェクト」も参照して ください API リファレンス。 |
SyncError コンストラクターとSyncError.create ファクトリー | 同期エラーは、SDK によって内部的にのみ作成される必要があります。 | インスタンスがすべて削除されます。 |
SyncClientError 、 SyncConnectionError 、 SyncSessionError 、 SyncResolveError 、 SyncWebSocketError 、 GeneralSyncError | SDK v 1.6.0の SyncError に統合されました。 | SyncError またはそのサブクラスを使用します。 SyncError も参照してください API リファレンス。 |
SyncErrorCategory 、 SyncClientErrorCode 、 SyncConnectionErrorCode 、 SyncSessionErrorCode 、 SyncResolveErrorCode 、``SyncWebsocketErrorCode``、 GeneralSyncErrorCode | SDK v 1.6.0の SyncErrorCode に統合されました。 | SyncErrorCode 列挙型を使用します。 SyncError も参照してください API リファレンス。 |
SyncError.codeValue 、SyncError.category や SyncError.detailedMessage | SDK v 1.6.0の SyncError に統合されました。 メッセージは未使用でした。 | カテゴリまたはメッセージのインスタンスがすべて削除されます。 SyncError.codeValue をSyncError.code.code に置き換えます。 SyncError も参照してください API リファレンス。 |
SyncProgress.transferredBytes および SyncProgress.transferableBytes | 転送値と転送可能な値が誤って報告されました。 新しい SyncProgress.progressEstimate メトリクスに統合されました。 | SyncProgress.progressEstimate を使用します。 「同期のアップロードとダウンロードの進行状況の監視 」も参照してください。 |
User.provider | プロバイダーは各 ID に関連付けられているため、複数の ID を持つユーザーの場合、値は正しくありませんでした。 | インスタンスがすべて削除されます。 |