@tivio/sdk-react 5.0.3-alpha-3 → 5.0.3-alpha-4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -140,6 +140,14 @@ export declare interface Advertisement extends RowItem {
140
140
  type?: string | null;
141
141
  }
142
142
 
143
+ export declare type AdvertisementAnalyticParams = {
144
+ adFramework?: string;
145
+ adOrder: number;
146
+ adProvider?: string;
147
+ adTitle?: string;
148
+ videoId: string;
149
+ };
150
+
143
151
  /**
144
152
  * @public
145
153
  */
@@ -198,14 +206,22 @@ export declare enum AnalyticsConversionTargetBase {
198
206
  }
199
207
 
200
208
  export declare interface AnalyticsInterface {
201
- reportAdvertisementPlay: () => void;
209
+ reportAdvertisementPlay: (params: AdvertisementAnalyticParams) => void;
202
210
  reportAdvertisementProgress: () => void;
203
211
  reportElementClick: (elementId: string) => void;
204
212
  reportLocationChange: (path: string, pathParam?: string) => void;
205
213
  createMonetizationPurchase: () => void;
206
214
  completeMonetizationPurchase: (status: AnalyticsConversionStatus, monetizationId?: string) => void;
207
215
  reportVideoPlay: (status: AnalyticsConversionStatus, videoId: string) => void;
208
- reportVideoProgress: (videoId: string, videoDuration: number, checkpoint: number) => void;
216
+ reportVideoProgress: (data: {
217
+ checkpoint: number;
218
+ organizationId?: string;
219
+ seriesId?: string;
220
+ videoDuration: string;
221
+ videoId: string;
222
+ videoMonetizationId?: string;
223
+ videoType?: VideoType;
224
+ }) => void;
209
225
  }
210
226
 
211
227
  /**
@@ -399,6 +415,7 @@ export declare interface ConfirmationOverlayPayloadBase {
399
415
 
400
416
  /**
401
417
  * Entity aggregate conversion statistics per day
418
+ * TODO in future change structure, new used like array item
402
419
  */
403
420
  export declare interface ConversionAnalytic {
404
421
  /**
@@ -588,6 +605,14 @@ export declare type DocumentOptions = Partial<{
588
605
  subscribeOnChanges: boolean;
589
606
  }>;
590
607
 
608
+ export declare interface Drm {
609
+ configuration: FairplayDrmConfiguration | PlayreadyDrmConfiguration | WidevineDrmConfiguration;
610
+ /**
611
+ * License string
612
+ */
613
+ license: string;
614
+ }
615
+
591
616
  /**
592
617
  * @public
593
618
  */
@@ -630,6 +655,17 @@ export declare type ExternalTvConfig = {
630
655
  splashScreenBackgroundColor?: string;
631
656
  };
632
657
 
658
+ export declare interface FairplayDrmConfiguration {
659
+ /**
660
+ * Url to retrieve fairplay certificate from.
661
+ */
662
+ fairplayCertificateUrl: string;
663
+ /**
664
+ * Url to send license to.
665
+ */
666
+ fairplayLicenseUrl: string;
667
+ }
668
+
633
669
  /**
634
670
  * @throws if fetch fails
635
671
  * @public
@@ -671,6 +707,31 @@ export declare interface GenericOnCallError extends Error {
671
707
  details?: Record<string, string>;
672
708
  }
673
709
 
710
+ export declare interface GetBaseAnalyticsRequest {
711
+ /**
712
+ * Id of organization to return analytics data.
713
+ */
714
+ organizationId: string;
715
+ /**
716
+ * Date in string with format e.g. '2023-04-19'.
717
+ */
718
+ startDate: string;
719
+ /**
720
+ * Date in string with format e.g. '2023-04-26'.
721
+ */
722
+ endDate: string;
723
+ }
724
+
725
+ export declare interface GetConversionAnalyticsRequest extends GetBaseAnalyticsRequest {
726
+ }
727
+
728
+ export declare interface GetMonetizationsAnalyticsRequest extends GetBaseAnalyticsRequest {
729
+ }
730
+
731
+ export declare interface GetMonetizationsAnalyticsResponse {
732
+ monetizationsAnalytics: MonetizationSummaryItem[];
733
+ }
734
+
674
735
  /**
675
736
  * Share singleton instance
676
737
  * @public
@@ -748,6 +809,18 @@ export declare interface GetSourceUrlResponse {
748
809
  * Which sources did client (or cloud function) has already tried out.
749
810
  */
