Quick Links: Gideros Home | Download Gideros | Developer Guide
Kinvey & Firebase added to Gideros REST API library
  • ndoss +1 -1 (+6 / -0 )
    Guru
    Added support for Kinvey and Firebase to: https://github.com/KosiDossApps/gideros_restful_apis

    Here's a quick video that shows writing/reading lua tables to/from Firebase. When the app runs, data immediately shows up in my desktop web browser.



    Kinvey & Firebase make it very easy to read and write lua tables to the cloud. For example, the following writes a table (the 3rd argument) to the "example" collection and names the table "mydata".
    kinvey:create("example", "mydata",     { name="myname", a=4, b=5, list={ 34, 35, 36 } }, handler)


    Here's a firebase example which writes a table to "new/data":
    firebase:write("new/data", { gideros = "Gideros Mobile", thisIs = { anExample = { ofANested = "table" } } })

    You can read the whole table like so:
    firebase:read("new/data", function(r)   ... r.data will contain the table ... end)

    You can also retrieve just a portion of the table:
    firebase:read("new/data/thisIs/anExample")   ----> returns { ofANested = "table" } in the response


    The example uses my account at: http://gamma.firebase.com/ndoss. If you point your web browser to that location, you can can see the data that's been written.

    --ND
  • Very cool, I'll certainly be thinking about using that in the future on a few games :)
    ThumbHurt Games / FB: ThumbHurt Games / FB: Eli/Teranth | Skype: teranth37
  • This looks awesome! Is there a similar read call for kinvey to retrieve an entire table?
  • zvardin said:

    This looks awesome! Is there a similar read call for kinvey to retrieve an entire table?


    Yes, there's a get (https://github.com/KosiDossApps/gideros_restful_apis/blob/master/kinvey/kinvey.txt)
  • Ok, I saw the get and see the print statement it does, but must have been doing something else wrong. Think I might see what it is, thanks!
  • I had been testing this in the Player on my PC and everything seems to work fine, however when I test in the player on my Android I seem to get no data returned. I'm rather new to mobile development so I'm wondering if some sort of Android security feature is getting in the way maybe? Any ideas would be greatly appreciated, thanks!

    If I add some print statements for debugging in the handler, r.data is a table, but there seems to be nothing inside it if I try to iterate over the pairs. (On the PC, the game state loads as there is a ents object in r.data.)
    local function loadGameHandler(r)
    print("kinvey handler")
    print(r.data)
    for k,v in pairs(r.data) do
    print(k, v)
    end
     
    if r.data and r.data.ents then
    game:loadState(r.data)
    --startGame()
    else -- no info found so add some stuff
    print('ok start new game')
    startNewGame()
    end
    end
    kinvey:get("ProjectX", "gamedata", loadGameHandler)
  • I also get errors trying to run the Kinvey example you have included on my phone (although the example works in the player on my PC.) The errors vary and sometimes it kills the Gideros player entirely. Some of the output is like so:

    --------------- ping
    ERROR
    URL: https://baas.kinvey.com/appdata/kid1497/
    --------------- getUser
    ERROR
    URL: https://baas.kinvey.com/user/kid1497/4fc4750ec9f1ba140b000226

    Also interesting, sending information seems to work correctly (the create call).
  • oh.. I will definitely look at it and update this thread when I catch something. thanks.
  • Thanks @atilim, I tried looking at the lua and wondered if it was related to only UrlLoader.GET calls. (I was hoping maybe I just missed something obvious in my inexperience with Gideros)
  • Sweet! @atilim thank you so much for the bug fix with UrlLoader.GET on Android devices, my code works now :) Had to test as soon as I saw that bug fix.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Login with Facebook Sign In with Google Sign In with OpenID

In this Discussion

Top Posters