No problem! glad to hear that.
JasonL
Posts
-
-
Could you zip your project files to Google Drive and share them with us?
-
Please refer to this article for the details of those settings on the server configuration page -- https://help.getbraincloud.com/en/articles/9153860-design-servers-my-servers
-
It looks like you have configured the Max Session Time to be 5 minutes, which aligns with the logs. You can extend this time to a longer duration.
-
The SysRecordTransaction method should work for your needs. Refer to the provided link for more information -- https://docs-internal.braincloudservers.com/api/capi/appstore/sysrecordtransaction
-
You can schedule a recurring daily cloud code script to run after the completion of your daily tournament. This script will use the GetGlobalLeaderboardPage method to retrieve the daily tournament winner's information and score, then post it to the monthly tournament using the PostTournamentScoreOnBehalfOf method.
-
No, after modifying the desired running time and adding your code, simply run this script without any further configuration.
-
Here is an example of scheduling a weekly cloud code execution,
"use strict"; function main() { var response = {} bridge.logDebugJson("Script Inputs", data) const scriptName = data.scriptName const interval = data.args.interval const searchSpan = interval < 60 ? 60 : 60 * 24 // schedule checking and re-schedule itself for the next week at 23:59 on the same day var scriptProxy = bridge.getScriptServiceProxy() var dateTimeSpanMinsFromNowInMillis = new Date().getTime() + (searchSpan * 60 * 1000) var result = scriptProxy.getScheduledCloudScripts(dateTimeSpanMinsFromNowInMillis) var nowTime = new Date().getTime() if ((result.status == 200) && (result.data !== null)) { for (var i = 0; i < result.data.scheduledJobs.length; i++) { if (result.data.scheduledJobs[i].scriptName === scriptName && result.data.scheduledJobs[i].scheduledStartTime > nowTime) { scriptProxy.cancelScheduledScript(result.data.scheduledJobs[i].jobId) } } } const targetHour = 23 const targetMinute = 59 const minutesDifference = getMinutesDifference(targetHour, targetMinute) let minutesFromNow = minutesDifference + interval bridge.logInfo(`minutesFromNow between the script calling time and the time of 23:59 on a same day${minutesFromNow}`) response.scheduleJob = scriptProxy.scheduleRunScriptMinutes(scriptName, data, minutesFromNow) // the code for your script return response } function getMinutesDifference(targetHour, targetMinute) { const now = new Date() const targetTime = new Date(now.getFullYear(), now.getMonth(), now.getDate(), targetHour, targetMinute) const differenceInMilliseconds = targetTime - now bridge.logInfo(`differenceInMilliseconds between the script calling time and the target time: ${differenceInMilliseconds}`) const differenceInMinutes = Math.floor(differenceInMilliseconds / (1000 * 60)) return differenceInMinutes } main()
The parameters for this script will be like below, the
interval
will be10080
minutes (a week),{ "scriptName": "thisScriptNameItself", "args": { "interval": 10080 } }
-
Thank you for sharing this information. It does not have an impact on our server-side validation.
-
How about passing the slug as a parameter along with the webhook URL? This will allow your script to parse the parameter and perform actions accordingly.
-
Are you referring to the date/time display format on the portal?
-
You can achieve it by writing a cloud code script that retrieves the data of each individual user's user entities and stores it in a custom entity collection. After that, call the method
RunBatchUserScript()
to execute this process for every user within the app. Then, the resulting collection can be downloaded for analytical purposes. -
Thank you for letting us know. We have resolved the issue for your appId 14822.
-
No, dynamic routing is not supported by BrainCloud webhook yet. You will have to use two different URLs.
-
Hey Lee, I was wondering if you could let us know where you got the last screenshot from?
-
For clarity, Firebase Cloud Messaging recommends creating a topic using Pub/Sub, though this approach is optional.
-
In the code, it's just a string variable, for the further concept of "topic", you can refer to this link -- https://firebase.google.com/docs/cloud-messaging/android/topic-messaging
-
brainCloud supports a wide range of popular in-app purchases, including Google Play, Apple, Facebook, Amazon, and Steam, etc.. In most cases, the purchase process is initiated through the corresponding IAP plugin that you need to download into your Unity project. Then, verify the receipt received from the purchase outcome with brainCloud by calling VerifyPurchase API. It should be noted that the necessary configuration for the IAP store must be set up in the brainCloud portal for your app, including the products section and platforms section. Some store integration examples are available on our documentation website -- https://docs.braincloudservers.com/learn/portal-tutorials/store-integration-google/
Hope this helps!
RelayService.Send not working and get disconnect error
RelayService.Send not working and get disconnect error
RelayService.Send not working and get disconnect error
RelayService.Send not working and get disconnect error
Virtual Purchase
Post Score when a Tournament ends?
Recurring scheduled tasks?
Recurring scheduled tasks?
App Store Receipt Signing Intermediate Certificate
Webhook routes
Log timestamp to local time
Follow up question for bulk user entity data access
Localization Issue
Webhook routes
Localization Issue
[Unity] Registering push notifications specifically for Async turns.
[Unity] Registering push notifications specifically for Async turns.
[Unity] In App Purchases