Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Solved
  • Unsolved
  • Users
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (Darkly)
  • No Skin
Collapse
brainCloud Forums

administrators

Private

Posts


  • [Feature request] Support multiple Apple client IDs (aud values) for AuthenticateApple
    J JasonL

    Thanks for the detailed report, you haven't missed anything, the current AuthenticateApple implementation only accepts a single Apple client ID. It performs a strict equality check on the token's aud claim, so there's no built-in way to configure multiple valid client IDs. The implementation may be accepting a list of client IDs and checking membership instead of a single value. I'll forward this request to the team for consideration.

    Portal-X Suggestions

  • [Feature Request] Design > Segments – Condition for missing attributes (or segment membership as an alternative)
    J JasonL

    Thanks for the suggestion, you’re correct that current segment criteria only support value comparisons and simple membership/range checks, so there’s no explicit “attribute does not exist / is not set” operator, nor any way to reference segment membership (e.g., “is in segment X” / “is not in segment X”) in segment definitions, so we don’t currently have a real workaround that delivers the exact semantics you’re asking for, I’ll forward your request to the team for consideration.

    Portal-X Suggestions

  • Subject: Inquiry regarding selective CustomEntity migration via Builder API
    Paul WinterhalderP Paul Winterhalder

    Hi @moondory77 ,

    The work on this is running in our development environment. The Builder API support is in place - and we're currently looking at the possibility of adding it as a new tab in the Deployment screen of the Portal.

    Paul.

    General

  • Support for Bulk Rich/Template Push to Arbitrary ProfileId List
    Paul WinterhalderP Paul Winterhalder

    Hi,

    Apologies for the slow response.

    We don't have any calls that could directly handle a "file" of profileIds. We do have a few "toBatch" calls that are callable from S2S though - so you could probably have an offboard system make those calls - and call braincloud to send the notifications in batches.

    Where are these profileIds coming from? An offboard analytics system of some sort?

    To answer your questions:

    • We are planning a revamp of our notifications system and it's APIs. I'll add this conversation so that it will be considered as we're planning that.
    • As mentioned above, using one of the "Batch" calls would make the most sense - and keep your API counts reasonable
    • There's an API call to call the SendRichPushNotificationWithParams, plus a second api call for the sending the push notification itself. So that would be <numReceivers> x 2 for API costs. Less if called from within a script. But the *Batch() calls would be
    • Substitutions and custom metadata/custom data - the current APIs don't - so you'd probably need to handle those client side. Are the substitutions highly personal - like player's name?

    I hope that helps to clarify things,

    Paul.

    APIs

  • Request for Zero-Downtime Migration Options (Avoiding "App is disabled") for LiveUpdate
    Paul WinterhalderP Paul Winterhalder

    Hi @moondory77 ,

    We hear you - and are looking to see what options we can provide.

    The thing to understand is that there are a lot of dependencies between metadata in the brainCloud system - and our deployment mechanisms work hard to ensure the integrity of the data that gets pushed. Even more importantly - it works to prevent user data from being corrupted by a mis-match of data during deployments - which is why apps are very temporarily disabled during a deployment.

    These deployments normally take well under a minute and aren't much more troublesome than a common wifi interruption for clients [depends upon the client implementation though]... (note - the deployment may seem like it takes longer on the web - as there is a lot of data dependency checking to do - but all of that is done BEFORE we disable the app... which happens just for the actually data migration activity itself).

    If you contact us via the support chat with your appId and the time you last did a deployment - we can take a look to see if your deployment times are above normal.

    Also - we are working to provide a separate custom entity deployment mechanism - similar to what has been done for item management.

    Paul.

    General

  • Question about identifying Notification Template on client side
    Paul WinterhalderP Paul Winterhalder

    Unfortunately, our notification templating system is very simple and currently only supports simple text notifications. It does not currently push a template id.

    We do have plans to revamp the system on our "to-do" list - but it has not been scheduled yet.

    We recommend folks use the "raw" template calls - they give devs the most control over what gets sent to the various notification systems.

    Paul.

    General

  • Subject: Inquiry regarding selective CustomEntity migration via Builder API
    Paul WinterhalderP Paul Winterhalder

    To answer your questions:

    1. Yes - it's essentially the same - though I think the specific code paths vary.
    2. We do not currently have an selective migration for custom entities via the builder api - but I'll raise that with the devs. I would think that would be very doable.
    3. Not currently

    I'll get the devs looking into #2.

    Paul.

    General

  • Billing/API Count impact of brainCloud Portal-triggered operations
    Paul WinterhalderP Paul Winterhalder

    Hi,

    API calls triggered by the backend DO count towards API usage -- so using the API Explorer to make calls do get counted as API calls. So - if you use API explorer to trigger a user batch job that then runs scripts on all of your users - yes, yes that does get counted as API calls. 🙂

    Also - uploads of files to and from the portal do get counted in the file transfer costs.

    Other normal portal operations - like viewing users, viewing logs, editing scripts, etc - do NOT get charged in API counts. So to clarify - using the API explorer to view a leaderboard is going to add an API count - but using the leaderboard viewer at App > Global > Leaderboards > Leaderboards does not!

    To be honest - in general - usaging of the portal is negligible. You won't really notice the usage added by what you're doing in the API explorer or working through the portal. It's only if you use the API Explorer to kick off a large job that API counts would be noticable <-- as you'd expect!

    I hope that helps!

    Paul.

    APIs

  • Question about AppStore SYS_GET_TRANSACTIONS_PAGE behavior in S2S Cloud Code
    Paul WinterhalderP Paul Winterhalder

    Hmm - we'll look into it. Definitely looks like it isn't hooked up to the S2S proxy properly.

    Thanks for reporting this.

    General

  • Should Redemption Code be used as the recovery record for failed reward fulfillment?
    J JasonL

    Yes, your current design matches the recommended pattern: Redemption Code is a one-way gate for “has this user consumed this shared code?”, while your claim entity is the authoritative state machine for fulfillment, retries, and audit (Redeeming → Redeemed → Granting → Granted / GrantFailed), with Granted as the idempotency guard for duplicate grants. The main thing to watch is call ordering: it’s preferable to write the claim to Redeeming first as an intent record, then call redeemCode(), so any Redeeming with no further progress is detectable and recoverable by your server without depending on the Redemption Code record.

    Consolidating the brainCloud-side claim init + redemption into a single CloudCode script is a good fit, provided the script is strictly idempotent and fulfillment stays in your server pipeline. The script should read the claim state, upsert to Redeeming if needed, call redeemCode() (skipping if already Redeemed or beyond), update the claim to Redeemed, and return rich state (claimState, claimId, rewardDataId) so your server can then perform fulfillment and issue a final Granted / GrantFailed update. This gives you a clean two-call pattern from the server to brainCloud on the happy path, while the script’s state checks make retries safe even though CloudCode itself is not transactional.

    General

Member List

bcadminB bcadmin
Mark DouthwrightM Mark Douthwright
J JasonL
C Claire Raby
Markus DouthwrightM Markus Douthwright
C Corey Clarke
Adam PilkingtonA Adam Pilkington
Paul WinterhalderP Paul Winterhalder
R Roger Masse
  • Login

  • Login or register to search.
  • First post
    Last post
0
  • Categories
  • Recent
  • Tags
  • Popular
  • Solved
  • Unsolved
  • Users