Skip to content

Commit

Permalink
Polish documentation catalogs (#1105)
Browse files Browse the repository at this point in the history
Co-authored-by: Walid Kayhal <[email protected]>
  • Loading branch information
defagos and waliid authored Jan 6, 2025
1 parent 6bea6ad commit 43bd3e5
Show file tree
Hide file tree
Showing 129 changed files with 1,043 additions and 1,431 deletions.
3 changes: 0 additions & 3 deletions Demo/Pillarbox-demo.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@

/* Begin PBXFileSystemSynchronizedRootGroup section */
6FD6C9F92CD8B61A00ED6B32 /* Preview Content */ = {isa = PBXFileSystemSynchronizedRootGroup; explicitFileTypes = {}; explicitFolders = (); path = "Preview Content"; sourceTree = "<group>"; };
6FD6CA022CD8B61A00ED6B32 /* Tutorials */ = {isa = PBXFileSystemSynchronizedRootGroup; explicitFileTypes = {}; explicitFolders = (); path = Tutorials; sourceTree = "<group>"; };
6FD6CA0E2CD8B61A00ED6B32 /* Resources */ = {isa = PBXFileSystemSynchronizedRootGroup; explicitFileTypes = {}; explicitFolders = (); path = Resources; sourceTree = "<group>"; };
6FD6CA7E2CD8B61A00ED6B32 /* Sources */ = {isa = PBXFileSystemSynchronizedRootGroup; explicitFileTypes = {}; explicitFolders = (); path = Sources; sourceTree = "<group>"; };
6FD6CADF2CD8B61A00ED6B32 /* Xcode */ = {isa = PBXFileSystemSynchronizedRootGroup; explicitFileTypes = {}; explicitFolders = (); path = Xcode; sourceTree = "<group>"; };
Expand Down Expand Up @@ -49,7 +48,6 @@
6F7A2B242A7076FA005701C7 /* Packages */,
6FD6CA7E2CD8B61A00ED6B32 /* Sources */,
6FD6CA0E2CD8B61A00ED6B32 /* Resources */,
6FD6CA022CD8B61A00ED6B32 /* Tutorials */,
6FD6C9F92CD8B61A00ED6B32 /* Preview Content */,
6FD6CADF2CD8B61A00ED6B32 /* Xcode */,
6F05B8D62887E934005D75E3 /* Products */,
Expand Down Expand Up @@ -97,7 +95,6 @@
);
fileSystemSynchronizedGroups = (
6FD6C9F92CD8B61A00ED6B32 /* Preview Content */,
6FD6CA022CD8B61A00ED6B32 /* Tutorials */,
6FD6CA0E2CD8B61A00ED6B32 /* Resources */,
6FD6CA7E2CD8B61A00ED6B32 /* Sources */,
);
Expand Down
2 changes: 1 addition & 1 deletion Demo/Sources/Model/URLMedia.swift
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ enum URLMedia {
title: "Sacha part à la rencontre d'univers atypiques",
subtitle: "VOD - HLS",
imageUrl: "https://www.rts.ch/2024/06/13/11/34/14970435.image/16x9",
type: .url("https://rts-vod-amd.akamaized.net/ww/14970442/7510ee63-05a4-3d48-8d26-1f1b3a82f6be/master.m3u8")
type: .url("https://rts-vod-amd.akamaized.net/ww/14970442/da2b38fb-ca9f-3c76-80c6-e6fa7f3c2699/master.m3u8")
)
static let shortOnDemandVideoHLS = Media(
title: "Des violents orages ont touché Ajaccio, chef-lieu de la Corse, jeudi",
Expand Down
31 changes: 0 additions & 31 deletions Demo/Tutorials/IntegratingWithControlCenter.swift

This file was deleted.

39 changes: 0 additions & 39 deletions Demo/Tutorials/OptimizingCustomLayouts1~ios.swift

This file was deleted.

36 changes: 0 additions & 36 deletions Demo/Tutorials/OptimizingCustomLayouts2~ios.swift

This file was deleted.

41 changes: 0 additions & 41 deletions Demo/Tutorials/PinchToZoomTutorial~ios.swift

This file was deleted.

23 changes: 0 additions & 23 deletions Demo/Tutorials/SupportingBasicPictureInPicture.swift

This file was deleted.

35 changes: 0 additions & 35 deletions Demo/Tutorials/TrackingProgressTutorial~ios.swift

This file was deleted.

53 changes: 0 additions & 53 deletions Demo/Tutorials/TrackingVisibilityTutorial~ios.swift

This file was deleted.

28 changes: 14 additions & 14 deletions Sources/Analytics/Analytics.docc/PillarboxAnalytics.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,45 +4,45 @@
@PageColor(green)
}

