Hello,
I’m having an issue with the following ifDeviceInfo methods:
GetAdvertisingId() as String
IsAdIdTrackingDisabled() as Boolean
Here is some very simple code demonstrating how I’m trying to use them within my channel.
di = CreateObject("roDeviceInfo")
if (not di.IsAdIdTrackingDisabled())
rokuAdId = di.GetAdvertisingId()
end if
However, when I run the code, I get the following error:
Member function not found in BrightScript Component or interface. (runtime error &hf4) in …kUd/pkg:/source/Ads.brs(105)
105: rokuAdId = di.IsAdIdTrackingDisabled()
Also, when doing some additional testing, I get the following error if I omit the if statement with the IsAdIdTrackingDisabled() method:
Member function not found in BrightScript Component or interface. (runtime error &hf4) in …kUd/pkg:/source/Ads.brs(105)
105: rokuAdId = di.GetAdvertisingId()
I’m not sure if firmware version is the same as the software version that displays in the About option on the roku, but the software version is 5.6 build 60. Additionally, I’m able to utilize GetCountryCode() which should mean that I have at least firmware version 4.3.
I’m not sure if firmware version is the same as the software version that displays in the About option on the roku, but the software version is 5.6 build 60.
These APIs are new with firmware version 6.1. It seems there has been a delay in the 6.1 rollout so the API documentation is premature.
Apologies for the inconvenience.
A suggestion:
The documentation says “This function is not available in the 3.1 firmware version.” which is not very helpful.
It might be more helpful if you added these functions to a section of the page labeled “Since Firmware version 6.1:”, similar to the section that says “Since Firmware version 4.3:” towards the bottom of the page.
“This function is not available in the 3.1 firmware version.” which is not very helpful.
This was confusing to me because typically this type of message indicates the function has been deprecated and is no longer available on versions including and after the version specified.
“This function is not available in the 3.1 firmware version.” which is not very helpful.
This was confusing to me because typically this type of message indicates the function has been deprecated and is no longer available on versions including and after the version specified.
Legacy players run the 3.1 and early firmware. That note indicates that the function is not available on legacy devices. Now that support has been dropped for legacy devices, it’s inconsequential. It’s mostly safe to assume all documented features are available on all non-legacy devices, since firmware updates are automatic.
“pbreit” wrote:
“This function is not available in the 3.1 firmware version.” which is not very helpful.
You are right, the particular wording in that page is confusing - esp. if you haven’t been around Roku documentation and forum for years, like TheEndless and me have. It would be better stated as “This function is available in firmware 6.1 and later”.
“pbreit” wrote:
“This function is not available in the 3.1 firmware version.” which is not very helpful.
You are right, the particular wording in that page is confusing - esp. if you haven’t been around Roku documentation and forum for years, like TheEndless and me have. It would be better stated as “This function is available in firmware 6.1 and later”.
Maybe RokuKC will fix it?
That was kind of my point. I don’t think the version it became available in is any longer necessary, since support for legacy devices has been dropped, and all supported devices should be on the most recent firmware.
“TheEndless” wrote:
That was kind of my point. I don’t think the version it became available in is any longer necessary, since support for legacy devices has been dropped, and all supported devices should be on the most recent firmware.
RokuCo stopping to test and approve public channels for fw3 does not mean that the approx. ~1,000,000 legacy players have vanished and won’t be used. One can still write and update private channels for them, it was explained. And if you personally have moved over to fw5+ long ago, that does not mean all bridges behind you should be burned. Actively removing version notes will be a dickish move.
Note i was not addressing you but pointing out the imprecise wording of the note. Btw, isn’t NowTV stuck on something like fw4 - or was it only its home screen that stayed in legacy-look and insides fw is 6+?
“EnTerr” wrote:
Hm, it seems to me you are saying “frack those who want to write for firmware 3 and have no photographic memory” - but in nicer words, am i right? As an owner of non-eidetic memory, i disagree.
You seem to have forgotten that this discussion started from the fact that the current 3.1 callouts are confusing some developers. Your suggestion was to change the documentation to instead state which firmware version a certain feature became available in. My point was that since there are effectively only two firmware version, making that distinction isn’t necessary, and adding new callouts for devices that are no longer even supported would only serve to convolute things even more. That seems to have gotten bastardized somewhere along the way.
And no, I’m not saying “frack” anyone. I’m saying that most, if not all, developers who are interested in maintaining support for legacy devices are already aware of why the 3.1 callouts are there, and therefore don’t fall into the “confused” category. So, if the goal is to reduce confusion, then removing the 3.1 references makes more sense than adding even more firmware versions to the mix.
“TheEndless” wrote:
You seem to have forgotten that this discussion started from the fact that the current 3.1 callouts are confusing some developers. Your suggestion was to change the documentation to instead state which firmware version a certain feature became available in.
I haven’t forgotten. I suggested to change a single page of the docs - the one discussed in this topic - on “ifDeviceInfo”. Because that’s the unusual one that says
“This function is not available in the 3.1 firmware version.”. The typical wording used in other pages is “… available beginning with firmware version 4.3”, “This function is available in firmware 6.2 or later”. Notice the difference - one wording limits to a single point X of the version axis, the other is the right-open interval [X, +∞), if we get mathema-tic-al about it.
… adding new callouts for devices that are no longer even supported would only serve to convolute things even more. That seems to have gotten bastardized somewhere along the way.
Nobody had suggested yet adding new callouts, you are “tilting at windmills”*.
Now that you bring it - is it a good idea - sure, see above in this very thread, the lack of a note “These APIs are new with firmware version 6.1” made someone stumble can created the thread (nothing to do with “legacy”). I can think of couple more good reasons why to annotate when certain function was added but let’s not dig-in further.
“EnTerr” wrote:
I haven’t forgotten. I suggested to change a single page of the docs - the one discussed in this topic - on “ifDeviceInfo”. Because that’s the unusual one that says
“This function is not available in the 3.1 firmware version.”.
Herein lies the disconnect. “This function is not available in the 3.1 firmware version.” is actually found in multiple places throughout the documentation. It’s not limited to that one page.
I said - “the particular wording in that page is confusing”. I don’t know how i could have been clearer i was talking about THAT particular thing on that PARTICULAR page only. And then, then your jousted in on a high horse, demanding all version notes be erased…
Back to the traffic safety analogy, we were talking someone’s seatbelt malfunctioned and i say should replace it. Then you come to show there are more than one cases in which seat-belt or air-bag malfunctioned. And therefore you are you calling to abolish safety devices altogether. Respectfully, I disagree with such train of thought.
“EnTerr” wrote:
I haven’t forgotten. I suggested to change a single page of the docs - the one discussed in this topic - on “ifDeviceInfo”. Because that’s the unusual one that says
“This function is not available in the 3.1 firmware version.”.
Herein lies the disconnect. “This function is not available in the 3.1 firmware version.” is actually found in multiple places throughout the documentation. It’s not limited to that one page.
I said - “the particular wording in that page is confusing”. I don’t know how i could have been clearer i was talking about THAT particular thing on that PARTICULAR page only.
Why would you suggest changing the wording on a single page of the documentation and not every where that particular phrasing is used? I obviously missed that nuance of your argument, and was providing links to other instances of it to illustrate why/how I missed that.
“EnTerr” wrote:
And then, then your jousted in on a high horse, demanding all version notes be erased…
My high horse? Demanding all version notes be erased? Are you reading a different thread than I am? I simply clarified my opinion and gave my reasoning for it and how I thought it would reduce the confusion, based on the fact that legacy devices are no longer supported. You’re the one that twisted that into something more sinister than was intended.
Regardless, you’re either intent on disagreeing with me, or I’m just really bad at explaining myself, so I’m done here…