750
811
  sourceHistory: string[];
812
+ /**
813
+ * DRM configuration to {@link url} if source is encrypted.
814
+ */
815
+ drm?: Drm;
816
+ }
817
+
818
+ export declare interface GetViewAnalyticsResponse {
819
+ viewCountAnalytics: ViewCountItem[];
820
+ topWatched: TopWatchItem[];
821
+ }
822
+
823
+ export declare interface GetViewsAnalyticsRequest extends GetBaseAnalyticsRequest {
751
824
  }
752
825
 
753
826
  /**
@@ -1121,11 +1194,51 @@ export declare type MonetizationsSelectOverlayState = {
1121
1194
  closeMonetizationsSelectOverlay: () => void;
1122
1195
  };
1123
1196
 
1197
+ export declare interface MonetizationSummaryItem {
1198
+ /**
1199
+ * Unix timestamp at which the data is aggregated
1200
+ */
1201
+ date: number;
1202
+ /**
1203
+ * Monetization under the videos played, if not filled it is free
1204
+ */
1205
+ monetizationId: string;
1206
+ /**
1207
+ * Sum of successful (new and regular) payment price in current period
1208
+ */
1209
+ totalPrice: number;
1210
+ /**
1211
+ * Count of new payments in the current period
1212
+ */
1213
+ newPaymentCount: number;
1214
+ /**
1215
+ * Count of payments cancelled in in the current period
1216
+ */
1217
+ cancelledPaymentCount: number;
1218
+ /**
1219
+ * Count of payments made regularly like in the previous period
1220
+ */
1221
+ regularPaymentCount: number;
1222
+ /**
1223
+ * Price which was charged independent on price list (full and discounted)
1224
+ */
1225
+ paymentPrice: number;
1226
+ /**
1227
+ * Monetization type frequency
1228
+ */
1229
+ monetizationFrequency: MONETIZATION_FREQUENCY;
1230
+ /**
1231
+ * For PPV payments there will be videoId for which payment charged
1232
+ * If not filled it is not PPV
1233
+ */
1234
+ videoId?: string;
1235
+ }
1236
+
1124
1237
  /**
1125
1238
  * @public
1126
1239
  * @TODO change to enum
1127
1240
  */
1128
- export declare type MonetizationType = 'advertisement' | 'transaction' | 'subscription';
1241
+ export declare type MonetizationType = 'advertisement' | 'transaction' | 'subscription' | 'display';
1129
1242
 
1130
1243
  /**
1131
1244
  * TODO: Duplicate, because we can't import types from core-js.
@@ -1221,7 +1334,11 @@ export declare enum PLATFORM {
1221
1334
  */
1222
1335
  MOBILE = "MOBILE",
1223
1336
  WEB = "WEB",
1224
- TV = "TV"
1337
+ TV = "TV",
1338
+ /**
1339
+ * @deprecated Used only in big query. In the future we'll migrate to undefined value and delete this.
1340
+ */
1341
+ UNKNOWN = "unknown"
1225
1342
  }
1226
1343
 
1227
1344
  /**
@@ -1469,6 +1586,13 @@ export declare enum PlayerWrapperEventType {
1469
1586
  */
1470
1587
  export declare type PlayerWrapperEventTypeType = `${PlayerWrapperEventType}`;
1471
1588
 
1589
+ export declare interface PlayreadyDrmConfiguration {
1590
+ /**
1591
+ * Url to send license to.
1592
+ */
1593
+ playreadyLicenseUrl: string;
1594
+ }
1595
+
1472
1596
  /**
1473
1597
  * @public
1474
1598
  */
