Only this pageAll pages
Powered by GitBook
1 of 20

Mobile News Apps public docs

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Store information

Required and suggested information when publishing Naviga news apps on stores.

Naviga Mobile News Apps

Required information

This is the required initial information and actions to start app setup.

Note: The API Key can only be downloaded once.

No keys or certificates should be sent through insecure communications.

Feel free to use our secrets share service: https://secrets.saas.navigacloud.com/#/upload

  • Name

Provide a name for the app

  • Bundle ID

Set up or provide existing bundle ID (unique identifier) for the app.

  • Meta data

Provide descriptions, support URL, Privacy policy URL and declarations

Configuration base

What info Naviga professional services need as a minimum to start a Mobile project.

Font

Preferred format is TrueType font format (ttf) for fonts.

As alternative, OpenType font format (otf) will most likely work. But otf will in some cases not render as good as ttf.

Color

At least one primary color code in hex format, 6 or 8 digits, is required.

Color example

Logotype

(and/or logomark)

Main app logotype in svg format, one black and one white.

They will be rescaled by Naviga to be used in multiple places. For example splash screen, appbar icon, toolbar and app icon.

Logotype example

Feature icons (optional)

Icons in svg format, square.

For use in bottom nav icons, actions i app bar. If not specified, Naviga standard will apply.

Feature icons example

Statistics Events

All Apps dispatch statistics events via different Statistics Providers. Default is the Firebase Analytics integration (Google Analytics v4).

For each action or view in the app an event is triggered. Those events has parameters, described on these sub pages.

Global attributes

The attributes of each event type may differ but each event also contains the following global attributes:

  • userIsLoggedIn (iOS) - boolean, denotes a users login status on iOS

  • loggedIn (Android) - boolean, denotes a users login status on Android

  • userID - string, the unique identifer for a given user

  • appleAppTracking (iOS) - string, status of users consent with one of the following statuses: notDetermined, restricted, denied or authorized

Flow Event

User, login, password and similar views.

An event dispatched when a Flow view's registerStats property is true.

  • eventName - viewShow

  • viewName - flow

  • moduleID - Module id from app config, or global

  • moduleName - Module name, or empty if omitted

  • moduleTitle - Module title from app config, or empty if omitted

  • viewId - Flow ID or empty if omitted

Example - Event dispatched during a custom User Login flow

  • eventName - viewShow

  • viewName - flow

  • moduleID - global

  • moduleName - SectionContentList

  • moduleTitle - Top News

  • viewId - login_flow

Example - Event dispactched during a custom Free Trial flow

  • eventName - viewShow

  • viewName - flow

  • moduleID - global

  • moduleName - SectionContentList

  • moduleTitle - Top News

  • viewId - try1_flow

Example - Event dispactched during a custom Forgot Password flow

  • eventName - viewShow

  • viewName - flow

  • moduleID - global

  • moduleName - SectionContentList

  • moduleTitle - Top News

  • viewId - forgot_pasword_flow

Article Read Event

Stop showing article.

An event dispatched when an article has been read.

  • eventName - viewShow

  • viewName - articleRead

  • moduleID - Module ID from app config

  • moduleName - Module name

  • moduleTitle - Module title from app config

  • articleHeadline - Article's headline

  • articleUUID - Article's UUID

  • isFrequency - Boolean, whether article is metered

  • isPremium - Boolean, whether article is premium content

  • userHasAccess - Boolean, whether the user has access to article or not

Example - this event was dispatched when an article was read.

  • eventName: viewShow

  • viewName: articleRead

  • moduleID: mynews

  • moduleName: NearMe

  • moduleTitle: My News

  • articleHeadline: Lilliz inte anmäld till disciplinnämnden

  • articleUUID: 1c5ee092-f5fd-48fa-b610-ee537d67a337

  • isFrequency: false

  • isPremium: true

  • userHasAccess: true

Onboarding Event

