Skocz do zawartości

Witaj!

Zaloguj lub Zarejestruj się aby uzyskać pełny dostęp do forum.

Zdjęcie
- - - - -

Brak jednej notyfikacji w iCloud


  • Zaloguj się, aby dodać odpowiedź
Brak odpowiedzi do tego tematu

#1 tmkszlc

tmkszlc

  • 1 846 postów
  • SkądSzczecin, PL

Napisano 09 czerwca 2013 - 09:17

Cześć, spróbuję opisać problem krótko i zwięźle. Piszę małą grę na iOS, która wykorzystuje iCloud do synchronizacji stanu gracza (np. jego życia). Rozważmy pewną sytuację: - Jedna osoba ma dwa urządzenia z tym samym kontem iCloud, iPhone + iPod lub iPad, dowolnie. - Jedna osoba gra na iPhone a druga na iPod, na tym samym koncie, w tą samą grę. - Podczas włączenia gier na urządzeniach synchronizują się oba urządzenia i ilość żyć na urządzeniach jest ta sama. Aplikacja umożliwia kupowanie różnego contentu do gry itp., użytkownik może więc dokupić życia. Tak więc: - jedna osoba wchodzi w menu 'store', kupuje paczkę żyć, aplikacja wysyła dane z nową ilością żyć do iCloud. - sekundę później użytkownik na drugim urządzeniu przegrywa i traci jedno życie. To powoduje również wysłanie informacji do iCloud. Jak wiadomo wysłanie i pobranie danych z iCloud może potrwać chwilę, jakieś 10-15 sekund więc teoretycznie na serwer powinny trafić obie notyfikacje i jedno urządzenie powinno odebrać notyfikację o kupnie żyć a drugie o stracie jednego życia. Niestety dzieje się tak, że notyfikacja przychodzi tylko z ostatniego powiadomienia (sprawdziłem i jedna notyfikacja jest dostarczana wtedy gdy zmienia się wartość dla jednego klucza, czyli np. tylko życia. Jeśli na jednym urządzeniu zmieni się liczba żyć, a na drugim coś innego, to oba urządzenia dostają odpowiednie notyfikacje). Tak jakby inne powiadomienia ginęły gdzieś tam i gracz na jednym z urządzeń nie wie, że zostały kupione życia bo zwyczajnie to powiadomienie nie dociera lub zwyczajnie zostało nadpisane. Czy jest to normalne zachowanie iCloud?




Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych