Stweve's Recent Forum Activity

  • R210.2

    I have an app that is a "free" version by default. It is "upgraded" to the Full version via IAP on two conditions:

    - + MobileIAP: Has product PRODUCT_ID_1

    - + MobileIAP: On any purchase success

    Once they are considered to have the Full version, a LocalStorage flag is set.

    If the user has uninstalled/reinstalled the app, they can click a "Restore purchases" button to retrieve a prior purchase. MobileIAP will then execute a "Restore Purchases". Even if the user does *not* own the product, the "On any purchases success" condition is still met when they restore purchases. Consequently, my app will give them a free full version. So, a new user can install the app, click "restore purchases" and now they have the full app for free.

    Workaround: Only register the app as Full/purchased if the "has product" condition has been met. Do not assume the user bought bought the product via "on any purchase success".

    Curious:

    1. Why would "restore purchases" trigger a purchase success if the user hasn't purchased the app? Has anyone else seen that? I can't find any reports of it.
    2. I consequently have users currently running the "full version" but they don't own the product, they simply clicked "restore purchases". I'd like to release an app update that takes away the "full version" flag if they don't own the product, but I don't think there is a graceful way to do check ownership without bugging my legit paying users with a login prompt to the store. Any ideas there? I'm thinking I have to let this one go.

    Maybe this is a bug? The C2 guide described "on any purchase success" as

    Triggered after any purchase finishes to indicate whether it was successful (and the item is now owned)

    The C3 manual isn't this descriptive on the logic.. but I don't see where ownership is being checked as a pre-req for purchase success.

    Cheers, -Steve

  • Thanks, Ashley!

  • Say, how about this. I need to print something like: "[ OR 3" But, I need the OR to have its own color.

    • This: \[ [color=#FFFF00] OR [/color] 3
    • Will print: [ [color=#FFFF00] OR 3
    • This: \[ [] [color=#FFFF00] OR [/color] 3
    • Will print: [ [] OR 3

    So, it seems like it it wants to escape a complete tag before its done escaping.

    This is a Spritefont.. I'm contemplating adding a fake character for the [. Any other thoughts?

  • Roger that. Thanks Ashley.

  • In 204.2, I cannot get a new browser window to open in iOS. It works fine in Preview. A build made using the latest C3 circa November '19 opens a window just fine, but 204.2 wont do it. It works fine in preview.

    I'm using On Tap Gesture --> Browser: Go to <url> in a new window ("NewWindow")

    From an older thread, I tried: Is touching nested in On any Touch End. No workie.

    The only other change from the working build other than the newer C3 version is that I'm using Xcode 11 instead of 10.2.

    Anyone else seeing this?

  • +1 for this failing on 204.2. An upgrade to 204.2 today gives an unknown error saving to OneDrive. Happens on multiple machines running the latest Chrome.

    Rolling back to 197.2 allows it to save again.

    Console errors:

    sandbox.js:1 PUT https://graph.microsoft.com/v1.0/me/drive/items/366AA09824F980D6!11145:/PT%20Keys%201.7.8d.c3p:/content?@microsoft.graph.conflictBehavior=replace net::ERR_FAILED (anonymous) sandbox.js:1 request sandbox.js:1 (anonymous) sandbox.js:1 async function (async) (anonymous) sandbox.js:1 t sandbox.js:1 ǃera sandbox.js:1 (anonymous) sandbox.js:1 main.js:210 Error saving: {response: "", code: 0, status: "", message: ""}

    Sorry for the bump, but this is for the Googlers. This can be due to a problem with a behavior or plugin.

    In my case, I had one machine that could open the project and another one that could not.

    Checking the error console, I saw it was the Lunarray litetween behavior causing an issue. I uninstalled it, then downloaded the same plugin (same version) from the working machine and installed it on the problematic one. Viola. I should try to repro this again and submit a bug, on account of the misleading error message.

  • Brilliant. Thank you so much for sharing that. The build service returned the project with the plugin! Now, to test the plugin.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • LocalStorage is important for users of my C2 courseware app.

    I'm currently using NativeStorage in C2 runtime to bridge storage from Canvas+ (to get my users off of Canvas+ death and put their data in WkWebview storage). This method works great with C2 Runtime. I add the plugin to config.xml and add a few script lines to index.html which passes data to C2 functions.

    I have to get this plugin working in C3 Runtime now, using the build service. If I compile a C3 Cordova project, add NativeStorage as a plugin to config.xml, then send the archive to the build service via Export Manager, the build service returns a project without the plugin added. The plugin should be whitelisted as of this official request. I've also tried adding a spec tag with the version mentioned in that request. I probably am not using the right procedure.

    What is the correct procedure for using such a plugin with the build service?

    There is no NativeStorage addon I can find. I've just been adding the plugin to config.xml and a script block to index.html (with success).

    This all works in C3 runtime if I test with PhoneGap, but I can't deliver with PhoneGap because that service still won't build when the target platform is iOS 12, so I need to the use the build service. I'm doing this on both Android and iOS, but am talking iOS right now for simplicity.

    CloudStorage is scoped for the future but not until I get all data off of Canvas+.

    Thanks for reading! I look forward to your ideas. -Steve

  • Will do, AllanR. Thanks for testing! If you don't mind sharing the iPhone/iPad you tested, I'll add that to the report. My iPad is an Air 2 but I suspect this would occur on others.

    And, if anyone has workaround ideas, please chime in.

  • This one took me a while to file down, as I thought Cordova would be a factor..

    I've been seeing an issue with my testers when, after init, they must tap once before any touch input is recognized. I eventually found it was happening only on iPads (but not iPhones), which is interesting. Looking further, I see that its C2 Runtime related and reproducible in Remote Preview, without Cordova.

    So, I'm seeing that touch input isn't working until the user taps somewhere at least once in the following conditions:

    - Construct r164.2

    - C2 Runtime

    - iPad Air 2 (12.4.1)

    - Remote Preview w/ latest Chrome (or PG/Cordova, doesn't matter)

    So, an iPhone 6+ w/C2 Runtime, for example doesn’texhibit the issue. Switch to C3 runtime and the issue goes away. It's pretty interesting that it seems to be iPad specific and reproducible in Remote Preview. I can repro this in a HelloWorld click test, attached.

    Any ideas for mitigation or workaround?

    I want to continue using C2 runtime for just a bit longer for my global user base and their varying iOS levels, as my app is courseware and not performance intensive. If this would be considered a defect, I can file a bug for the old runtime but am interested in any workaround ideas from the community.

    Here is an example project but its simply a click test, nothing else.

    http://www.xensori.com/files/scirra/posts/iPadTouchTest.c3p

    Thanks! -Steve

Stweve's avatar

Stweve

Member since 14 Feb, 2014

None one is following Stweve yet!

Connect with Stweve