Ich habe einen Cloud-Speichermechanismus in meinem Spiel mit der Android C++ Snapshot-Klasse implementiert. Es speichert und lädt perfekt. Ich versuche jedoch, einen Testfall einzurichten, der einen Konflikt verursacht. Aber ich kann nicht herausfinden, wie es geht. Ich höre immer wieder sehr wooly "das muss man offline sein und das muss man sparen" etc. Aber keine Besonderheiten. Kann jemand einen Konflikt mit 2 Geräten, A und B, erzeugen?Wie erstelle ich manuell einen Android Savegame (Snapshot) Konflikt?
Gerät A Commits - Alles funktioniert einwandfrei, kein Konflikt durch API erkannt.
Gerät B Commits - Alles funktioniert gut, kein Konflikt wird durch API erkannt, das Spiel von Gerät A wird überschrieben.
Vielleicht muss eines der Geräte während eines Commits offline sein?
Hier ist, was ich verwende, Konflikte zu erkennen, werden keine jemals erkannt:
GPlusMgr::Get().GetGameServices()->Snapshots().Open(gpg::DataSource::CACHE_OR_NETWORK, Filename.ToASCII(), gpg::SnapshotConflictPolicy::MANUAL, [this](gpg::SnapshotManager::OpenResponse res)
{
if (res.conflict_id != "")
{
// Do scary conflict resolution dance.
}
else
{
// No conflict, just save to cloud.
}
Vielen Dank,
Steve.
Hallo Thomas, (aktualisiert die Frage mit zusätzlichen Details). Es scheint nicht so zu funktionieren, wenn es auf Android implementiert wird. Hast du das auf einem Android Gerät versucht? Bei diesem Szenario wurden keine Konflikte festgestellt. Vielen Dank. –