We need to instrument the KaiOS app to send InukaPageView data.
A page view starts when an article is opened and continues until the user moves to a new article or returns to the home page; changing the section or viewing the quick facts does not result in a new pageview.
In addition, a visit to the app main page is also a pageview; it starts when the main page is opened and continues until the user moves to an article (probably through the search). However, since this will require more effort to implement, we can temporarily leave main page visits unlogged.
- user_id: unique, persistent ID for each install
- session_id: should behave like the session cookie on web
- pageview_token: unique ID for each pageview, for deduplicating events
- client-type: kaios-app
- referring_domain
- null for the first page viewed when the app is freshly opened (always the app main page)
- kaios-app for views referred by other pages within the app
- if we even implement redirection from the web to the app on KaiOS devices, the domain of the referring wiki (e.g. hi.wikipedia.org)
- load_dt: timestamp when the page is first rendered, after the loading screen
- page_open_time: total time spent on the page, in ms
- page_visible_time: total time the page was actually visible, in ms
- section_count: how many sections the article contains
- 0 for the app main page
- opened_section_count: how many sections have been viewed, through paging or the TOC
- 0 for the app main page
- page_namespace: the actual namespace of the page shown to the user
- -1 for the app main page
- otherwise, will almost always be 0 (the article namespace) since the app tries to prevent users from finding their way to non-article pages
- is_main_page: true for the app main page, false otherwise
- is_search_page: true for the app main page, false otherwise