Search Unity

[RELEASED] CloudOnce | Unified Game Services API

Discussion in 'Assets and Asset Store' started by Trollpants, May 6, 2015.

  1. Boborus

    Boborus

    Joined:
    May 20, 2016
    Posts:
    2
    Hello, I'm having an issue and was wondering if you can help. I tried to use the contact page on your website but clicking it does nothing.

    My project loads to android just fine, but when I import and use CloudOnce I get multiple errors and the APK creation fails. I am using the current version of CloudOnce and the current version of Unity. Untitled.png
     
  2. Trollpants

    Trollpants

    Joined:
    Jun 22, 2014
    Posts:
    113
  3. Boborus

    Boborus

    Joined:
    May 20, 2016
    Posts:
    2
    Thanks! That was part of my issue, but for anyone else having issues building for Android in Unity 5.3.5 I also downloaded the beta version (5.4.0b18) and it solved an issue that said "Failed to re-package resources".
     
  4. Trollpants

    Trollpants

    Joined:
    Jun 22, 2014
    Posts:
    113
    There are several possible causes for the "Failed to re-package resources" error. But I'm happy you got it working :)

    - Jan Ivar
     
  5. andyl_dc

    andyl_dc

    Joined:
    May 12, 2016
    Posts:
    5
    Wow, after a short vacation and see all my issues have been fixed. Thanks a lot!
     
  6. Trollpants

    Trollpants

    Joined:
    Jun 22, 2014
    Posts:
    113
    You're very welcome :)

    - Jan Ivar
     
  7. Froghuto

    Froghuto

    Joined:
    Oct 4, 2012
    Posts:
    61
    Hi,

    I seem to have a problem logging into google play.
    I only see the green Google Play logo window then only a loading spinner and it hangs at that stage. I can press the back button to get to an account selection window, and pressing back on that will get me into the game, but of course I'm not logged into google play then.
    I also searched in the logcat to see if I can find the problem but I did not find anything that would give me any clues to whats wrong. I attached it here in the hopes you can help me find what I'm doing wrong.
    Thanks!
     

    Attached Files:

  8. Trollpants

    Trollpants

    Joined:
    Jun 22, 2014
    Posts:
    113
  9. Trollpants

    Trollpants

    Joined:
    Jun 22, 2014
    Posts:
    113
    Trollpants Game Studio shutting down

    Last fall I got a full-time job at another company, so since then I have been maintaining CloudOnce in my free time. But frankly, I no longer have the energy to do so. Sales have also waned a lot in the last few months. So, effective immediately, I will no longer be providing support for CloudOnce. I've made the package free in the Asset Store, and it is my intention to make it open source and put it on GitHub for anyone who wants it.

    I want to give a huge thanks to everyone who bought the asset (and thus helped keeping it alive) during the last year. It didn't make me rich by any means, but the experience I've gained maintaining a commercially available asset has been invaluable.

    Update: CloudOnce source is now available on GitHub here: http://github.com/Trollpants/CloudOnce
    As the project is now open source, anyone is welcome to fork the project or contribute pull requests.

    - Jan Ivar
     
    Last edited: Jun 1, 2016
    DonLoquacious and shaneparsons like this.
  10. IndieFist

    IndieFist

    Joined:
    Jul 18, 2013
    Posts:
    520
    Hi, i`m searching on documentation about how to get or fire and event when cloud load was complete.
    Cloud.OnNewCloudValues this maybe the method or the event, but i dont now how to implement it.
    Regards.
     
  11. IndieFist

    IndieFist

    Joined:
    Jul 18, 2013
    Posts:
    520
    Well, i just have tested and when i activate cloud save, values dont use "highest" mode set it on cloud variables and uses the cloud save.
     
  12. IndieFist

    IndieFist

    Joined:
    Jul 18, 2013
    Posts:
    520
    Hi, after more testing i have found more issues.
    I dont know why, but with some accounts of gmail, any time i do load from cloud, al data is 0, nothing saved.
    Testing with other accounts load fine all data saved on cloud but not respect the highest values, this is, if i have purchased some consumable items and upgrade my ship when i do load from cloud, loss values like basic fire rate on level 5 and loads rate 4 from cloud.
     
  13. breeme

    breeme

    Joined:
    Mar 17, 2014
    Posts:
    21
    Hi, I'm having some questions.
    1:Can I do the Android ->GPGS -> iOS and iOS ->GPGS->Android on clowdsave?
    2:Is it have to download the GPGSDK too?
     
  14. IndieFist

    IndieFist

    Joined:
    Jul 18, 2013
    Posts:
    520
    Good plugin poor support.
    We get this error on unity 5.4:
    get_isPlaying is not allowed to be called from a MonoBehaviour constructor (or instance field initializer), call it in Awake or Start instead. Called from MonoBehaviour 'TestProvider' on game object 'Trollpants.CloudOnce.Internal.Providers.TestProvider'.
    See "Script Serialization" page in the Unity Manual for further details.
    UnityEngine.Application:get_isPlaying()
    Trollpants.CloudOnce.Internal.CloudProviderBase`1:.ctor(String) (at Assets/Extensions/Trollpants/CloudOnce/Internal/CloudProviderBase.cs:35)
    Trollpants.CloudOnce.Internal.Providers.TestProvider:.ctor()
     
  15. IndieFist

    IndieFist

    Joined:
    Jul 18, 2013
    Posts:
    520
    Hi.
    Latest Unity 5.6 breaks Cloudonce:
    Assets/Extensions/CloudOnce/Internal/Editor/Utils/AndroidManifestModifier.cs(191,83): error CS0117: `UnityEditor.AndroidSdkVersions' does not contain a definition for `AndroidApiLevel10'
     
  16. lakehorseunity

    lakehorseunity

    Joined:
    Sep 11, 2018
    Posts:
    1
    hi @Trollpants
    I have problem building the project in xcode(ver 9.4.1). I get this error:

    Code (CSharp):
    1. Undefined symbols for architecture armv7:
    2.   "__DeleteDevString", referenced from:
    3.       _iCloudBridge_DeleteString_m4250227705 in Bulk_Assembly-CSharp_0.o
    4.       _iCloudBridge__DeleteDevString_m3583499863 in Bulk_Assembly-CSharp_0.o
    5.      (maybe you meant: _iCloudBridge__DeleteDevString_m3583499863)
    6.   "__IncrementAchievement", referenced from:
    7.       _AchievementsBridge__IncrementAchievement_m3904143629 in Bulk_Assembly-CSharp_0.o
    8.      (maybe you meant: _AchievementsBridge__IncrementAchievement_m3904143629)
    9.   "__SetDevString", referenced from:
    10.       _iCloudBridge__SetDevString_m338544688 in Bulk_Assembly-CSharp_0.o
    11.      (maybe you meant: _iCloudBridge__SetDevString_m338544688)
    12.   "__RevealAchievement", referenced from:
    13.       _AchievementsBridge__RevealAchievement_m2077716238 in Bulk_Assembly-CSharp_0.o
    14.      (maybe you meant: _AchievementsBridge__RevealAchievement_m2077716238)
    15.   "__UnlockAchievement", referenced from:
    16.       _AchievementsBridge__UnlockAchievement_m1545773729 in Bulk_Assembly-CSharp_0.o
    17.      (maybe you meant: _AchievementsBridge__UnlockAchievement_m1545773729)
    18.   "__GetDevString", referenced from:
    19.       _iCloudBridge__GetDevString_m2846885117 in Bulk_Assembly-CSharp_0.o
    20.      (maybe you meant: _iCloudBridge__GetDevString_m2846885117)
    21.   "__LoadAchievements", referenced from:
    22.       _AchievementsBridge_LoadAchievements_m820049298 in Bulk_Assembly-CSharp_0.o
    23.       _AchievementsBridge__LoadAchievements_m1356335875 in Bulk_Assembly-CSharp_0.o
    24.      (maybe you meant: _AchievementsBridge__LoadAchievements_m1356335875)
    25. ld: symbol(s) not found for architecture armv7
    26. clang: error: linker command failed with exit code 1 (use -v to see invocation)
    I surfed all through the web but nothing seems to work :(
    I enabled symlink unity libraries option in build settings but the error stays the same! I have also added gamekit liberary in xcode. nothing!
    My unity version is 2018.1.0f2 and also I'm using CloudOnce version 2.6.0
     
  17. smokinpuppy

    smokinpuppy

    Joined:
    Sep 1, 2018
    Posts:
    39
    HI,

    This is a great plug in thank you for making it. I have a problems:

    - I upgraded my unity account to Plus, then the data in the editor for CloudOnce disappeared. What should I do?

    Thanks in advance,

    Robert
     
    Last edited: Jun 18, 2019
  18. rpuls

    rpuls

    Joined:
    Feb 3, 2017
    Posts:
    101
    Hey, I had similar issue when migrating to a new machine and fetching from unity cloud. You are probably missing the 'project dir/SprojectSetting/CloudOnceSettings.txt' file, which for some reason are not included in unity collabortae. Luckily for me, I am also using git, so i was able to find it in my bitbucket repo and download it. This restored all my cloudOnce editor settings.

    Big problem is that if you loose this file, and to to create a new achievement, leaderboard or cloud variable, all your current achievements etc. will be overwritten and lost.
     
  19. hyphenbash

    hyphenbash

    Joined:
    Dec 31, 2018
    Posts:
    20
    How alive this library is? Github issues don't exist, but there are 3 contributors, why the maintainer doesn't allow issues there so people can contribute better?
     
  20. rpuls

    rpuls

    Joined:
    Feb 3, 2017
    Posts:
    101
    I'm using this library, and haven't found any better alternative. Each time there are some required dependency updates, maintainer seems to be on top of it. But I would very much like open issue tracking, I think everyone would benefit from that. I see some room of improvement in some areas, but all in all this is a pretty great package.
     
  21. hyphenbash

    hyphenbash

    Joined:
    Dec 31, 2018
    Posts:
    20
    The first thing that came in odd is that it uses unity-jar-resolver which is supposed to be a plugin and sits in inside plugins directory, but for some reason if you move it to plugins directory Google namespace becomes unavailable and throws compile error.

    Also when I want to rebuild the unity package to get the latest unity-jar-resolver it throws compile error, not for jar-resolver but CloudOnce itself.

    The fact that I can't seem to find any solution through channels like github issues or a forum, discord server, etc. prevents me to use this as once it is integrated there's no way back unless to change a lot of things to do that.
     
  22. PapaStout

    PapaStout

    Joined:
    Jun 11, 2017
    Posts:
    16
    Hi. Are Cloud Variables stored as PlayerPrefs, in addition to GameKit and Google Play Games Services?

    I'm having a hard time maintaining CloudOnce in my game, so I will need to migrate to another package. I was wondering if I could release a new version of the game and run a one-time conversion from CloudOnce (without the package being installed) by reading the PlayerPrefs (instead of the CloudOnce APIs).

    Thanks.
     
  23. rpuls

    rpuls

    Joined:
    Feb 3, 2017
    Posts:
    101
    I'm currently struggling as well. have spend 3 x 15 + hours over the past year maintaining and resolving weird dependency conflicts and debugging when it suddenly stops working. Due to lack of activity in the "community" or from the owner. I am also considering migrating to another solution. I would be very interested in hearing what package you are looking at, and eventually how/if you manage to migrate. Would be highly appreciated!

    Actually atm, my google play games service is not working at all, and I am completely clueless why, as there are no errors or anything, no diff in git since it used to work, and the fact that apple game center still works perfectly.
     
  24. infosapcreation

    infosapcreation

    Joined:
    Sep 19, 2019
    Posts:
    1
    Hi, how many users can register the Leaderboard? Thx
     
  25. DrizzleGames

    DrizzleGames

    Joined:
    Apr 2, 2016
    Posts:
    16
    @rpuls, did you figure anything out with this? I just got CloudOnce integrated into my game for the cloud saves and everything seems like it's working from the logs and everything, but when I boot the game up on a fresh install there's no data stored on either Android or iOS. Also checking the CloudKit dashboard shows that nothing has been saved there.

    Based on this thread I wasn't sure if it just doesn't work anymore or if I'm somehow doing something wrong. If it doesn't work anymore then I guess I gotta find another package :/
     
  26. IndieFist

    IndieFist

    Joined:
    Jul 18, 2013
    Posts:
    520
    The first time i was using this asset i remember it takes some time to see something in cloudkit, you can save your progress, delete cache and files of your game and reinstall and see if you can get progress from cloud.
     
  27. DrizzleGames

    DrizzleGames

    Joined:
    Apr 2, 2016
    Posts:
    16
    Thanks for the response! At this point of continued testing, I see that the data is being stored in CloudKit, but whenever I try a reinstall I just get "No data saved to the cloud yet." from CloudOnce ; it's very odd.
     
  28. rpuls

    rpuls

    Joined:
    Feb 3, 2017
    Posts:
    101
    @itsOgden, damn it I don't remember what I did but yes I figured it out and it is working perfectly fine now. So at least I can confirm that it is possible to get to work.
     
    DrizzleGames likes this.
  29. albabiwalid

    albabiwalid

    Joined:
    Nov 4, 2017
    Posts:
    3
    hello , i am using cloudeonce in my project its amazing
    but when i upload my game to google play console and i open the game
    first: the function CloudOnceLoadComplete return false
    i do some purchases than i close the game than i open the game again
    second: cloud.Initialize doesn't Initialize again
    and no cloud saving its saving on local i checked evrything here is my code

    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    using UnityEngine.SceneManagement;
    using CloudOnce;
    using CloudOnce.CloudPrefs;
    using UnityEngine.UI;
    public class ProfileManager : MonoBehaviour
    {

    private static ProfileManager _instance;
    public static ProfileManager instance
    {
    get { return _instance; }
    }

    private int _Heart = 5, _Coins, _Diamonds, _Score, _StarsCrowns, _Level = 1, _Xp;
    private bool _NoAds;
    private string _PlayerName;
    private Texture2D _PlayerPhoto;

    public int Level { get { return _Level; } }
    public int XP { get { return _Xp; } }
    public int Heart { get { return _Heart; } }
    public int Coins { get { return _Coins; } }
    public int Diamonds { get { return _Diamonds; } }
    public int Score { get { return _Score; } }
    public int StarsCrowns { get { return _StarsCrowns; } }
    public bool NoAds { get { return _NoAds; } }
    public string PlayerName { get { return _PlayerName; } }
    public Texture2D PlayerPhoto { get { return _PlayerPhoto; } }

    private int sceneCount;

    public Text txt;





    //On Enable/Disable

    private void OnEnable()
    {
    SceneManager.sceneLoaded += OnLoadScene;
    }

    private void OnDisable()
    {
    SceneManager.sceneLoaded -= OnLoadScene;
    }

    //Start
    private void Awake()
    {
    _instance = this;

    Cloud.OnInitializeComplete += CloudOnceInitializeComplete;
    Cloud.OnCloudLoadComplete += CloudOnceLoadComplete;
    Cloud.OnCloudSaveComplete += CloudOneceSaveComplete;
    Cloud.Initialize(true, true, true);
    }

    private void Start()
    {

    }
    //Cloud
    void CloudOnceInitializeComplete()
    {
    Cloud.OnInitializeComplete -= CloudOnceInitializeComplete;
    Cloud.Storage.Load();
    txt.text = "InitializeSuccess";
    }

    void CloudOnceLoadComplete(bool success)
    {
    if (success)
    {
    LoadDataInMenu();
    txt.text = success.ToString();
    }
    else
    {
    txt.text = success.ToString();
    }

    }

    void CloudOneceSaveComplete(bool success)
    {
    if (success)
    {
    txt.text = success.ToString();
    }
    else
    {
    txt.text = success.ToString();
    }

    }

    //Update
    private void Update()
    {


    if(_Xp >= 600)
    {
    CloudVariables.Xp = 0;
    CloudVariables.Level++;
    LoadDataInMenu();
    }
    }

    private void OnLoadScene(Scene scene, LoadSceneMode mode)
    {
    sceneCount = SceneManager.GetActiveScene().buildIndex;
    CloudVariables.TotalScore = (CloudVariables.Scene3 + CloudVariables.Scene4 +
    CloudVariables.Scene5 + CloudVariables.Scene6 + CloudVariables.Scene7
    + CloudVariables.Scene8 + CloudVariables.Scene9 + CloudVariables.Scene10
    + CloudVariables.Scene11 + CloudVariables.Scene12 + CloudVariables.Scene13
    + CloudVariables.Scene14 + CloudVariables.Scene15 + CloudVariables.Scene16
    + CloudVariables.Scene17 + CloudVariables.Scene18 + CloudVariables.Scene19
    + CloudVariables.Scene20 + CloudVariables.Scene21 + CloudVariables.Scene22
    + CloudVariables.Scene23 + CloudVariables.Scene24 + CloudVariables.Scene25
    + CloudVariables.Scene26 + CloudVariables.Scene27 + CloudVariables.Scene28
    + CloudVariables.Scene29 + CloudVariables.Scene30 + CloudVariables.Scene31
    + CloudVariables.Scene32);
    LoadDataInMenu();
    Leaderboards.HightScore.SubmitScore(_Score);
    }


    public void LoadDataInMenu()
    {
    _Xp = CloudVariables.Xp;
    _Level = CloudVariables.Level;
    _Heart = CloudVariables.Heart;
    _Coins = CloudVariables.Coins;
    _Diamonds = CloudVariables.Diamond;
    _NoAds = CloudVariables.NoAds;
    _Score = CloudVariables.TotalScore;
    _StarsCrowns = CloudVariables.TotalStarsCrowns;
    _PlayerName = CloudVariables.PlayerName;
    }

    private void Save()
    {
    Cloud.Storage.Save();
    }

    //Update Profile
    public void UpdateXp(int Xp)
    {
    CloudVariables.Xp += Xp;
    LoadDataInMenu();
    Save();
    }

    public void UpdateName(string name)
    {
    CloudVariables.PlayerName = name;
    LoadDataInMenu();
    Save();
    }
    //Updates Coins/Hearts....
    public void UpdateHearts(int amount)
    {
    CloudVariables.Heart += amount;
    LoadDataInMenu();
    Save();
    }

    public void UpdateCoins(int amount)
    {
    CloudVariables.Coins += amount;
    LoadDataInMenu();
    Save();
    }

    public void UpdateDiamonds(int amount)
    {
    CloudVariables.Diamond += amount;
    LoadDataInMenu();
    Save();
    }

    public void NOADS()
    {

    CloudVariables.NoAds = true;
    LoadDataInMenu();
    Save();
    }

    }
     
  30. ElegantUniverse

    ElegantUniverse

    Joined:
    Sep 13, 2018
    Posts:
    78
    hello thank u for awesome plugin . there are two questions for me . how do i get email of android and ios user? i want to store the user's email on mysql database to do some function else.

    i used this tutorial for saving variables on cloud ,i cleared cache and data of my game from app setting and all cloud variables changed to zero if these information are saving on cloud it shouldn't be change even if we clear cache and data.
     
    Last edited: Jun 21, 2020
  31. neokortex

    neokortex

    Joined:
    Mar 13, 2017
    Posts:
    1
    Hi when you update to api 29 and google service 10?
    For post app on google at the 30/08/2020 api 29 are requiert.
     
  32. robson_unity208

    robson_unity208

    Joined:
    Jul 14, 2020
    Posts:
    7
    Having the same issue here =/
    Anyone able to find a fix for thus?
     
  33. DrizzleGames

    DrizzleGames

    Joined:
    Apr 2, 2016
    Posts:
    16
    Sadly, I personally haven't. I've been putting it off, but I may soon just switch to a different service of some kind. I don't want to because overall I like cloudonce and google play is working great, but without iOS it's not good enough.
     
  34. Hardcore_Graverobber

    Hardcore_Graverobber

    Joined:
    Jul 31, 2016
    Posts:
    9
    I'm a bit confused if this project is still maintained or not?
    But I integrated it into my game and at first all seemed fine. The logs are appearing in the Editor etc
    I uploaded my Android version to the Alpha Channel of Google Play. But if I download it from there and start the game the app just crashes.
    I tried sending the error log but it just won't appear in the Play console...
    Did anyone ever experience that and knows why it is happening?
     
  35. DonVercotti

    DonVercotti

    Joined:
    Feb 1, 2019
    Posts:
    3
    I seem to be stuck at integrating it into the Android version of my game, here's the checklist from the Google Play dashboard below. The app is uploaded to 'close testing' and nothing really happens: no automatic sign in and the sign in, leaderboard, achievements buttons don't do anything. All IDs are correct and I ran the setup within the editor, etc.

    upload_2021-4-13_9-31-18.png

    On iOS there's no problem whatsoever, everything works.
     
  36. unity_gB8q3IZt9NH1Tw

    unity_gB8q3IZt9NH1Tw

    Joined:
    Mar 7, 2020
    Posts:
    1
    Hello, everyone! I need quick help! I tried to use CloudOnce in my unity project, for Android and IOS.
    I have 1 problem. In Unity Editor simulate was successful, Load was complited (OnCloudLoadComplete: Cloud load was successful.), but in test app in Google console, i catched strange error. On my phone Initialize was complited (Cloud.OnInitializeComplete works), but "Cloud.OnCloudLoadComplete" didn't start my void "CloudOnceLoadComplete". So because of this dont work leaderboard, atchivements and CloudVariables. If I delete all script with LoadVariables, use "Cloud.Initialize(false, true)", atchivements and CloudVariables works fine.

    I'm using the latest CloudOnce v2.7.2, in Google Play Console "Save Game" is checked, min. API 23, scripting Backend IL2CPP.

    Where can be the problem? I need your help guys!

    For CloudOnce i'm using this code:

    Code (CSharp):
    1. public class CloudOnceServices : MonoBehaviour
    2. {
    3.     public static CloudOnceServices instance;
    4.     public TMP_Text[] texts; // for test in game
    5.     private void Awake()
    6.     {
    7.         TestSingleton();
    8.     }
    9.  
    10. //Converting CloudVariabels to Unity
    11.     public void CloudVareablesLoad() {
    12.         texts[5].text = "Started Change values";
    13.         if (PlayerPrefs.GetInt("levelsPast") < CloudVariables.LevelsPastAkBure)
    14.         {
    15.             PlayerPrefs.SetInt("levelsPast", CloudVariables.LevelsPastAkBure);
    16.         }
    17.         else if(PlayerPrefs.GetInt("levelsPast") > CloudVariables.LevelsPastAkBure) {
    18.             CloudVariables.LevelsPastAkBure = PlayerPrefs.GetInt("levelsPast");
    19.         }
    20.         if (PlayerPrefs.GetInt("ScoreAk") < CloudVariables.ScoreInGameAkBure)
    21.         {
    22.             PlayerPrefs.SetInt("ScoreAk", CloudVariables.ScoreInGameAkBure);
    23.         }
    24.         else if (PlayerPrefs.GetInt("ScoreAk") > CloudVariables.ScoreInGameAkBure) {
    25.             CloudVariables.ScoreInGameAkBure = PlayerPrefs.GetInt("ScoreAk");
    26.         }
    27.     }
    28.  
    29. //Making only one gameobject with Cloud Script for Multy scenes
    30.     private void TestSingleton() {
    31.         if (instance != null) {
    32.             Destroy(gameObject);
    33.             return;
    34.         }
    35. //this part run only once then Awake();
    36.         instance = this;
    37.         DontDestroyOnLoad(gameObject);
    38.         /*print*/   texts[0].text = "Cloud Created";
    39.         Cloud.OnInitializeComplete += CloudOnceInitializeComplete; // work fine in game
    40.         /*print*/   texts[1].text = "Start Initialize";
    41.         Cloud.OnCloudLoadComplete += CloudOnceLoadComplete; // work fine only in Editor
    42.         Cloud.Initialize(true, true);
    43.     }
    44.    
    45.  
    46.     void CloudOnceInitializeComplete() {
    47.         Cloud.OnInitializeComplete -= CloudOnceInitializeComplete;
    48.         /*print*/ texts[3].text = "Initialize complite";
    49.     }
    50.  
    51.     void CloudOnceLoadComplete(bool success) {
    52.         /*print*/ texts[2].text = "Start CloudLoad";[B] //From this moment nothing happined [/B]
    53.        
    54.         if (success)
    55.         {
    56.             /*print*/ texts[4].text = "Load complite: " + success;
    57.             CloudVareablesLoad();
    58.         }
    59.         else {
    60.             /*print*/ texts[4].text = "Load not complite: " + success;
    61.         }
    62.     }
    63.    
    64.     private void OnApplicationQuit()
    65.     {
    66.         Cloud.Storage.Save();
    67.     }
    68.     private void OnApplicationFocus(bool focus)
    69.     {
    70.         if (focus == false) {
    71.         Cloud.Storage.Save();
    72.         }
    73.     }
    74. }
    upload_2021-4-22_21-43-23.png
     
  37. IndieFist

    IndieFist

    Joined:
    Jul 18, 2013
    Posts:
    520
    wow! i just coming to this thread because i need to use again cloud services to store my game currency and this is the latest asset i was using in 2016 :O
     
  38. andrewpmoore

    andrewpmoore

    Joined:
    May 12, 2015
    Posts:
    10
    I'm using the plugin and it's generally working great. I've got leaderboard and achievements working well.
    I've also got cloud save working fine on android, but on ios I'm having problems with it.

    I get all the events (initialise and load) both completing with a success.
    If there's no data (ie first run) I save some data which also looks to return ok.
    If I rerun the app, the data has been persisted ok.

    But if I delete the app and install it again, it signs in automatically, but when I load the data it's empty.

    Given the code works on android I'm guessing it's something in the config of icloud and capabilities and there's not really much documentation on what needs settings up.

    In signing and capabilities I've enabled

    icloud key-value storage
    and
    CloudKit (but I'm not sure if that's needed)
    I've also got a container (again not sure if that's needed)

    Any guidance would be great. I'm pretty new to ios, and I'm sure it's just something basic I'm missing, but I've been trying for the last couple of days.
     
  39. andrewpmoore

    andrewpmoore

    Joined:
    May 12, 2015
    Posts:
    10
    I finally got it working after 5 days. I read something on stackoverflow in general about icloud key-value pairs.
    It turns out that if you've had the app installed before adding the icloud code that sometimes you'll need to uninstall the app and then either 1) reboot the phone or 2) sign out of icloud and back in again.
    Then reinstall the app.

    Now it works perfectly fine. Can't believe how long I spent on finding that.
     
  40. passer

    passer

    Joined:
    Dec 1, 2013
    Posts:
    12
    Hi. I am creating recursive leaderboard for a game and I tried cloudonce.
    I need increase score(summarize all values) so I am loading scores to find previous value. But next line returns(to callback) empty array however submit score works as intended. Any idea or code example about loading scores?
    Code (CSharp):
    1. Leaderboards.goldLeaderboarDaily.LoadScores(appendNewScore);
     
    Last edited: Feb 7, 2022
  41. standardcombo

    standardcombo

    Joined:
    Jun 28, 2012
    Posts:
    19
    I noticed the Getting Started guide says "both a sign-in option and a sign-out option" are required by Google. However, I've reviewed Google's quality checklist and they mention nothing about sign-out options-- nowhere.
    Outdated?
    http://developers.google.com/games/services/checklist
    guide here: https://cloudonce.github.io/gettingStarted.html

    Another section that seems outdated is on enabling Saved Games
    Currently, you need to access the menu (left-side navigation):
    Play Games Services > Setup and management > Configuration
    and follow the checklist.
     
    Last edited: Nov 2, 2022
  42. igoapp

    igoapp

    Joined:
    Aug 8, 2021
    Posts:
    20
    I am having an issue using CloudSave. I have started with the iOS version. I have created an iCloud Container, in the game identifier capabilities, I checked "iCloud" and added the container. Then in Signing and Capabilities in Xcode, I added iCloud and checked Key-Value storage, CloudKit, and my Container. Then, I uploaded my application to appstoreconnect and started testing it. Unfortunately, not working. Method
    Code (csharp):
    1. void CloudOnceLoadComplete(bool success)
    is called, but method
    Code (csharp):
    1. void CloudOnceNewValuesComplete(string[] values)
    is not called. Hence, no stored values are uploaded or downloaded to iCloud.

    It is all successfully simulated in Unity Simulator.
    Is it working for other people? Is there anything I may be missing?

    P.S. At some point, I was even thinking about using Achievements as the way to store reached Levels and sub-levels. However, I am not sure if this is a good approach. Besides, I also need to save points.

    Thank you!
     
  43. newlife

    newlife

    Joined:
    Jan 20, 2010
    Posts:
    1,081
    hello @igoapp, did you manage to fix this issue?