Show onboarding view

An event dispatched when an on-boarding slide is displayed.

  • eventName - viewShow

  • viewName - promotion

  • moduleID - Module id from app config

  • moduleName - Module name

  • moduleTitle - Module title from app config

  • promotionId - Promotion id from app config

  • pageIndex - Promotion page index from app config (0,1,2,n)

Example - event dispatched when the first slide of the on-boarding is loaded.

  • eventName - viewShow

  • viewName - promotion

  • moduleID - topnews

  • moduleName - SectionContentList

  • moduleTitle - Top News

  • promotionId - topnews_1.0

  • pageIndex - 0

Privacy Policy

Google Play

Google Play > Policy > App content > Povacy policy

  • Paste url to policy

ArticleList Event

Show ContentList module.

An event dispatched when a ContentList or NearMe module are rendered.

  • eventName - viewShow

  • viewName - articleList

  • moduleID - Module ID in app config

  • moduleName - Module name (ContentList or NearMe)

  • moduleTitle - Module title in app config

  • streamID - Concept UUID

  • streamType - Concept Open Content property name

  • streamTitle - Title of stream

Example - User navigates to the module called "Senaste nytt"

  • eventName - viewShow

  • viewName - articleList

  • moduleID - topnews

  • moduleName - ContentList

  • moduleTitle - Senaste nytt

  • streamID -

  • streamType -

  • streamTitle -

Example - User opens the "My News" module and the concept stream "Example Town".

  • eventName - viewShow

  • viewName - articleList

  • moduleID - mynews

  • moduleName - NearMe

  • moduleTitle - My News

  • streamID - 3dcd84df-80b6-4a30-89d0-ca595c8584d3

  • streamType - ConceptTagUuids

  • streamTitle - Example Town

Article Event

Show article.

An event dispatched when an article is opened.

  • eventName - viewShow

  • viewName - article or packagePreview

  • moduleID - Module ID from app config

  • moduleName - Module name

  • moduleTitle - Module title from app config

  • articleHeadline - Article headline

  • articleUUID - Article UUID

  • articleUrl - Article URL

  • isFrequency - Boolean, whether article is metered.

  • isPremium - Boolean, whether article is premium content.

  • source - String, if the article was opened from a push notification.

Example - Event dispatched when an article with title of "Title of an Amazing Article" is opened.

  • eventName: viewShow

  • viewName: article

  • moduleID: topnews

  • moduleName: SectionContentList

  • moduleTitle: Top News

  • articleHeadline: Title of an Amazing Article

  • articleUUID: cc6bad82-1a84-4c65-bcc4-f8a551851c2d

  • articleUrl: Article's URL

  • isFrequency: false

  • isPremium: true

  • source:

Profile Event

Show profile module

An event dispatched when profile module is opened.

  • eventName - viewShow

  • viewName - profile

  • moduleID - Module id from app config, or global

  • moduleName - Module name, or empty if omitted

  • moduleTitle - Module title from app config, or empty if omitted

  • eventName - viewShow

  • viewName - profile

  • moduleID - profile

  • moduleName - MyProfile

  • moduleTitle - Profile

TopicPicker Event

Show the Add subscription view, and add subscription event

View dialog

Topic Picker View: An event dispatched when the topic picker is opened.

  • eventName - viewShow

  • viewName - topicPicker

  • moduleID - Module id from app config, or global

  • moduleName - Module name

  • moduleTitle - Module title from app config

Example - User navigates to the module "Top News", and the topicPicker dialog appears.

  • eventName - viewShow

  • viewName - topicPicker

  • moduleID - topnews

  • moduleName - SectionContentList

  • moduleTitle - Top News

Create subscription

TopicPicker Create Subscription events are dispatched when a user saves their choices made in the topic picker.

