daria
Visitor
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-03-2017
09:49 AM
Required: Removing the channel doesn't remove linking information
Hi!
In our channel we have authorisation and in-channel purchases. Last time we were rejected with following message:
We use device id for linking a device to account in our service. They say that this requirement prevents situation when any user after one that was linked manually, will be logged in via device id. That makes sense.
So, I should catch uninstallation and send some logout request to our backend, but I'm not sure it is possible. Channel can be removed from the web, so that's no way to catch it.
Other way is to use some identifier which is unique for user for linking. I tried GetClientTrackingId() instead of GetDeviceUniqueId(), but that is not helpful: generated value is the same even I reset to factory settings and link my device to another user.
I can try getting user's email, but that will cause confirmation form, I wouldn't like to do this.
What do you guys do with that?
In our channel we have authorisation and in-channel purchases. Last time we were rejected with following message:
Required: Removing the channel doesn't remove linking information – NOT FIXED
We use device id for linking a device to account in our service. They say that this requirement prevents situation when any user after one that was linked manually, will be logged in via device id. That makes sense.
So, I should catch uninstallation and send some logout request to our backend, but I'm not sure it is possible. Channel can be removed from the web, so that's no way to catch it.
Other way is to use some identifier which is unique for user for linking. I tried GetClientTrackingId() instead of GetDeviceUniqueId(), but that is not helpful: generated value is the same even I reset to factory settings and link my device to another user.
I can try getting user's email, but that will cause confirmation form, I wouldn't like to do this.
What do you guys do with that?
4 REPLIES 4
joetesta
Roku Guru
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-03-2017
01:18 PM
Re: Required: Removing the channel doesn't remove linking information
create a unique id on the server side (or just use your existing user account id) and pass it back to the device upon registration. Device stores in persistent storage and on channel launch retrieves stored unique id for validation. If the device is factory reset, persistent storage is wiped out and you passed the test 😄
aspiring
NB_
Roku Guru
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-03-2017
09:28 PM
Re: Required: Removing the channel doesn't remove linking information
"joetesta" wrote:
create a unique id on the server side (or just use your existing user account id) and pass it back to the device upon registration. Device stores in persistent storage and on channel launch retrieves stored unique id for validation. If the device is factory reset, persistent storage is wiped out and you passed the test 😄
Specifically, store the magic cookie in the registry (roRegistrySection). If channel is deleted, so will be the registry (w/o factory reset) and on re-install would have to be re-linked. Which is a sound troubleshooting process, being able to start with a clean slate
user76
Visitor
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
12-23-2017
05:58 PM
Re: Required: Removing the channel doesn't remove linking information
Hi RokuNB,
Both the docs ("Registry data is removed only when the application explicitly removes it, the user uninstalls the application, which remove the registry for the application, or the user performs a factory reset, which removes the registry for all applications.") and your previous quote ("If channel is deleted, so will be the registry") say that the registry data for the channel should be deleted when channel is removed. However, when I remove the channel, registry data is still there. I am testing this with both sideloaded and regular apps, and both are still able to read the registry section and get the registry information after deletion. How can I properly remove the registry information when a channel is removed?
Thanks!
Both the docs ("Registry data is removed only when the application explicitly removes it, the user uninstalls the application, which remove the registry for the application, or the user performs a factory reset, which removes the registry for all applications.") and your previous quote ("If channel is deleted, so will be the registry") say that the registry data for the channel should be deleted when channel is removed. However, when I remove the channel, registry data is still there. I am testing this with both sideloaded and regular apps, and both are still able to read the registry section and get the registry information after deletion. How can I properly remove the registry information when a channel is removed?
Thanks!
NB_
Roku Guru
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
12-26-2017
01:00 AM
Re: Required: Removing the channel doesn't remove linking information
"user76" wrote:
[...] the registry data for the channel should be deleted when channel is removed. However, when I remove the channel, registry data is still there. I am testing this with both sideloaded and regular apps, and both are still able to read the registry section and get the registry information after deletion. How can I properly remove the registry information when a channel is removed?
It's slightly more complicated, since the same registry is shared between all channels signed with the same developer key (read somewhere between the lines here https://sdkdocs.roku.com/display/sdkdoc/roRegistry - or search for "rekey") and therefore is deleted only when the last installed app referring to it is deleted. That i think includes the side-loaded (dev) app, as long as the same developer key is on the player. You have to delete all apps signed with the same key and then the registry shared between them would be gone.