Where does the reporting happen? #626
Replies: 35 comments 36 replies
-
How can we test whether the playback history is being recorded or not? I am willing to fix this issue for librespot-java, but I need a way to test it properly. |
Beta Was this translation helpful? Give feedback.
-
That's a good point and something I'll try to do: you can get the recently played tracks using the web API (the call is still beta... hopefully that won't confuse even more...). https://developer.spotify.com/documentation/web-api/reference/player/get-recently-played/ |
Beta Was this translation helpful? Give feedback.
-
@michaelherger I've checked and it seems that tracks played from librespot aren't reported by that endpoint. I will investigate this further. |
Beta Was this translation helpful? Give feedback.
-
Thanks for the confirmation! |
Beta Was this translation helpful? Give feedback.
-
Unluckily I don't see any specific call to report that a track is playing. I am afraid that it is done via the
There's no reporting in the HTTP API either. Android doesn't seem to have any of this either. I've also noticed that the Recently played API updates quite slowly, so maybe librespot-java works with reporting? Don't know. |
Beta Was this translation helpful? Give feedback.
-
@devgianlu There is also an |
Beta Was this translation helpful? Give feedback.
-
I did not see any of that. Maybe it has been deprecated when they upgraded the protocol. |
Beta Was this translation helpful? Give feedback.
-
This was from an older version indeed. I need to find my notes.
|
Beta Was this translation helpful? Give feedback.
-
I think that's for episodes only. |
Beta Was this translation helpful? Give feedback.
-
You are probably right again, its been a while I looked at this! |
Beta Was this translation helpful? Give feedback.
-
Any updates on this? |
Beta Was this translation helpful? Give feedback.
-
We are stuck on trying to find a way to check if the changes on the client work. |
Beta Was this translation helpful? Give feedback.
-
It’s probably handled via the events service. I’d be surprised if Spotify does the play reporting client side, would make it too easy to abuse. Then again, I can’t see how they track it server side unless they’re doing some sort of calculation based on the number of chunks sent to a client |
Beta Was this translation helpful? Give feedback.
-
I was thinking about this some time back, and I guess they probably have metrics based on client type, and since we report |
Beta Was this translation helpful? Give feedback.
-
More work has been done and I finally got it working. There is still some work to do as they don't pick up tracks that end because of pressing some button (aka works only with There are also many fields that I don't know the purpose of. Here's a breakdown of the most interesting packet:
I've enhanced the dissect script to better reverse engineer the event service: https://github.com/devgianlu/spotify-analyze |
Beta Was this translation helpful? Give feedback.
-
Just a quick question on the topic. Do you think it is better to send an event with some standard values that I didn't figure out or just not send it because it is not needed? |
Beta Was this translation helpful? Give feedback.
-
its better to send them if they are generated to behave like a original client. |
Beta Was this translation helpful? Give feedback.
-
What do you mean? |
Beta Was this translation helpful? Give feedback.
-
does librespot now sends correctly the playing track to the endpoint? because it seems like that still hearing a song, does not appearing to the endpoint of the artist |
Beta Was this translation helpful? Give feedback.
-
No, only |
Beta Was this translation helpful? Give feedback.
-
im using librespot-java and there is still something not working regarding that endpoint. listening to a song does not appear on the artist site as someone is listening. What exactly does work now, and what not? Does it only work if a song without pressing any button like above mentioned (only via trackdone) is listened, that the endpoint get the information about trackdone? |
Beta Was this translation helpful? Give feedback.
-
Hi - as I'd really appreciate if streaming through librespot gets credited to the artists - is it possible to get the partial solution from librespot-java implemented in the main librespot branch - possibly also find a solution to the limitations of the current fix. I don't like artists getting "cheated" out of the royalties for streaming. |
Beta Was this translation helpful? Give feedback.
-
Btw, what happens if a downloaded track is played offline in the official client? Does that appear on the artist site? |
Beta Was this translation helpful? Give feedback.
-
Checking to see if "reporting" has made any progress. Would be good to make sure artists get the (small) sum they are due and there are other feature requests from at least one downstream client which may be related (i.e. last.fm reporting). |
Beta Was this translation helpful? Give feedback.
-
It would be great if this was implemented. Spotify would probably try to curb librespot if it was reporting back playcounts - so I can understand why it hasn't been added yet. As it stands, using this project to |
Beta Was this translation helpful? Give feedback.
-
Hi, I'm curious about the status of the reporting back to Spotify of a played track. Is this still an issue or has it been fixed somewhere else? Thanks |
Beta Was this translation helpful? Give feedback.
-
Is this likely to ever be implemented? Especially with the rise of apps like stats.fm, as the lack of reporting breaks the app. The mentioned app/site is however a good way to test the reporting functionality. |
Beta Was this translation helpful? Give feedback.
-
It will require someone to put the legwork in to reverse and implement it. The thus far unspoken challenge is that without it artists are missing out on a few fractions of a cent, and with it implemented someone may potentially try to cheat. |
Beta Was this translation helpful? Give feedback.
-
Perhaps an interesting method of achieving this feature would be analysing how the client stores then reports offline listens once connection is reestablished. It would probably be easier to get this right, but would make live listen information (think discord now playing etc). |
Beta Was this translation helpful? Give feedback.
-
I've had a report of a user who happens to be an artist, too. He claims that when he's listening to his own music using my implementation of librespot, the tracks would not be reported. This is definitely not what I want to happen, therefore I'm a bit concerned.
And I must admit I've been wondering why my kids' listening habits hadn't polluted my profile yet... (but I was less concerned about that :-D).
Is there code in librespot which actively does report when a track has been listened to? I was assuming that telling librespot to play a track would do all the magic for me.
I'm using a slightly modified fork of librespot (https://github.com/michaelherger/librespot), and I'm not sure whether one of my modifications is causing this mis-behavior or not.
Beta Was this translation helpful? Give feedback.
All reactions