One event is dispatched for each choice that was made.

  • eventName - createStream

  • viewName - topicPicker

  • moduleID - Module ID from app config, or global

  • moduleName - Module name

  • moduleTitle - Module title from app config

  • streamID - Concept uuid

  • streamType - Open Content property name for the Concept type

  • subscriptionName - Subscription UUID

Example - User follows the "Ice Hockey" concept, and saves their choice.

  • eventName - createStream

  • viewName - topicPicker

  • moduleID - mynews

  • moduleName - NearMe

  • moduleTitle - My News

  • streamID - 5b129691-a4e7-4318-9ced-c7344c54b2b0

  • streamType - AppConceptCategoryUuids

  • subscriptionName - Ice Hockey

Ownership

When publishing News apps Google and Apple have some specific requirements to verify publisher ownership.

Suggestions and example how to configure your app and Google play.

Background

Understanding upcoming changes to news and news-related apps (Google support)

Developer program policy (Google Play, January 20, 2021)

App information

There will likely be requirements for information inside the app. Here are a couple of examples that has been successfully published.

Ownership information in app, example 1
Ownership information in app, example 2

Google Play

Is your app a news app?

Ownership information on Google Play, example

ArticleListRow Event

Show article teaser.

An event dispatched when an article teaser is viewed in a list.

  • eventName - articleListRowView

  • viewName - article or packagePreview

  • moduleID - Module ID in app config

  • moduleName - Module name

  • moduleTitle - Module title in app config

  • articleHeadline - Article's headline

  • articleUUID - Article's UUID

  • isFrequency - Boolean, whether article is metered

  • isPremium - Boolean, whether article is premium content

  • userHasAccess - Boolean, whether the user has access to article or not

  • subscriptionId - Subscription UUID

Example - event dispatched when an article teaser is viewed in a list

  • eventName: articleListRowView

  • viewName: article or packagePreview

  • moduleID: mynews

  • moduleName: NearMe

  • moduleTitle: My News

  • articleHeadline: Ineffektivt Färjestad föll i toppmötet

  • articleUUID: fc44ae40-c7b9-48a5-973c-3b1f2964e812

  • isFrequency: false

  • isPremium: true

  • userHasAccess: true

  • subscriptionId: 30d10286-79a6-43db-b46e-c7f3b120d394

ImageViewer Event

Show image

An event dispatched when an image is loaded.

  • eventName - imageViewer

  • viewName - empty if omitted (?)

  • moduleID - Notification context (?)

  • moduleName - Module name. or empty if omitted

  • moduleTitle - Module title from app config, or empty if omitted

  • contentID - Notification uuid

  • contentType - Notification contentType

  • articleHeadline - The article's headline

  • articleUUID - The article's UUID

  • imageUUID - The image's UUID

Example - an event dispatched when an image is opened

  • eventName - imageViewer

  • viewName -

  • moduleID - editions

  • moduleName - SectionContentList

  • moduleTitle - Editions

  • contentID - 73328ee7-1bc4-4abd-b630-12b10579f796

  • contentType - {notification.data.contentType}

  • articleHeadline -

  • articleUUID -

  • imageUUID -

AppStore Privacy

This is how Naviga suggest you enter privacy details when publishing a Naviga news app.

Apple App Store

This is how Naviga suggest you enter privacy details when publishing a Naviga news app for iOS.

Read more: App Store privacy details

App privacy > Data collection

Naviga suggested settings for Data Collection

App privacy > Advertising data

Naviga suggested settings for Advertising data - step 1
Naviga suggested settings for Advertising data - step 2
Naviga suggested settings for Advertising data - step 3

App privacy > Crash data

Naviga suggested settings for Crash data - step 1
Naviga suggested settings for Crash data - step 2
Naviga suggested settings for Crash data - step 3

App privacy > Device ID

Naviga suggested settings for Device ID - step 1
Naviga suggested settings for Device ID - step 2
Naviga suggested settings for Device ID - step 3

App privacy > Product interaction

