暗号化ストレージ
デフォルトでは、SDK がデバイスに保存するすべてのデータはアプリケーションのサンドボックス内にあります。これにより、他のアプリケーションがデータにアクセス(読み取りと書き込みの両方)することを防ぎます。コンプライアンス基準やその他のユースケースにより、SDK に保存されるデータをさらに暗号化したい場合があります。Keychain の設定
暗号化が期待どおりに動作するように、以下の手順に従って Keychain Sharing を設定します。-
以下の手順で Xcode の Keychain Sharing を有効にします。
a. アプリのターゲットを選択し、Signing & Capabilities タブをクリックします。
b. Keychain Sharing Capability を有効にします。

-
Keychain グループ名を指定します

-
App ID Prefix と Keychain グループ名: Xcode は Keychain グループの先頭に自動的にチーム ID を付加します。これにより、グループが開発チーム固有のものになります。動作を確認するには、.entitlements ファイルをクリックし、Keychain Access Groups 配列の値を確認してください。

- AppID を取得する: App ID Prefix(Team ID とも呼ばれます)は、Apple Developer アカウントに関連付けられた一意のテキスト識別子であり、アプリ間で Keychain やペーストボードのアイテムを共有できるようにします。 AppID が AB123CDE45 の場合、Keychain グループ名は AB123CDE45.com.example.sharedItems となります。MoEngageSDKConfig オブジェクトの keyChainConfig プロパティを介して、同じ Keychain グループ名を MoEngage SDK に渡してください。
Enabling Encryption
SDK の初期化時に MoEngageSDKConfig の storageConfig プロパティを設定することで、ストレージの暗号化を有効にできます。注意ストレージの暗号化を有効にしてビルドを本番環境(App Store)にリリースした後は、暗号化を無効にしないでください。ビルドのリリース後に暗号化を無効にすると、ユーザーがアプリケーションを更新した際に MoEngage システムで新しいユーザーが作成されます。
暗号化されたネットワーク通信
デフォルトでは、SDK から行われるすべてのリクエストに HTTPS プロトコルを使用しており、HTTPS はデフォルトでリクエストを暗号化します。MoEngage SDK は、HTTPS による暗号化に加えて、オプションでもう一層の暗号化を追加します。Enabling Encryption
SDK の初期化時に MoEngageSDKConfig の networkConfig プロパティで暗号化設定を有効にできます。注意
- 暗号化されたネットワーク通信を使用する場合は、ストレージの暗号化も有効にすることを強く推奨します。
- この機能を動作させるには、上記の依存関係を追加してフラグを有効にするだけでは不十分です。この機能を完全に有効にするには、MoEngage 側で追加の構成が必要です。この機能を使用する場合は、アカウントマネージャーまたは MoEngage サポートチームにお問い合わせください。