Measure app usage according to SRG SSR requirements.
Measure app usage in compliance with SRG SSR requirements.

## Overview

The PillarboxAnalytics framework provides a toolbox to measure app usage according to SRG SSR requirements:
The PillarboxAnalytics framework provides a comprehensive toolkit for measuring app usage according to SRG SSR standards:

- Analytics for internal usage, gathered using [Commanders Act](https://www.commandersact.com) analytics SDK.
- Analytics for [Mediapulse](https://www.mediapulse.ch), an organization charged with collecting media consumption data in Switzerland. These measurements are forwarded using [comScore](https://www.comscore.com/) analytics SDK.
- **Internal Analytics:** Data is collected using the [Commanders Act](https://www.commandersact.com) analytics SDK.
- **Mediapulse Analytics:** [Mediapulse](https://www.mediapulse.ch), responsible for monitoring media consumption in Switzerland, receives measurements via the [comScore](https://www.comscore.com/) analytics SDK.

> Important: Proper measurements are critical. The GD ADI team or Mediapulse might reject your application or its measurements should you implement analytics incorrectly.
> Important: Proper implementation of analytics is essential. Non-compliance may result in rejection of your app or its measurements by the GD ADI team or Mediapulse.
### Measure app usage

The PillarboxAnalytics framework lets you measure application usage in two ways:
PillarboxAnalytics enables app usage measurement through two main methods:

- <doc:page-views-article>
- <doc:events-article>

> Important: Streaming measurements are automatically collected when playing SRG SSR content using the PillarboxCoreBusiness framework. Just ensure that tracking has been properly setup first. Please refer to <doc:setup-article> for more information.
> Note: Streaming data is automatically tracked when using SRG SSR content with the PillarboxCoreBusiness framework. Ensure tracking is set up correctly by referring to the <doc:setup-article> article.
### Transparency and data protection

To comply with the Swiss [New Federal Act on Data Protection (nFADP)](https://www.kmu.admin.ch/kmu/en/home/facts-and-trends/digitization/data-protection/new-federal-act-on-data-protection-nfadp.html) apps must implement some form of user consent management. Please read <doc:user-consent-article> for more information about how you can provide user consent information to the PillarboxAnalytics framework.
To comply with Switzerland’s [New Federal Act on Data Protection (nFADP)](https://www.kmu.admin.ch/kmu/en/home/facts-and-trends/digitization/data-protection/new-federal-act-on-data-protection-nfadp.html), apps must integrate a user consent management system. For implementation details, refer to the <doc:user-consent-article> article.

#### AdSupport and Identifier for advertisers (IDFA)
#### AdSupport and Identifier for Advertisers (IDFA)

The PillarboxAnalytics framework always links against [AdSupport](https://developer.apple.com/documentation/adsupport) but the [IDFA](https://developer.apple.com/documentation/adsupport/asidentifiermanager/advertisingidentifier) is never used or shared by the PillarboxAnalytics framework.
The PillarboxAnalytics framework links against [AdSupport](https://developer.apple.com/documentation/adsupport), but it does not use or share the [IDFA](https://developer.apple.com/documentation/adsupport/asidentifiermanager/advertisingidentifier).

> Important: SRG SSR apps must not implement [App Tracking Transparency](https://developer.apple.com/documentation/apptrackingtransparency). This ensures that the IDFA can never be read unintentionally.
> Important: SRG SSR apps must **not** implement [App Tracking Transparency](https://developer.apple.com/documentation/apptrackingtransparency) to ensure the IDFA remains inaccessible.
### App privacy details

When submitting an app to the App Store you must provide [App privacy details](https://developer.apple.com/app-store/app-privacy-details/) that accurately reflect which data is collected by your app and to what purpose.
When submitting an app to the App Store, provide accurate [app privacy details](https://developer.apple.com/app-store/app-privacy-details/) about data collection and usage.

To help you fill all required information Xcode organizer provides a way to generate a [consolidated privacy report for your app](https://developer.apple.com/documentation/bundleresources/privacy_manifest_files/describing_data_use_in_privacy_manifests#4239187). This report automatically contains privacy details associated with Pillarbox and its 3rd party dependencies.
Xcode Organizer can generate a [consolidated privacy report](https://developer.apple.com/documentation/bundleresources/privacy_manifest_files/describing_data_use_in_privacy_manifests#4239187), which includes data collected by Pillarbox and its third-party dependencies.

### Validation

Your application should be validated before being submitted to production, at least when significant changes to analytics are made. Please contact the GD ADI team for more information.
Before submitting your app to production, validate it, especially after significant analytics updates. Contact the GD ADI team for assistance with the validation process.

## Topics

Expand Down
18 changes: 9 additions & 9 deletions Sources/Analytics/Analytics.docc/events-article.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,23 +4,23 @@
@PageColor(green)
}

Better understand how your app functionalities are used.
Gain insights into how your app’s features are being utilized.

## Overview

As a product team you need to better understand which features are popular and which ones aren't.
As a product team, understanding which features are popular and which are underutilized is essential for informed decision-making.

The ``PillarboxAnalytics`` framework provides a way to send arbitrary events so that your analysts can better understand your users and help you lead your product in the right direction.
The ``PillarboxAnalytics`` framework enables you to send custom events, allowing your analysts to better understand user behavior and guide your product strategy effectively.

> Important: Tracking must be properly setup first. Please refer to <doc:setup-article> for more information.
> Important: Ensure tracking is properly set up before proceeding. Refer to the <doc:setup-article> article for detailed instructions.
### Send events

To send a custom event simply access the tracker singleton and call ``Analytics/sendEvent(commandersAct:)``.
To send a custom event, use the tracker singleton and invoke the ``Analytics/sendEvent(commandersAct:)`` method.

> Note: Events are supported by Commanders Act only.
> Note: Events are exclusively supported by Commanders Act.
An event is described by a name and associated labels. You could for example track the action associated with a favorite button as follows:
An event consists of a name and associated labels. For example, tracking the action of a “favorite button can be achieved as follows:

```swift
Analytics.shared.sendEvent(commandersAct: .init(
Expand All @@ -31,6 +31,6 @@ Analytics.shared.sendEvent(commandersAct: .init(
))
```

For inspiration you should have a look at how [Play SRG products](https://confluence.srg.beecollaboration.com/display/SRGPLAY/Play+SRG+native+click+and+hidden+analytics+events) use events.
For inspiration, explore how [Play SRG products](https://srgssr-ch.atlassian.net/wiki/x/AAmhLw) utilize events.

> Tip: Commanders Act fields need to be properly mapped server-side. Please check our [internal wiki](https://confluence.srg.beecollaboration.com/pages/viewpage.action?pageId=13188692) for more information about available keys or contact the GD ADI team for more information.
> Tip: Commanders Act fields must be properly mapped server-side. Check our [internal wiki](https://srgssr-ch.atlassian.net/wiki/x/zIZwLw) for available keys or contact the GD ADI team for further guidance on mapping and implementation.
Loading

0 comments on commit 43bd3e5

Please sign in to comment.