Package common database with app

Hi there,

I am developing a .NET app for iOS and Android. The user will have access to two Realms, one is the user’s personal collection of records and the other is a Realm with a ‘PUBLIC’ partition consisting of records all users have access to. Ideally I would like to package a version of this Realm with the app to avoid a large download (60k+ records) on initial sync.

I thought I had this working, I am running an Azure function that downloads a CSV file from a server (not mine), updates the records that have changed by using a Realm logged in with an API key, and then copies the Realm to a location where I can later package it into the app. This means the Realm should be vaguely up to date when the user installs, and only a few hundred records may get updated.

The problem I am having is that on app start when I try to sync the Realm with the server, I get the error:

Error:

User mismatch for client file identifier (IDENT) (ProtocolErrorCode=223)

Partition:

PUBLIC

I have not been able to find what this mean, but I assume it is because the Realm file is created with one user (the API key) and is then attempted to be consumed by a different user (the actual user) in the app. This all leads me to the question, is what I am attempting to do at all possible? Any thoughts or suggestions appreciated!

Many thanks

Will

Hey Will,

Unfortunately, prepackaging synchronized Realms is not something currently supported. I’ll bring it up with the team and see if there are any major roadblocks to delivering such functionality, but for the time being you’ll need to have each user download the file independently.

1 Like

Righto, thanks @nirinchev!

Will

This topic was automatically closed 5 days after the last reply. New replies are no longer allowed.