question

ollie avatar image
ollie asked

Achievement Not Reaching Steam

After getting real world payments working, we have moved onto Steam Achievement integration. To this end we have tested data formats using the API test facility that reported the system working:-

We have also tried to replicate the setup using:-

{

let steamGrants = [];

for (let g of grants)

{

steamGrants.push({ PlayFabId: currentPlayerId, AchievementName: g.toUpperCase(), Result: false });

}


log.debug("steamGrants", steamGrants);


let res = util.AwardSteamAchievement({ Achievements: steamGrants });

}

The info coming back from the call seems to match the format and content of the response on the API documentation, but for some reason the achievements do not get populated on the requested Steam account.

Do you have any insight into what may be going wrong?

Ollie

10 |1200

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

1 Answer

·
brendan avatar image
brendan answered

So, a few questions:

In the test where you used the "Try It" functionality in the doc site, did that achievement show up on the player in Steam?

In the response to your call to AwardSteamAchievement in your test code, did all the achievement results come back as "true"?

If the response coming back is "true", that means we receive positive confirmation from the Steam service concerning the achievement reward. If in all cases (including "Try It") you're getting back true but the achievement doesn't show up on the player in Steam, you'd need to open a ticket with the Valve support team, as we don't have any way of debugging into their service.

5 comments
10 |1200

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

ollie avatar image ollie commented ·

To answer your questions:-

  • No we didn't get notifications for the specified achievements from the "Try It" functionality.
  • Yes the responses came back as true.

I will go ahead and bring up the matter with Steam especially as sending achievements directly to them using "SteamWrapper.instance.SetAchievement(a.ToUpper());" seems to functional as expected.

Can you tell me if there is any Playfab functionality that will retrieve the current status of achievements, so that we can determine if we have missing information to send up to them? Something comparable to Steams "RequestCurrentStats". Resetting them is also useful for test purposes.

Ollie

0 Likes 0 ·
Andy avatar image Andy ♦♦ ollie commented ·

We don't have anything that supports checking Steam achievements. You'd need to use Steam's API for that. I believe they have a GetPlayerAchievements that takes your appid and a player's steamed.

0 Likes 0 ·
brendan avatar image brendan ollie commented ·

Also, one important thing to bear in mind (if you're trying to test the same functionality) is that as an integrated third-party we use the Web API (https://partner.steamgames.com/doc/webapi_overview). The way you work with Achievements in Steam via the Web API is through their stats interface: https://partner.steamgames.com/doc/webapi/ISteamUserStats.

0 Likes 0 ·
ollie avatar image ollie commented ·

Just a heads up. The solution to the non-communication of achievements was the Client/GS setting on the achievement itself.

0 Likes 0 ·
brendan avatar image brendan ollie commented ·

Got it - thanks for the follow-up!

0 Likes 0 ·

Write an Answer

Hint: Notify or tag a user in this post by typing @username.

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.