• Categories
  • Recent
  • Tags
  • Popular
  • Solved
  • Unsolved
  • Users
Skins
  • Light
  • 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
J

JasonL

@JasonL
bitHeads
About
Posts
105
Topics
0
Groups
3
Followers
0
Following
0

Posts

Recent Best Controversial

    New users are never counted — all users appear as Returning Users after launch
  • J JasonL

    @noah The team is working on this, and we’ll share any progress here once there’s something concrete to report.


  • Feature Request / Question: Selective Promotion Exclusion During App Deployment
  • J JasonL

    Hi, thanks for the detailed report. At the moment, there isn’t a per-promotion exclusion toggle for deployments; the currently recommended way is to keep Preserve Products+Pricing & Promotions in the target environment. Your request for selective promotion exclusion makes sense. I’ll pass this along as a feature request for the team to consider.


  • Two Questions: Follow System & Referral Rewards
  • J JasonL

    Hi @gyutaelee,

    1. For one-way follow: brainCloud doesn’t have a built-in one-way “follow” graph, so you’ll need to implement your own follower/following system using one of the user data mechanisms (e.g. global or entity data) to track who follows whom. This keeps it independent of the Friends API, which is designed around mutual relationships. GetPresenceOfUsers() works with any valid profile IDs, it does not require a Friend relationship between the players to return presence info.

    2. For the referral rewards question: I’m going to forward this to our team to review the best server-side approach for triggering rewards for both the referrer and referee once the milestone (like reaching level 3) is reached.

    Thanks for the detailed explanation of your use cases.


  • Automated Promotions with no discount — "Not for Sale" workaround and purchase count tracking
  • J JasonL

    Did you call CachePurchasePayloadContext() with the promotionId before calling verifyPurchase() ? That’s the piece that passes the promotion ID through and should trigger an increase in the maxPurchases counter.


  • Automated Promotions with no discount — "Not for Sale" workaround and purchase count tracking
  • J JasonL

    If your promotion is for a cash product and the promotional product is set to Not for Sale, you need to complete the flow by calling verifyPurchase in brainCloud with the purchasePayload from the store.

    As long as that payload contains the promotionId you received from GetEligiblePromotions, the promotion will be correctly attributed and the server-side flow will reach the counter increment logic.

    Also make sure you set maxPurchases on the promotion configuration page so the system knows when to stop returning that promotion for the user.

    As for your feature request to allow promotions without requiring a discount, I will forward this to our team for review.


  • Does GetEligiblePromotions trigger Automated Promotions in real-time after XP level update?
  • J JasonL

    Hi, GetEligiblePromotions is snapshot-driven, not fully real-time. It relies on a cached promotion-eligibility snapshot stored on the UserProfile, which is only refreshed at specific points.

    • GetEligiblePromotions does not reevaluate Automated Promotion segment conditions (like experienceLevel >= 4) against the latest player state on every call. Instead, it uses the last calculated promotion snapshot that was written to the UserProfile. That snapshot is normally refreshed at login, or when you explicitly call the RefreshPromotions CAPI.

    • Because of that, the “delay” you are seeing is essentially “until the next snapshot refresh.” In your current flow, that refresh happens on the next login, which is why restarting the app makes the promotion suddenly appear. There is no fixed time-based delay; it is purely tied to when the snapshot is updated.

    • To make the promotion available immediately mid-session, add an explicit refresh step to your flow. After your CloudCode call to incrementExperiencePoints (once the player has reached level 4), call RefreshPromotions on the client, and then call GetEligiblePromotions. That will force an immediate refresh of the promotion snapshot so the level-4 promotion is returned without requiring a new session.

    API details for RefreshPromotions:
    https://docs.braincloudservers.com/api/capi/appstore/refreshpromotions.


  • missing features
  • J JasonL

    Thanks for the suggestions, we will look into it...


  • Does LeaderboardService.RemovePlayerScore revert rewards?
  • J JasonL

    Q1: The removed player is completely excluded from reward calculation, so if the deletion happens before the job runs, that player is never iterated over and receives no rank or rewards.
    Q2: Yes, the modified score will be used. The job always reads live state. Note that whether the score actually gets modified depends on the leaderboard type (e.g., for the LOW_VALUE type, only updates if the new score is less than the existing)
    Q3: No backfilling, the next joiner goes to the latest instance, not the freed spot in ^2. No loop over earlier instances (^1, ^2) ever happens. The next joiner goes to ^3 (or ^4 if ^3 is full). The freed spot in ^2 stays empty permanently.


  • Does LeaderboardService.RemovePlayerScore revert rewards?
  • J JasonL

    No, RemovePlayerScore() does NOT handle reward reversals. You need to handle that manually. Also note that if the leaderboard is configured for a tournament, it will throw an exception and refuse to remove the score. Call LeaveTournament() for a tournament-based leaderboard, but it does not reverse rewards either.


  • NewUser detection issue
  • J JasonL

    The aggregation that counts new users is not real time, it runs at hourly granularity, so there can be a delay before the stats reflect the actual number of users. At the time of checking again, the numbers had updated as follows
    image.png


  • Option to exclude certificate settings in deploy
  • J JasonL

    Also, there’s an option on the deployment page to exclude push notification certificates—“Do Not Overwrite Push Notification Certificates.” Did you enable this option during your deployment?


  • CSV Downloads of Charts
  • J JasonL

    FYI, you can use the Report service APIs to retrieve this data: https://docs.braincloudservers.com/api/capi/report/


  • Option to exclude certificate settings in deploy
  • J JasonL

    You can safely delete and update these push certificates after deployment if they’re no longer needed in another environment.


  • Notification Templates
  • J JasonL

    We’re planning some major changes to our push notification system, it’s more than just adding a few titles and content fields to the templates. It's not a near-term, stay tuned!


  • Notification Templates
  • J JasonL

    We will review it.


  • Request for Granular Migration Options in Deployment (Excluding DivisionSetIds)
  • J JasonL

    Thanks for your suggestion, we will review it...


  • Inquiry Regarding Tournament Reset Schedules and Early Season Termination
  • J JasonL

    Yes, changing the reset cycle automatically reschedules result/reward processing, but only while the TournamentResults job is still in Scheduled state. If the job has already been fired or transitioned out of Scheduled, the update is silently ignored. The new rotation's end time gets stored, but the old job has already run (or is running), so no re-processing occurs for the current rotation. There isn't a force-end rotation API, but as a workaround, you can manually set a rotationResetDate to a near-future time.


  • AWS Gamelift integration guide
  • J JasonL

    You can find the Knowledge Base link on our documentation site, which is linked to https://getbraincloud.com/.9b4015ab-4420-4d80-9368-5accf73b92c8-image.png


  • Bulk upload/download of Files folders
  • J JasonL

    Hi Francesco, thanks for the suggestion about the folder-level import/export feature. I will have our team review it. FYI, you could script the uploads using the SysPrepareUpload S2S API to avoid doing it manually through the portal.

  • Login

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