Thanks for letting us know and your own solutions! We'll see if we can patch this into the JsonFx library we're using for future versions of brainCloud to avoid these edge cases.
brainCloudAdmin
brainCloud personnel
Posts
-
Two edge cases we ran into with the bundled JsonFx parser -
[Feature Request] Design > Segments – Condition for missing attributes (or segment membership as an alternative)Created case 14475
-
[Feature request] Support multiple Apple client IDs (aud values) for AuthenticateAppleAdded case 14474
-
[Feature request] Support multiple Apple client IDs (aud values) for AuthenticateAppleThanks 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
audclaim, 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. -
[Feature Request] Design > Segments – Condition for missing attributes (or segment membership as an alternative)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.
-
Subject: Inquiry regarding selective CustomEntity migration via Builder APIHi @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.
-
Support for Bulk Rich/Template Push to Arbitrary ProfileId ListHi,
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.
-
Request for Zero-Downtime Migration Options (Avoiding "App is disabled") for LiveUpdateHi @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.
-
Question about identifying Notification Template on client sideUnfortunately, 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.
-
Subject: Inquiry regarding selective CustomEntity migration via Builder APITo answer your questions:
- Yes - it's essentially the same - though I think the specific code paths vary.
- 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.
- Not currently
I'll get the devs looking into #2.
Paul.