Naviga suggested settings for Product interaction - step 1
Naviga suggested settings for Product interaction - step 2
Naviga suggested settings for Product interaction - step 3

App privacy > User ID

Naviga suggested settings for User ID - step 1
Naviga suggested settings for User ID - step 2
Naviga suggested settings for User ID - step 3

EditSubscriptionList Event

Subscriptions settings events.

Multiple user actions triggers these events, with different event names. All related to automatic push notifications and subscriptions.

User action

eventName

Show the subscription settings view where user can edit subscriptions

viewShow

Remove a subscription

deleteStream

Enable push notifications for a subscription

notificationsDeactivated

Disable push notifications for a subscription

notificationsActivated

  • eventName - viewShow, deleteStream, notificationsDeactivated or notificationsActivated

  • viewName - editSubscriptionList

  • moduleID - Module ID in app config

  • moduleName - NearMe

  • moduleTitle - Module title in app config

  • streamID - Concept uuid

  • streamType - Open Content property name for the Concept

  • streamTitle - Title of the stream

Example - User clicks on the settings cog in "My News" and is presented with settings dialog (edit view).

  • eventName - viewShow

  • viewName - editSubscriptionList

  • moduleID - mynews

  • moduleName - NearMe

  • moduleTitle - My News

  • streamID -

  • streamType -

  • streamTitle -

Example - User removes a subscription e.g. Borås Basket

  • eventName - deleteStream

  • viewName - editSubscriptionList

  • moduleID - mynews

  • moduleName - NearMe

  • moduleTitle - My News

  • streamID - 2de1fe6c-0a44-49f0-8dde-b0937fbff529

  • streamType - ConceptTagUuids

  • streamTitle - BorÃ¥s Basket

Example - User activates push notification for e.g. Family.

  • eventName - notificationsActivated

  • viewName - editSubscriptionList

  • moduleID - mynews

  • moduleName - NearMe

  • moduleTitle - My News

  • streamID - 31415cc9-b084-45a8-a716-72638c9669d4

  • streamType - ConceptCategoryUuids

  • streamTitle - Family

Example - User deactivates push notification for e.g. Family.

  • eventName - notificationsDeactivated

  • viewName - editSubscriptionList

  • moduleID - mynews

  • moduleName - NearMe

  • moduleTitle - My News

  • streamID - 31415cc9-b084-45a8-a716-72638c9669d4

  • streamType - ConceptCategoryUuids

  • streamTitle - Family

Notification Event

Receive and open push notifications

Receive notification

Notification Received Event. An event dispatched when a push notification is received by a device registered for push notifications.

  • eventName - showNotification

  • viewName - empty if omitted

  • moduleID - Notification context

  • moduleName - Module name, or empty if omitted

  • moduleTitle - Module title in app config, or empty if omitted

  • streamID - Notification uuid

  • streamType - Open Content property name for the concept

  • streamTitle - Concept headline

  • notificationTitle - Notification alert title

  • notificationText - Notification alert body

  • contentID - Notification uuid

  • contentType - Linked contentType

Example - The device receives a manual push notification with a link to open an article if clicked.

  • eventName - showNotification

  • viewName -

  • moduleID - topnews

  • moduleName - ContentList

  • moduleTitle - Top News

  • streamID -

  • streamType -

  • streamTitle -

  • notificationTitle -

  • notificationText - Some title\nSome body text goes here

  • contentID - a67d3300-1fa0-4595-ac58-d223d217f12d

  • contentType - article

Example - The device receives a manual push notification which does not contain a link to an article (or anything), and does not contain any module info.

  • eventName - showNotification

  • viewName -

  • moduleID - global

  • moduleName -

  • moduleTitle -

  • streamID -

  • streamType -

  • streamTitle -

  • notificationTitle -

  • notificationText - Some title\nSome body text goes here

  • contentID -

  • contentType -