@@ -1919,6 +2043,9 @@ declare interface RowBase {
1919
2043
  type: ScreenRowType;
1920
2044
  isLiveRow: boolean;
1921
2045
  numberOfLines?: number;
2046
+ monetizations?: {
2047
+ monetizationRef: any;
2048
+ }[];
1922
2049
  }
1923
2050
 
1924
2051
  /**
@@ -1957,8 +2084,7 @@ export declare interface RowItemAssets {
1957
2084
  export declare enum RowItemComponent {
1958
2085
  ROW_ITEM_PORTRAIT = "ROW_ITEM_PORTRAIT",
1959
2086
  ROW_ITEM_LANDSCAPE = "ROW_ITEM_LANDSCAPE",
1960
- ROW_ITEM_CIRCLED = "ROW_ITEM_CIRCLED",
1961
- ROW_ITEM_BANNER = "ROW_ITEM_BANNER"
2087
+ ROW_ITEM_CIRCLED = "ROW_ITEM_CIRCLED"
1962
2088
  }
1963
2089
 
1964
2090
  /**
@@ -2757,6 +2883,7 @@ export declare interface TivioWidgetProps {
2757
2883
  x: number;
2758
2884
  }) => any;
2759
2885
  navigateFunction?: any;
2886
+ isFocused?: boolean;
2760
2887
  }
2761
2888
 
2762
2889
  /**
@@ -2775,6 +2902,26 @@ export declare interface TivioWidgetRef {
2775
2902
  });
2776
2903
  }
2777
2904
 
2905
+ export declare interface TopWatchItem {
2906
+ videoId: string;
2907
+ /**
2908
+ * If video is part of series we get a tagId to series
2909
+ */
2910
+ seriesId?: string;
2911
+ /**
2912
+ * Video type {@link VideoType}
2913
+ */
2914
+ videoType: VideoType;
2915
+ /**
2916
+ * Uniq users count
2917
+ */
2918
+ userCount: number;
2919
+ /**
2920
+ * Count of video view events
2921
+ */
2922
+ viewCount: number;
2923
+ }
2924
+
2778
2925
  declare type TransactionInfo = {
2779
2926
  type: 'transaction';
2780
2927
  name: string;
@@ -2796,6 +2943,7 @@ export declare type Translation = {
2796
2943
  */
2797
2944
  export declare type TvAppProps = {
2798
2945
  customer: CustomerId;
2946
+ navigateFunction: (url: string) => void;
2799
2947
  };
2800
2948
 
2801
2949
  /**
@@ -2816,7 +2964,11 @@ export declare interface TvChannel extends RowItem {
2816
2964
  * Transactions before subscriptions, sorted by price ascending.
2817
2965
  */
2818
2966
  getPurchasableMonetizations(options?: GetPurchasableMonetizationsOptions): PurchasableMonetization[];
2819
- getSourceUrl(fallbackUrl?: string): Promise<GetSourceUrlResponse>;
2967
+ getSourceUrl(options?: {
2968
+ language?: LangCode;
2969
+ }): Promise<GetSourceUrlResponse & {
2970
+ language?: LangCode;
2971
+ }>;
2820
2972
  purchasableMonetization: any | null;
2821
2973
  price: number;
2822
2974
  cover: string;
@@ -2824,6 +2976,16 @@ export declare interface TvChannel extends RowItem {
2824
2976
  uri: string;
2825
2977
  }
2826
2978
 
2979
+ export declare interface TvProgram {
2980
+ from: Date | null;
2981
+ to: Date | null;
2982
+ name: string;
2983
+ description: string;
2984
+ uri: string;
2985
+ image: string;
2986
+ video: Video | null;
2987
+ }
2988
+
2827
2989
  /**
2828
2990
  * @public
2829
2991
  */
@@ -2928,7 +3090,7 @@ export declare interface UseCancelSubscriptionsResult {
2928
3090
  * @public
2929
3091
  */
2930
3092
  export declare type UseChannelSource = (tvChannelId: string) => {
2931
- source: ChannelSourcePojo | null;
3093
+ source: ChannelSourcePojo | VirtualChannelSourcePojo | null;
2932
3094
  error: Error | null;
2933
3095
  };
2934
3096
 
@@ -2938,7 +3100,7 @@ export declare type UseChannelSource = (tvChannelId: string) => {
2938
3100
  * @public
2939
3101
  */
2940
3102
  export declare const useChannelSource: (tvChannelId: string) => {
2941
- source: ChannelSourcePojo | null;
3103
+ source: ChannelSourcePojo | VirtualChannelSourcePojo | null;
2942
3104
  error: Error | null;
2943
3105
  };
2944
3106
 
@@ -3282,7 +3444,11 @@ export declare interface Video extends RowItem {
3282
3444
  * Transactions before subscriptions, sorted by price ascending.
3283
3445
  */
3284
3446
  getPurchasableMonetizations(options?: GetPurchasableMonetizationsOptions): PurchasableMonetization[];
3285
- getSourceUrl(fallbackUrl?: string): Promise<GetSourceUrlResponse>;
3447
+ getSourceUrl(options?: {
3448
+ language?: LangCode;
3449
+ }): Promise<GetSourceUrlResponse & {
3450
+ language?: LangCode;
3451
+ }>;
3286
3452
  purchasableMonetization: any | null;
3287
3453
  transaction: PurchasableMonetization | undefined;
3288
3454
  subscriptions: PurchasableMonetization[];
@@ -3377,10 +3543,37 @@ export declare enum VideoType {
3377
3543
  /**
3378
3544
  * @public
3379
3545
  */
3380
- export declare type VideoUrlName = {
3546
+ export declare type VideoUrlNames = {
3381
3547
  [key in LangCode]?: string[];
3382
3548
  };
3383
3549
 
3550
+ export declare interface ViewCountItem {
3551
+ /**
3552
+ * Unix timestamp
3553
+ */
3554
+ date: number;
3555
+ /**
3556
+ * Monetization under the videos played, if not filled it is free
3557
+ */
3558
+ monetizationId?: string;
3559
+ /**
3560
+ * Device where the video played
3561
+ */
3562
+ deviceType: PLATFORM;
3563
+ /**
3564
+ * Count of video view events in group
3565
+ */
3566
+ totalCount: number;
3567
+ }
3568
+
3569
+ /**
3570
+ * @public
3571
+ */
3572
+ export declare interface VirtualChannelSourcePojo extends Omit<ChannelSourcePojo, 'type'> {
3573
+ type: 'VirtualChannelSource';
3574
+ epg: TvProgram[];
3575
+ }
3576
+
3384
3577
  /**
3385
3578
  * @public
3386
3579
  */
@@ -3439,7 +3632,7 @@ export declare interface WarningConfirmationOverlayPayload extends ConfirmationO
3439
3632
  */
3440
3633
  export declare interface WebPlayerProps {
3441
3634
  id: string;
3442
- source?: VodTivioSourcePojo | ChannelSourcePojo | VideoPath | null;
3635
+ source?: VodTivioSourcePojo | ChannelSourcePojo | VirtualChannelSourcePojo | VideoPath | null;
3443
3636
  onEnded?: () => any;
3444
3637
  /**
3445
3638
  * If this function is specified, then "Back" button is shown in top right corner.
@@ -3524,6 +3717,13 @@ export declare type WhereFilterArray = [string, WhereFilterOp, any];
3524
3717
 
3525
3718
  declare type WhereFilterOp = '<' | '<=' | '==' | '!=' | '>=' | '>' | 'array-contains' | 'in' | 'array-contains-any' | 'not-in';
3526
3719
 
3720
+ export declare interface WidevineDrmConfiguration {
3721
+ /**
3722
+ * Url to send license to.
3723
+ */
3724
+ widevineLicenseUrl: string;
3725
+ }
3726
+
3527
3727
  /**
3528
3728
  * @public
3529
3729
  */