APIs

Questions specific to particular APIs, libraries, etc.

47 Topics 162 Posts
  • Getting public groups only

    Solved
    4
    0 Votes
    4 Posts
    249 Views

    D'oh - bit late on the update, but 4.1 has been released, and you can now search on isOpenGroup (as well as the new groupSummaryData).

    4.1 Release notes here - https://getbraincloud.com/apidocs/release-4-1/

    Cheers!

    Paul.

  • Getting names for request and invites to a group

    Solved
    3
    0 Votes
    3 Posts
    347 Views

    As an interim solution, you can add a cloud code script or a post-hook to retrieve the missing data, using the profileIds found in the request.

    https://getbraincloud.com/apidocs/apiref/#capi-friend-getsummarydataforprofileid

    ... "pendingMembers": { "382eb04f-f80c-4bfc-9a12-fca508cad476": { // <- These profile ids "role": "MEMBER", "attributes": {}, "pendingReason": "ASKED_TO_JOIN" } } ...
  • [Unity] Authenticated Event ?

    Solved
    2
    0 Votes
    2 Posts
    216 Views

    Hmm, actually Eric, authentication only happens when called directly in brainCloud.

    If you try calling an API and your app isn't authenticated, you'll receive an error - and generally would trigger authentication yourself as part of your error handling.

    Does that make sense?

    Paul.

  • 2 Votes
    24 Posts
    2k Views

    I just got our iOS Push Notifications working with brainCloud and would like to add a few tips to this thread.

    For the less Mac-Savvy developers like me, here's what it looks like when you only have your certificate with no private key to export as a P12 file:

    Screen Shot 2019-06-19 at 4.02.20 PM.png

    Notice the selected category is [My Certificates]. Certificates in the [Certificates] category have the P12 export option greyed out.

    I am using Unity as a development platform and for some reason my device would only receive Development Push Notifications even when running in Release in Xcode. It's only after uploading to TestFlight that my Production Push Notifications started working.
  • Update profile name

    Solved
    2
    0 Votes
    2 Posts
    233 Views

    Hi,

    The call you're looking for is called UpdateUserName() - https://getbraincloud.com/apidocs/apiref/#capi-playerstate-updateusername

    Good luck!

    Paul.

  • 0 Votes
    2 Posts
    274 Views

    Hi,

    Here are the steps to setting up a webhook to call a custom cloud code script in brainCloud:

    Step 1 - Write your script

    Go to Design | Cloud Code | Scripts and create your script You might want to just start with a simple script that logs the incoming parameters (see sample below) Be sure to enable the S2S callable field on the Details page.

    Step 2 - Declare the webhook and link it to your script

    Go to Design | Cloud Code | WebHooks and create your webhook Link it to the script that you just wrote. If you don't see your script in the list, double-check the state of the S2S callable field You can optionally restrict the webhook to be callable via a range of ip ranges (good for additional security) Click [Save] and copy the webhook URL that gets generated

    Step 3 - Go to the external service, and give it your webhook URL

    This step varies by service of course.

    Step 4 - Trigger the webhook to test

    This also varies by service. You could use Postman to do it as well.

    Step 5 - Confirm the structure of the incoming parameters

    It is a bit difficult to figure out what a webhook will send you ahead-of-time The simplest is to invoke the hook, and then examine the results See the sample logging script below for an example Then view the logged input data via Monitoring | Global Monitoring | Recent Errors. Be sure to enable Info -level messages, and click [Refresh]

    Step 6 - Complete the writing of your script

    Now that you know how the parameters are being sent, you should be good to complete your script. More info on webhook development here - https://getbraincloud.com/apidocs/apiref/?cloudcode#cc-ccscripts-webhooks Good luck!

    Sample script - just dumps parameters:

    var response = {}; bridge.logInfoJson("Script invoked from webhook. Contents of data...", data); // Return the webhook response response.statusOverride = 200; response.jsonResponse = {}; response;

    Note - you can also view the request sent and response received from your webhook via the Server Logs. For more information on brainCloud logs - see this knowledge base article.

    Hope that helps!

    Paul.

  • How do I look-up a player?

    Solved
    2
    0 Votes
    2 Posts
    244 Views

    Hi,

    brainCloud offers a number of APIs for looking up other players. You'll find them all in the Friend service.

    As far as looking up players by name, it isn't highly recommended - since names in brainCloud are not guaranteed to be unique (and thus lookups are less deterministic and slower).

    It's generally more useful to look up other players by UniversalId - which are guaranteed to be unique.

    Now - maybe your app isn't using Universal Identities - so it seems odd to lookup by the UniversalId. Luckily, brainCloud supports a non-login version of a UniversalId - so you can have the user pick a Display Name which will be associated with their account, but they don't actually log in via it (and there's no password for it stored).

    To use non-login UniversalIds...

    Attach the non-login identity via AttachNonLoginUniversalId() Later on, to update the id, use UpdateUniversalIdLogin() <-- disregard the misleading name - it works for both login and non-login versions of UniversalId Set the player's name to match the universalId (useful for leaderboards) via UpdateUserName() Finally, to look-up a player, use FindUserByExactUniversalId() or FindUserByUniversalIdStartingWith()

    Hope that helps!

    Paul.