Example - The device receives a manual push notification for the Editions module about a new Edition.

  • eventName - showNotification

  • viewName -

  • moduleID - editions

  • moduleName - ContentList

  • moduleTitle - Editions

  • streamID -

  • streamType -

  • streamTitle -

  • notificationTitle -

  • notificationText - Some title\nSome body text goes here

  • contentID - a67d3300-1fa0-4595-ac58-d223d217f12d

  • contentType - package

Example - The device receives an automatic push notification, from the NearMe module, with a link to an article.

  • eventName - showNotification

  • viewName -

  • moduleID - mynews

  • moduleName - NearMe

  • moduleTitle - My News

  • streamID - 95d3e986-26b7-4b14-b436-8c79c8645412

  • streamType - ConceptCategoryUuids

  • streamTitle - Crime and Punishment

  • notificationTitle - Some title

  • notificationText -

  • contentID - a67d3300-1fa0-4595-ac58-d223d217f12d

  • contentType - article

Open notification

Notification Opened Event. An event dispatched when a push notification is opened.

  • eventName - openNotification

  • viewName - empty if omitted

  • moduleID - Notification context

  • moduleName - Module name, or empty if omitted

  • moduleTitle - Module title in app config, or empty if omitted

  • streamID - Notification uuid

  • streamType - Open Content property name for the Concept

  • streamTitle - Concept headline

  • notificationTitle - Notification alert title

  • notificationText - Notification alert body

  • contentID - Notification data body (?)

  • contentType - Linked contentType

Example - The device received an automatic push notification with an article. This event triggers when that notification is opened (clicked) and the article will open in a concept stream.

  • eventName - openNotification

  • viewName -

  • moduleID - mynews

  • moduleName - NearMe

  • moduleTitle - My News

  • streamID - a5c77d9c-6c4f-4dd7-860a-a155c568a9be

  • streamType - ConceptCategoryUuids

  • streamTitle - Example category

  • notificationTitle - Push notification's title

  • notificationText -

  • contentID - 329a8259-93e1-4eb0-bf50-6e73d8732b07 (article uuid)

  • contentType - article

Example - The device received a manual push notification to open an article, and that notification was opened.

  • eventName - openNotification

  • viewName -

  • moduleID - mynews

  • moduleName - NearMe

  • moduleTitle - My News

  • streamID -

  • streamType -

  • streamTitle -

  • notificationTitle - Push notification's title

  • notificationText -

  • contentID - 329a8259-93e1-4eb0-bf50-6e73d8732b07 (article UUID)

  • contentType - article

Google Play Data Safety

Fast track:

To skip the manual config, use the csv file below as a quickstart.

CSV file contains below settings, for a Naviga Standard config Android app.

169KB
data_safety_export.csv

Background

Help users understand how your app collects and shares their data

To help users better understand your app's privacy, security and data handling practices before they download it, provide information about your app's safety. The information that you provide is shown on your Store Listing so that users can learn how you collect and share their data.

Google Developer Program Policy

This info is required from 20 July 2022

Manual guide: Google Play > Policy > App content

https://play.google.com/console

2. Data collection and security

3. Naviga Android apps collects or shares:

Data type
Purpose

App activity

App interactions are sent to statistics

App info and performance

Crash logs and diagnostics are sent to Firebase Crashlytics and Google Play.

Device or other IDs

Firebase installation ID is used by Firebase Crashlytics and statistics.

Optionals

You might need to mark more, if customer app is using 3rd part tools or has addition config.

Data type
Purpose

Location

Ads and statistics

Personal info: Email

Email used as key if provisioning is used in app.

Personal info: User ID's

User ID can be sent to statistics provider, if configured.

4. Data usage and handling

Email address

App info and performance: Crash logs, Diagnostics and Other app performance data

App activity: App interactions

Device or other IDs

​​​​

​​​​​​

​​​

5. Preview

Save!

Deleting user data

Naviga don't provide an end user interface for deleting data, we are a "ombud".