Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[FEATURE REQUEST] track video games process on game platforms #870

Open
theggs opened this issue Jun 16, 2024 · 11 comments
Open

[FEATURE REQUEST] track video games process on game platforms #870

theggs opened this issue Jun 16, 2024 · 11 comments
Labels
enhancement New feature or request

Comments

@theggs
Copy link

theggs commented Jun 16, 2024

For now, it seems users have to track video games proccess manully.
It would be convenient if ryot can integrate with video games provider platform like Steam, PlayStation, even Nintendo. Then ryot can sync the collected game automatically, and store the progress on the platforms.

@IgnisDa
Copy link
Owner

IgnisDa commented Jun 16, 2024

Fair ask. Will see what I can do. Thanks for your interest.

@IgnisDa
Copy link
Owner

IgnisDa commented Jun 17, 2024

@theggs I am not sure how integration with PlayStation/Nintendo will work? I have never played on those consoles. I thought they are just game publishers. Don't they sync the actual game progress to Steam?

@theggs
Copy link
Author

theggs commented Jun 17, 2024

@IgnisDa
They store users' game achievement and history on their own platform and with their own structures.
I didn't find the official api docuements from Sony PlayStation or Nintendo. But there are some software support import user data from them.

https://rawg.io/ (a game database and game tracking website) support import from PlayStation(although I never succeed), Steam, Xbox and GOGS.
Some mobile application I used like Xiaoheihe https://play.google.com/store/apps/details?id=com.max.xiaoheihe (I don't know if it can be access internationally) support import user data from steam, PlayStation, Nintendo Switch, Epic.

@IgnisDa
Copy link
Owner

IgnisDa commented Jun 17, 2024

I understand importing from Steam and Epic, but I don't think I want to support anything else you've mentioned.

@theggs
Copy link
Author

theggs commented Jun 17, 2024

That's fair.

@aureateflux
Copy link

LANCache has some pre-fill apps that might help, but I think there's only Steam, Epic, and Battlenet, 2 of which Ignis already has figured out.

LANCache does let you cache anything it can have the CDN for, including Nintendo and PlayStation (it works like a DNS sinkhole but only knows the CDNs), but I think only the pre-fill apps are able to pull library information.

Sony used to have a way to download a library list according to this old gamefaqs thread. I couldn't find anything in the modern PSN account page though. Another route that comes up is the idea of scraping the PlayStation store. I did find this on GitHub, which seems to operate on that approach.

This and this seem to follow the same approach with Nintendo.

@elvis0288
Copy link

i would love to see PSN integration.. right now i use https://psnprofiles.com/ to see every game i have completed or played and also the achievements completed

@IgnisDa
Copy link
Owner

IgnisDa commented Jul 2, 2024

@elvis0288 How do you use this website? Do you mark it as completed manually there or is there any integration with your console?

@elvis0288
Copy link

elvis0288 commented Jul 2, 2024

image
in here you do not even need to have an account (but i do). on the picture above with just typing a PSN username and clicking update user it will pulls all the info from that user (the user needs to have share profile public) and it will bring every game that person has play

image

this is an example then i can filter by games played and all that.. the % indicates how many trophies have been completed.. so not sure if the way to go would be to pull trophies and mark % of completion of the game or just pulling the game list and then users will select if they are working on it or completed it.

found this that tries to explain how to pull the trohpy
https://andshrew.github.io/PlayStation-Trophies/#/

here is an example
https://m.np.playstation.com/api/trophy/v1/users/{accountId}/trophyTitles

the only really thing needed is the PSN ID

this is the result

{
"trophyTitles": [
{
"npServiceName": "trophy2",
"npCommunicationId": "NPWR21575_00",
"trophySetVersion": "01.07",
"trophyTitleName": "Destiny 2",
"trophyTitleIconUrl": "https://psnobj.prod.dl.playstation.net/psnobj/NPWR21575_00/45976ee9-344e-423d-940d-5e42fc82e5b8.png",
"trophyTitlePlatform": "PS5",
"hasTrophyGroups": true,
"definedTrophies": {
"bronze": 8,
"silver": 4,
"gold": 11,
"platinum": 1
},
"progress": 53,
"earnedTrophies": {
"bronze": 2,
"silver": 3,
"gold": 6,
"platinum": 0
},
"hiddenFlag": false,
"lastUpdatedDateTime": "2021-03-17T21:58:18Z"
},
{
"npServiceName": "trophy2",
"npCommunicationId": "NPWR22596_00",
"trophySetVersion": "01.00",
"trophyTitleName": "Crash Bandicoot 4: It's About Time",
"trophyTitleIconUrl": "https://psnobj.prod.dl.playstation.net/psnobj/NPWR22596_00/aeb3ccd0-9346-4845-8a9e-871cf7a7d9d8.png",
"trophyTitlePlatform": "PS5",
"hasTrophyGroups": false,
"definedTrophies": {
"bronze": 40,
"silver": 9,
"gold": 2,
"platinum": 1
},
"progress": 27,
"earnedTrophies": {
"bronze": 19,
"silver": 0,
"gold": 0,
"platinum": 0
},
"hiddenFlag": false,
"lastUpdatedDateTime": "2021-03-17T18:05:41Z"
},
<#-- truncated --#>
}
],
"totalItemCount": 300
}

@IgnisDa
Copy link
Owner

IgnisDa commented Jul 2, 2024

Understood. Thanks.

I will probably creating separate issues for each game platform.

@aureateflux
Copy link

aureateflux commented Jul 3, 2024

Adding a few links from the ever-pioneering Home Assistant community that may be helpful:

Official HA Xbox integration

HACS Nintendo Parental Controls Integration

HACS PSN Integration

@IgnisDa IgnisDa added the enhancement New feature or request label Aug 28, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

4 participants