Nepeo's Forum Posts

  • Hi Tackla,

    sorry if you've been waiting a little while for a response, I don't spend much time on the forums.

    I had a look through the source and there isn't a specific method for opening the top level leaderboard list. But by the looks of it, if you give a zero length string ( "" ) then it might display it. I haven't been able to confirm this, as I don't have a test project set up for this. I hope this helps. If that doesn't do it then we'll have to add the feature in.

    If your curious, you can find the native code the method maps to here

  • fredriksthlm

    So C3 will be able to use any keystore file. When you do a build via the build service it will ask you for a keystore file along with it's alias/key password/store password. We're avoiding storing the keystore itself within the editor. The hope being it will encourage users to put the file somewhere safe/secure and not just leave it in C3, trusting it will always be there. So no "import" is required.

    If you want to the editor will also be able to generate new keystores for you. One limitation is that you will not be able to sign an existing APK, it will only work with builds.

    Bootfit

    The fee unlocks the ability to publish applications to the play store and allows you to use services like In App Billing and Play Games.

    Google does not issue you with a certificate, and you don't need to give it to them. You create the certificate on your computer, use it to sign the APK and then give the signed APK to Google. The first time you upload an APK for a new application they read the signature in the APK and that signature is permanently associated with that application. To publish new versions of that application the signature must match the original one, so you need to use the same certificate every time. Once a APK has been signed it cannot be modified, or it will appear as tampered with and it will not be run.

    To generate a keystore you need to use keytool which is part of the Java Development Kit ( JDK ). If you don't like using the command line you can use Android Studio to create a keystore for you.

    There is a little bit of information on https://developer.android.com/studio/publish/app-signing.html#signing-manually about creating a keystore using keytool and signing an APK using the apksigner tool.

  • Bootfit you can sign APK files without android studio using either the apksigner or jarsigner command line tools. Android studio basically just wraps those tools to streamline the process. I believe there's more than one way to generate a signing certificate but the main one is using the command line tool keytool. I'm actually in the process of adding APK signing and keystore generation to C3, although it will only work with the build service not Phonegap Build. Although I believe Phonegap build might offer a service to sign your APK for you? It could be on one of the paid tiers though.

    Incidentally you don't need a signing certificate to register as an Android developer, and unsigned debug APKs can be installed onto a phone without being a registered developer.

  • I understand people are finding some of the new requirements a pain, I would like to say that I also find them pretty tedious. Just so everyone is clear:

    • APK files must be signed
    • You must supply your SHA-1 certificate signature in the Google Play Developer Console
    • The Google account you are testing with must be listed as a tester in the Google Play Developer Console

    If any of these are not done, when login is called it will briefly show the Play Games dialog, then it will vanish. These 3 things are required by Google (not by us), and any application that wants to use the Play Games service on Android must fulfil them.

    The reason why they were not previously required was because we used the Web API on all platforms, and the requirements are a lot slacker for the Web API. Unfortunately Google no longer allow you to use the web API within a WebView for security reasons.

    There are currently no known issues with the plugin. If you are experiencing a bug that isn't a sign in related configuration error then please open an issue on our bug tracker and I will look into it ASAP.

  • That's fine, Apple and Google seem to go out of their way to make their services hard to integrate with!

    Are you using C2 or C3?

  • If you attempt to close the tab or the browser during a save then a dialog will pop up and tell you that it's still saving. Are you not seeing this?

    The browser doesn't allow web applications to save files in user space for security reasons. We could save a copy in the browser cache before sending it, but there's situations where that could fail and it also slows down saving. As users can choose to save to the browser I'm not convinced it would help that much.

  • Silviu are you using Construct 2 or 3? I'm not sure if the version of Google Play in C2 works in Android applications at the moment.

    I'm assuming your using C3, based on the "Google Play Services stopped" message. When developing the plugin I noted that Play Services can be very fragile, and will sometimes crash when given invalid data instead of producing error messages. Also setting up your application online can be quite hard. Here's a checklist I have for using it:

    • Create your game and leaderboards etc. through the Google Play console NOT the Google API console
    • APKs must be signed
    • Upload the SHA1 signature for your signing key
    • Sign the APK with the same signing key that you upload the signature for
    • Specify the app ID in the project
    • Make sure your email address is under the list of testers on the Google Play Console
    • Leaderboard/achievement caching is very aggressive, your device will always use it's local list instead of the remote if it can

    If you haven't done any of the first 6 you won't be able to log in, it can be pretty frustrating.

  • kingpirux I would definitely recommend saving often, but even so if a save fails you should be able to try again? You can see the progress of file saves in a status message on the bottom left of the editor, and a dialog will appear if a save fails.

    When saving to the cloud a dummy file is initially created with no content, then updated with the project contents. So if you see a 0kb file only the first half of the save worked.

    Saves are created in memory then uploaded to the cloud, so there is kind of a local copy but it never exists on the filesystem. If you want there is an option to set up project autosaves in settings, you can set these to be saved to the browsers local storage so that your not completely reliant on your network connection. While these are stored on your hard disk you can't get to them via windows explorer and clearing your browser cache will delete them, so treat them as temporary storage!

  • Try Construct 3

    Develop games in your browser. Powerful, performant & highly capable.

    Try Now Construct 3 users don't see these ads
  • Hey MassimoF, I'm the developer for the ArrayEditor. I'm glad you like it!

    Could you show me an example of what you mean? I don't think it's a bug but it's best to check. We "pretty print" JSON files when we save them, it's supposed to make it more readable, but with the 3D arrays we use it can spread the file out quite thinly ( one value per line ). We used to export in the more compact format, but we had a request from a user to change it to a pretty printed format. They were using version control and when all the content is on one line it's very hard to use file diffing, as it basically shows the entire file as changed if a single character is changed.

    The extra whitespace is ignored by the parser so it's purely for human eyes only. Incidentally I tried creating an empty 200 x 5 x 1 array and downloading it, and while it came to 152kB loose it compresses very well. Using DEFLATE which is what c3p and apk files uses it was only 985 bytes. Minified the file was 20kB loose and 167 bytes compressed. Perhaps we should offer some option for minifying JSON files during export.

    I'd be careful using that regex for removing whitespace, as it would remove any spaces in your values as well! There's quite a few JSON minifiers/beautifiers around which will safely change your content for you. Here's one https://www.cleancss.com/json-minify/

  • Hi Silviu,

    The documentation needs some updating, sorry about that. We recently updated it to use the native API methods when packaged up for Android. Before it used the web API, which had stopped working due to some changes on Google's part.

    If you set up your App on the Google Play Console according to Google's documentation, then in C3 you only need to include the "Game ID" value for Android to work. This value is a number and can be in the Game services list underneath the game name. Make sure you do your setup on the Google Play Console NOT the Google API Console.

  • sizcoz Whoops, looks like you found some secret UI

    I'm working on it yes, but it's not quite ready yet. The UI parts are included in the current releases but shouldn't appear at the moment. Should make life considerably easier when producing release builds!

  • Hi hackinc2000

    We operate on a whitelist policy for using cordova plugins on the build server. Provided all goes well with your plugin drop me a bug report https://github.com/Scirra/Construct-3-bugs/issues when your finished and I'll review it and update the whitelist.

    Anyone not using the build server is of course welcome to use whatever they want in their projects.

    Also we've just launched the addon area of the construct.net site https://www.construct.net/gb/make-games/addons I'm sure you addon would make a great addition to the list

  • Hi there!

    The "periodically back up projects" is basically an autosave. It will either create or update a file with a name that matches projectname._autosave_.c3p for the active project at the specified interval. You can choose which service you want it to save to using the location dropdown, but the actual location is decided by C3. It will either place it next to a file which matches the project name or at the root. If you choose the "Same location" option it will save it to the same service you opened the project from, so if your project is saved on Dropbox it will be saved to Dropbox. If you select "Google Drive" but you open your project from Dropbox it will autosave to Dropbox and so on and so forth.

    Originally it was called "periodically back up projects" because it would only save to browser storage, and this was considered more of a temporary back up basically. I've since updated it to save to any service, so it's more of an autosave.

  • Some android devices can be a little awkward to open APK files. How are you trying to open the APK? Using some sort of filesystem app?

  • By the looks of the error it's actually trying to make a purchase now, but is failing with an invalid product ID. I had a quick look online and this error seems to cover a multitude of configuration issues...

    Have a look through these and see how you get on http://troybrant.net/blog/2010/01/invalid-product-ids/. Some are complicated looking, so just start with the easiest ones.

    One that stood out to me was that you had to use xcode to load the app onto the device, and you had to make sure to remove any old versions of the app from the device first.