react-native-gemius-plugin 1.7.0

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.
Files changed (170) hide show
  1. package/.gitattributes +1 -0
  2. package/README.md +44 -0
  3. package/android/.classpath +6 -0
  4. package/android/.gradle/7.2/dependencies-accessors/dependencies-accessors.lock +0 -0
  5. package/android/.gradle/7.2/dependencies-accessors/gc.properties +0 -0
  6. package/android/.gradle/7.2/executionHistory/executionHistory.bin +0 -0
  7. package/android/.gradle/7.2/executionHistory/executionHistory.lock +0 -0
  8. package/android/.gradle/7.2/fileChanges/last-build.bin +0 -0
  9. package/android/.gradle/7.2/fileHashes/fileHashes.bin +0 -0
  10. package/android/.gradle/7.2/fileHashes/fileHashes.lock +0 -0
  11. package/android/.gradle/7.2/fileHashes/resourceHashesCache.bin +0 -0
  12. package/android/.gradle/7.2/gc.properties +0 -0
  13. package/android/.gradle/8.0.1/checksums/checksums.lock +0 -0
  14. package/android/.gradle/8.0.1/checksums/md5-checksums.bin +0 -0
  15. package/android/.gradle/8.0.1/checksums/sha1-checksums.bin +0 -0
  16. package/android/.gradle/8.0.1/dependencies-accessors/dependencies-accessors.lock +0 -0
  17. package/android/.gradle/8.0.1/dependencies-accessors/gc.properties +0 -0
  18. package/android/.gradle/8.0.1/fileChanges/last-build.bin +0 -0
  19. package/android/.gradle/8.0.1/fileHashes/fileHashes.lock +0 -0
  20. package/android/.gradle/8.0.1/gc.properties +0 -0
  21. package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  22. package/android/.gradle/buildOutputCleanup/cache.properties +2 -0
  23. package/android/.gradle/buildOutputCleanup/outputFiles.bin +0 -0
  24. package/android/.gradle/checksums/checksums.lock +0 -0
  25. package/android/.gradle/checksums/md5-checksums.bin +0 -0
  26. package/android/.gradle/checksums/sha1-checksums.bin +0 -0
  27. package/android/.gradle/vcs-1/gc.properties +0 -0
  28. package/android/.idea/compiler.xml +6 -0
  29. package/android/.idea/gradle.xml +19 -0
  30. package/android/.idea/jarRepositories.xml +55 -0
  31. package/android/.idea/libraries/Gradle__androidx_annotation_annotation_experimental_1_1_0_aar.xml +11 -0
  32. package/android/.idea/libraries/Gradle__androidx_annotation_annotation_jvm_1_6_0.xml +11 -0
  33. package/android/.idea/libraries/Gradle__androidx_arch_core_core_common_2_1_0.xml +11 -0
  34. package/android/.idea/libraries/Gradle__androidx_arch_core_core_runtime_2_1_0_aar.xml +10 -0
  35. package/android/.idea/libraries/Gradle__androidx_asynclayoutinflater_asynclayoutinflater_1_0_0_aar.xml +12 -0
  36. package/android/.idea/libraries/Gradle__androidx_browser_browser_1_4_0_aar.xml +14 -0
  37. package/android/.idea/libraries/Gradle__androidx_collection_collection_1_1_0.xml +11 -0
  38. package/android/.idea/libraries/Gradle__androidx_coordinatorlayout_coordinatorlayout_1_0_0_aar.xml +16 -0
  39. package/android/.idea/libraries/Gradle__androidx_core_core_1_8_0_aar.xml +14 -0
  40. package/android/.idea/libraries/Gradle__androidx_cursoradapter_cursoradapter_1_0_0_aar.xml +12 -0
  41. package/android/.idea/libraries/Gradle__androidx_customview_customview_1_0_0_aar.xml +12 -0
  42. package/android/.idea/libraries/Gradle__androidx_documentfile_documentfile_1_0_0_aar.xml +12 -0
  43. package/android/.idea/libraries/Gradle__androidx_drawerlayout_drawerlayout_1_0_0_aar.xml +15 -0
  44. package/android/.idea/libraries/Gradle__androidx_fragment_fragment_1_0_0_aar.xml +13 -0
  45. package/android/.idea/libraries/Gradle__androidx_interpolator_interpolator_1_0_0_aar.xml +12 -0
  46. package/android/.idea/libraries/Gradle__androidx_legacy_legacy_support_core_ui_1_0_0_aar.xml +12 -0
  47. package/android/.idea/libraries/Gradle__androidx_legacy_legacy_support_core_utils_1_0_0_aar.xml +12 -0
  48. package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_common_2_3_1.xml +11 -0
  49. package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_livedata_2_1_0_aar.xml +10 -0
  50. package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_livedata_core_2_1_0_aar.xml +10 -0
  51. package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_runtime_2_3_1_aar.xml +11 -0
  52. package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_viewmodel_2_0_0_aar.xml +10 -0
  53. package/android/.idea/libraries/Gradle__androidx_loader_loader_1_0_0_aar.xml +12 -0
  54. package/android/.idea/libraries/Gradle__androidx_localbroadcastmanager_localbroadcastmanager_1_0_0_aar.xml +12 -0
  55. package/android/.idea/libraries/Gradle__androidx_print_print_1_0_0_aar.xml +15 -0
  56. package/android/.idea/libraries/Gradle__androidx_privacysandbox_ads_ads_adservices_1_0_0_beta05_aar.xml +11 -0
  57. package/android/.idea/libraries/Gradle__androidx_privacysandbox_ads_ads_adservices_java_1_0_0_beta05_aar.xml +11 -0
  58. package/android/.idea/libraries/Gradle__androidx_slidingpanelayout_slidingpanelayout_1_0_0_aar.xml +12 -0
  59. package/android/.idea/libraries/Gradle__androidx_startup_startup_runtime_1_0_0_aar.xml +11 -0
  60. package/android/.idea/libraries/Gradle__androidx_swiperefreshlayout_swiperefreshlayout_1_0_0_aar.xml +15 -0
  61. package/android/.idea/libraries/Gradle__androidx_versionedparcelable_versionedparcelable_1_1_1_aar.xml +10 -0
  62. package/android/.idea/libraries/Gradle__androidx_viewpager_viewpager_1_0_0_aar.xml +12 -0
  63. package/android/.idea/libraries/Gradle__androidx_work_work_runtime_2_7_0_aar.xml +11 -0
  64. package/android/.idea/libraries/Gradle__ch_acra_acra_core_5_7_0_aar.xml +15 -0
  65. package/android/.idea/libraries/Gradle__ch_acra_acra_http_5_7_0_aar.xml +14 -0
  66. package/android/.idea/libraries/Gradle__ch_acra_acra_javacore_5_7_0.xml +13 -0
  67. package/android/.idea/libraries/Gradle__com_gemius_mobile_sdk_2_0_8_aar.xml +11 -0
  68. package/android/.idea/libraries/Gradle__com_google_android_gms_play_services_ads_22_4_0_aar.xml +11 -0
  69. package/android/.idea/libraries/Gradle__com_google_android_gms_play_services_ads_base_22_4_0_aar.xml +10 -0
  70. package/android/.idea/libraries/Gradle__com_google_android_gms_play_services_ads_identifier_18_0_0_aar.xml +10 -0
  71. package/android/.idea/libraries/Gradle__com_google_android_gms_play_services_ads_lite_22_4_0_aar.xml +11 -0
  72. package/android/.idea/libraries/Gradle__com_google_android_gms_play_services_appset_16_0_2_aar.xml +10 -0
  73. package/android/.idea/libraries/Gradle__com_google_android_gms_play_services_base_18_2_0_aar.xml +11 -0
  74. package/android/.idea/libraries/Gradle__com_google_android_gms_play_services_basement_18_1_0_aar.xml +11 -0
  75. package/android/.idea/libraries/Gradle__com_google_android_gms_play_services_measurement_base_20_1_2_aar.xml +10 -0
  76. package/android/.idea/libraries/Gradle__com_google_android_gms_play_services_measurement_sdk_api_20_1_2_aar.xml +10 -0
  77. package/android/.idea/libraries/Gradle__com_google_android_gms_play_services_tasks_18_0_2_aar.xml +10 -0
  78. package/android/.idea/libraries/Gradle__com_google_android_ump_user_messaging_platform_2_0_0_aar.xml +10 -0
  79. package/android/.idea/libraries/Gradle__com_google_code_gson_gson_2_8_5.xml +13 -0
  80. package/android/.idea/libraries/Gradle__com_google_guava_listenablefuture_9999_0_empty_to_avoid_conflict_with_guava.xml +9 -0
  81. package/android/.idea/libraries/Gradle__com_huawei_hms_ads_identifier_3_4_58_301_aar.xml +10 -0
  82. package/android/.idea/libraries/Gradle__org_jetbrains_annotations_23_0_0.xml +13 -0
  83. package/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_1_8_21.xml +13 -0
  84. package/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_common_1_8_21.xml +13 -0
  85. package/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_jdk7_1_8_20.xml +13 -0
  86. package/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_jdk8_1_8_20.xml +13 -0
  87. package/android/.idea/libraries/Gradle__org_jetbrains_kotlinx_kotlinx_coroutines_core_jvm_1_7_1.xml +13 -0
  88. package/android/.idea/misc.xml +9 -0
  89. package/android/.idea/modules/android.androidTest.iml +89 -0
  90. package/android/.idea/modules/android.iml +32 -0
  91. package/android/.idea/modules/android.main.iml +94 -0
  92. package/android/.idea/modules/android.unitTest.iml +84 -0
  93. package/android/.idea/modules.xml +11 -0
  94. package/android/.idea/vcs.xml +6 -0
  95. package/android/.project +34 -0
  96. package/android/.settings/org.eclipse.buildship.core.prefs +13 -0
  97. package/android/README.md +14 -0
  98. package/android/build.gradle +87 -0
  99. package/android/gradle/wrapper/gradle-wrapper.jar +0 -0
  100. package/android/gradle/wrapper/gradle-wrapper.properties +6 -0
  101. package/android/gradle.properties +18 -0
  102. package/android/gradlew +172 -0
  103. package/android/gradlew.bat +84 -0
  104. package/android/local.properties +8 -0
  105. package/android/src/main/AndroidManifest.xml +4 -0
  106. package/android/src/main/java/com/reactlibrary/GemiusPluginModule.java +162 -0
  107. package/android/src/main/java/com/reactlibrary/GemiusPluginPackage.java +20 -0
  108. package/index.d.ts +27 -0
  109. package/index.js +66 -0
  110. package/ios/Frameworks/GemiusSDK.xcframework/Info.plist +40 -0
  111. package/ios/Frameworks/GemiusSDK.xcframework/ios-arm64/GemiusSDK.framework/GemiusSDK +0 -0
  112. package/ios/Frameworks/GemiusSDK.xcframework/ios-arm64/GemiusSDK.framework/Headers/AdData.h +23 -0
  113. package/ios/Frameworks/GemiusSDK.xcframework/ios-arm64/GemiusSDK.framework/Headers/AdDefine.h +16 -0
  114. package/ios/Frameworks/GemiusSDK.xcframework/ios-arm64/GemiusSDK.framework/Headers/AdOceanConfig.h +14 -0
  115. package/ios/Frameworks/GemiusSDK.xcframework/ios-arm64/GemiusSDK.framework/Headers/AudienceConfig.h +19 -0
  116. package/ios/Frameworks/GemiusSDK.xcframework/ios-arm64/GemiusSDK.framework/Headers/AudienceEvent.h +18 -0
  117. package/ios/Frameworks/GemiusSDK.xcframework/ios-arm64/GemiusSDK.framework/Headers/BaseConfig.h +19 -0
  118. package/ios/Frameworks/GemiusSDK.xcframework/ios-arm64/GemiusSDK.framework/Headers/BaseEvent.h +37 -0
  119. package/ios/Frameworks/GemiusSDK.xcframework/ios-arm64/GemiusSDK.framework/Headers/Config.h +25 -0
  120. package/ios/Frameworks/GemiusSDK.xcframework/ios-arm64/GemiusSDK.framework/Headers/ContentData.h +15 -0
  121. package/ios/Frameworks/GemiusSDK.xcframework/ios-arm64/GemiusSDK.framework/Headers/EventAdData.h +7 -0
  122. package/ios/Frameworks/GemiusSDK.xcframework/ios-arm64/GemiusSDK.framework/Headers/EventData.h +14 -0
  123. package/ios/Frameworks/GemiusSDK.xcframework/ios-arm64/GemiusSDK.framework/Headers/EventProgramData.h +7 -0
  124. package/ios/Frameworks/GemiusSDK.xcframework/ios-arm64/GemiusSDK.framework/Headers/GEMBillboardAd.h +43 -0
  125. package/ios/Frameworks/GemiusSDK.xcframework/ios-arm64/GemiusSDK.framework/Headers/GEMFullScreenAd.h +44 -0
  126. package/ios/Frameworks/GemiusSDK.xcframework/ios-arm64/GemiusSDK.framework/Headers/GemiusSDK.h +34 -0
  127. package/ios/Frameworks/GemiusSDK.xcframework/ios-arm64/GemiusSDK.framework/Headers/NetpanelConfig.h +17 -0
  128. package/ios/Frameworks/GemiusSDK.xcframework/ios-arm64/GemiusSDK.framework/Headers/NetpanelEvent.h +23 -0
  129. package/ios/Frameworks/GemiusSDK.xcframework/ios-arm64/GemiusSDK.framework/Headers/Player.h +40 -0
  130. package/ios/Frameworks/GemiusSDK.xcframework/ios-arm64/GemiusSDK.framework/Headers/PlayerData.h +8 -0
  131. package/ios/Frameworks/GemiusSDK.xcframework/ios-arm64/GemiusSDK.framework/Headers/ProgramData.h +41 -0
  132. package/ios/Frameworks/GemiusSDK.xcframework/ios-arm64/GemiusSDK.framework/Info.plist +0 -0
  133. package/ios/Frameworks/GemiusSDK.xcframework/ios-arm64/GemiusSDK.framework/Modules/module.modulemap +6 -0
  134. package/ios/Frameworks/GemiusSDK.xcframework/ios-arm64_x86_64-simulator/GemiusSDK.framework/GemiusSDK +0 -0
  135. package/ios/Frameworks/GemiusSDK.xcframework/ios-arm64_x86_64-simulator/GemiusSDK.framework/Headers/AdData.h +23 -0
  136. package/ios/Frameworks/GemiusSDK.xcframework/ios-arm64_x86_64-simulator/GemiusSDK.framework/Headers/AdDefine.h +16 -0
  137. package/ios/Frameworks/GemiusSDK.xcframework/ios-arm64_x86_64-simulator/GemiusSDK.framework/Headers/AdOceanConfig.h +14 -0
  138. package/ios/Frameworks/GemiusSDK.xcframework/ios-arm64_x86_64-simulator/GemiusSDK.framework/Headers/AudienceConfig.h +19 -0
  139. package/ios/Frameworks/GemiusSDK.xcframework/ios-arm64_x86_64-simulator/GemiusSDK.framework/Headers/AudienceEvent.h +18 -0
  140. package/ios/Frameworks/GemiusSDK.xcframework/ios-arm64_x86_64-simulator/GemiusSDK.framework/Headers/BaseConfig.h +19 -0
  141. package/ios/Frameworks/GemiusSDK.xcframework/ios-arm64_x86_64-simulator/GemiusSDK.framework/Headers/BaseEvent.h +37 -0
  142. package/ios/Frameworks/GemiusSDK.xcframework/ios-arm64_x86_64-simulator/GemiusSDK.framework/Headers/Config.h +25 -0
  143. package/ios/Frameworks/GemiusSDK.xcframework/ios-arm64_x86_64-simulator/GemiusSDK.framework/Headers/ContentData.h +15 -0
  144. package/ios/Frameworks/GemiusSDK.xcframework/ios-arm64_x86_64-simulator/GemiusSDK.framework/Headers/EventAdData.h +7 -0
  145. package/ios/Frameworks/GemiusSDK.xcframework/ios-arm64_x86_64-simulator/GemiusSDK.framework/Headers/EventData.h +14 -0
  146. package/ios/Frameworks/GemiusSDK.xcframework/ios-arm64_x86_64-simulator/GemiusSDK.framework/Headers/EventProgramData.h +7 -0
  147. package/ios/Frameworks/GemiusSDK.xcframework/ios-arm64_x86_64-simulator/GemiusSDK.framework/Headers/GEMBillboardAd.h +43 -0
  148. package/ios/Frameworks/GemiusSDK.xcframework/ios-arm64_x86_64-simulator/GemiusSDK.framework/Headers/GEMFullScreenAd.h +44 -0
  149. package/ios/Frameworks/GemiusSDK.xcframework/ios-arm64_x86_64-simulator/GemiusSDK.framework/Headers/GemiusSDK.h +34 -0
  150. package/ios/Frameworks/GemiusSDK.xcframework/ios-arm64_x86_64-simulator/GemiusSDK.framework/Headers/NetpanelConfig.h +17 -0
  151. package/ios/Frameworks/GemiusSDK.xcframework/ios-arm64_x86_64-simulator/GemiusSDK.framework/Headers/NetpanelEvent.h +23 -0
  152. package/ios/Frameworks/GemiusSDK.xcframework/ios-arm64_x86_64-simulator/GemiusSDK.framework/Headers/Player.h +40 -0
  153. package/ios/Frameworks/GemiusSDK.xcframework/ios-arm64_x86_64-simulator/GemiusSDK.framework/Headers/PlayerData.h +8 -0
  154. package/ios/Frameworks/GemiusSDK.xcframework/ios-arm64_x86_64-simulator/GemiusSDK.framework/Headers/ProgramData.h +41 -0
  155. package/ios/Frameworks/GemiusSDK.xcframework/ios-arm64_x86_64-simulator/GemiusSDK.framework/Info.plist +0 -0
  156. package/ios/Frameworks/GemiusSDK.xcframework/ios-arm64_x86_64-simulator/GemiusSDK.framework/Modules/module.modulemap +6 -0
  157. package/ios/Frameworks/GemiusSDK.xcframework/ios-arm64_x86_64-simulator/GemiusSDK.framework/_CodeSignature/CodeDirectory +0 -0
  158. package/ios/Frameworks/GemiusSDK.xcframework/ios-arm64_x86_64-simulator/GemiusSDK.framework/_CodeSignature/CodeRequirements +0 -0
  159. package/ios/Frameworks/GemiusSDK.xcframework/ios-arm64_x86_64-simulator/GemiusSDK.framework/_CodeSignature/CodeRequirements-1 +0 -0
  160. package/ios/Frameworks/GemiusSDK.xcframework/ios-arm64_x86_64-simulator/GemiusSDK.framework/_CodeSignature/CodeResources +417 -0
  161. package/ios/Frameworks/GemiusSDK.xcframework/ios-arm64_x86_64-simulator/GemiusSDK.framework/_CodeSignature/CodeSignature +0 -0
  162. package/ios/GemiusPlugin.h +5 -0
  163. package/ios/GemiusPlugin.m +163 -0
  164. package/ios/GemiusPlugin.xcodeproj/project.pbxproj +313 -0
  165. package/ios/GemiusPlugin.xcodeproj/xcshareddata/xcschemes/GemiusPlugin.xcscheme +67 -0
  166. package/ios/GemiusPlugin.xcworkspace/contents.xcworkspacedata +7 -0
  167. package/ios/GemiusPlugin.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
  168. package/ios/GemiusPlugin.xcworkspace/xcuserdata/kestasvenslauskas.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  169. package/package.json +30 -0
  170. package/react-native-gemius-plugin.podspec +30 -0
@@ -0,0 +1,8 @@
1
+ ## This file must *NOT* be checked into Version Control Systems,
2
+ # as it contains information specific to your local configuration.
3
+ #
4
+ # Location of the SDK. This is only used by Gradle.
5
+ # For customization when using a Version Control System, please read the
6
+ # header note.
7
+ #Fri Jun 17 17:47:51 EEST 2022
8
+ sdk.dir=/Users/kestasvenslauskas/Library/Android/sdk
@@ -0,0 +1,4 @@
1
+ <manifest xmlns:android="http://schemas.android.com/apk/res/android"
2
+ package="com.reactlibrary">
3
+
4
+ </manifest>
@@ -0,0 +1,162 @@
1
+ package com.reactlibrary;
2
+
3
+ import android.util.Log;
4
+
5
+ import com.facebook.react.bridge.ReactApplicationContext;
6
+ import com.facebook.react.bridge.ReactContextBaseJavaModule;
7
+ import com.facebook.react.bridge.ReactMethod;
8
+ import com.facebook.react.bridge.ReadableMap;
9
+ import com.facebook.react.bridge.ReadableMapKeySetIterator;
10
+ import com.gemius.sdk.Config;
11
+ import com.gemius.sdk.audience.AudienceConfig;
12
+ import com.gemius.sdk.audience.AudienceEvent;
13
+ import com.gemius.sdk.audience.BaseEvent;
14
+ import com.gemius.sdk.audience.BaseEvent.EventType;
15
+ import com.gemius.sdk.stream.EventProgramData;
16
+ import com.gemius.sdk.stream.Player;
17
+ import com.gemius.sdk.stream.PlayerData;
18
+ import com.gemius.sdk.stream.ProgramData;
19
+
20
+ public class GemiusPluginModule extends ReactContextBaseJavaModule {
21
+
22
+ private static final String TAG = "GemiusPluginModule";
23
+
24
+ private final ReactApplicationContext reactContext;
25
+
26
+ /**
27
+ * Player used to send video player statistics.
28
+ */
29
+ private Player player;
30
+
31
+ public GemiusPluginModule(ReactApplicationContext reactContext) {
32
+ super(reactContext);
33
+ this.reactContext = reactContext;
34
+ }
35
+
36
+ @Override
37
+ public String getName() {
38
+ return "GemiusPlugin";
39
+ }
40
+
41
+ @ReactMethod
42
+ public void setAppInfo(String app, String version, String gemiusHitCollectorHost, String gemiusPrismIdentifier) {
43
+ Log.i(TAG, "Setting app info: app[" + app + "] version[" + version + "]");
44
+ Config.setAppInfo(app, version);
45
+ AudienceConfig.getSingleton().setHitCollectorHost(gemiusHitCollectorHost);
46
+ AudienceConfig.getSingleton().setScriptIdentifier(gemiusPrismIdentifier);
47
+ }
48
+
49
+ @ReactMethod
50
+ public void setPlayerInfo(String playerId, String serverHost, String accountId) {
51
+ Log.w(TAG, "Initialising player...");
52
+ if (player == null) {
53
+ player = new Player(playerId, serverHost, accountId, new PlayerData());
54
+ player.setContext(reactContext);
55
+ } else {
56
+ Log.w(TAG, "Player already initialised");
57
+ }
58
+ }
59
+
60
+ @ReactMethod
61
+ public void setProgramData(String clipId, String name, Integer duration, String type) {
62
+ Log.d(TAG, "Settings new program data for '" + name + "'");
63
+ ProgramData programData = new ProgramData();
64
+ programData.setName(name);
65
+ programData.setDuration(duration);
66
+
67
+ if (type != null && type.equals("audio")) {
68
+ programData.setProgramType(ProgramData.ProgramType.AUDIO);
69
+ } else {
70
+ programData.setProgramType(ProgramData.ProgramType.VIDEO);
71
+ }
72
+
73
+ player.newProgram(clipId, programData);
74
+ }
75
+
76
+ @ReactMethod
77
+ public void sendPlay(String clipId, Integer offset) {
78
+ Log.d(TAG, "Player PLAY event for '" + clipId + "' offset: " + offset);
79
+ EventProgramData eventProgramData = new EventProgramData();
80
+ eventProgramData.setAutoPlay(true);
81
+ player.programEvent(clipId, offset, Player.EventType.PLAY, eventProgramData);
82
+ }
83
+
84
+ @ReactMethod
85
+ public void sendPause(String clipId, Integer offset) {
86
+ Log.d(TAG, "Player PAUSE event for '" + clipId + "' offset: " + offset);
87
+ player.programEvent(clipId, offset, Player.EventType.PAUSE, null);
88
+ }
89
+
90
+ @ReactMethod
91
+ public void sendStop(String clipId, Integer offset) {
92
+ Log.d(TAG, "Player STOP event for '" + clipId + "' offset: " + offset);
93
+ player.programEvent(clipId, offset, Player.EventType.STOP, null);
94
+ }
95
+
96
+ @ReactMethod
97
+ public void sendBuffer(String clipId, Integer offset) {
98
+ Log.d(TAG, "Player BUFFER event for '" + clipId + "' offset: " + offset);
99
+ player.programEvent(clipId, offset, Player.EventType.BUFFER, null);
100
+ }
101
+
102
+ @ReactMethod
103
+ public void sendClose(String clipId, Integer offset) {
104
+ Log.d(TAG, "Player CLOSE event for '" + clipId + "' offset: " + offset);
105
+ player.programEvent(clipId, offset, Player.EventType.CLOSE, null);
106
+ }
107
+
108
+ @ReactMethod
109
+ public void sendSeek(String clipId, Integer offset) {
110
+ Log.d(TAG, "Player SEEK event for '" + clipId + "' offset: " + offset);
111
+ player.programEvent(clipId, offset, Player.EventType.SEEK, null);
112
+ }
113
+
114
+ @ReactMethod
115
+ public void sendComplete(String clipId, Integer offset) {
116
+ Log.d(TAG, "Player COMPLETE event for '" + clipId + "' offset: " + offset);
117
+ player.programEvent(clipId, offset, Player.EventType.COMPLETE, null);
118
+ }
119
+
120
+ @ReactMethod
121
+ public void sendPageViewedEvent(String gemiusPrismIdentifier, ReadableMap paramsMap) {
122
+ Log.d(TAG, "sendPageViewedEvent() called.");
123
+ AudienceEvent event = new AudienceEvent(this.reactContext);
124
+ event.setScriptIdentifier(gemiusPrismIdentifier);
125
+ event.setEventType(AudienceEvent.EventType.FULL_PAGEVIEW);
126
+ addParamsToEvent(event, paramsMap);
127
+ event.sendEvent();
128
+ }
129
+
130
+ @ReactMethod
131
+ public void sendPartialPageViewedEvent(String gemiusPrismIdentifier, ReadableMap paramsMap) {
132
+ Log.d(TAG, "sendPartialPageViewedEvent() called.");
133
+ AudienceEvent event = new AudienceEvent(this.reactContext);
134
+ event.setScriptIdentifier(gemiusPrismIdentifier);
135
+ event.setEventType(AudienceEvent.EventType.PARTIAL_PAGEVIEW);
136
+ addParamsToEvent(event, paramsMap);
137
+ event.sendEvent();
138
+ }
139
+
140
+ @ReactMethod
141
+ public void sendActionEvent(String gemiusPrismIdentifier, ReadableMap paramsMap) {
142
+ Log.d(TAG, "sendActionEvent() called.");
143
+ AudienceEvent event = new AudienceEvent(this.reactContext);
144
+ event.setScriptIdentifier(gemiusPrismIdentifier);
145
+ event.setEventType(EventType.ACTION);
146
+ addParamsToEvent(event, paramsMap);
147
+ event.sendEvent();
148
+ }
149
+
150
+ private void addParamsToEvent(BaseEvent event, ReadableMap paramsMap) {
151
+ if (paramsMap != null) {
152
+ Log.d(TAG, "Adding extra params to event.");
153
+ ReadableMapKeySetIterator iterator = paramsMap.keySetIterator();
154
+ while (iterator.hasNextKey()) {
155
+ String key = iterator.nextKey();
156
+ String value = paramsMap.getString(key);
157
+ Log.d(TAG, key + " = " + value);
158
+ event.addExtraParameter(key, value);
159
+ }
160
+ }
161
+ }
162
+ }
@@ -0,0 +1,20 @@
1
+ package com.reactlibrary;
2
+
3
+ import com.facebook.react.ReactPackage;
4
+ import com.facebook.react.bridge.NativeModule;
5
+ import com.facebook.react.bridge.ReactApplicationContext;
6
+ import com.facebook.react.uimanager.ViewManager;
7
+ import java.util.Collections;
8
+ import java.util.List;
9
+
10
+ public class GemiusPluginPackage implements ReactPackage {
11
+ @Override
12
+ public List<NativeModule> createNativeModules(ReactApplicationContext reactContext) {
13
+ return Collections.<NativeModule>singletonList(new GemiusPluginModule(reactContext));
14
+ }
15
+
16
+ @Override
17
+ public List<ViewManager> createViewManagers(ReactApplicationContext reactContext) {
18
+ return Collections.emptyList();
19
+ }
20
+ }
package/index.d.ts ADDED
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Duration used for live streams
3
+ */
4
+ export declare const DURATION_LIVE_STREAM = -1;
5
+ export declare type GemiusParams = {
6
+ [key: string]: string | number | boolean | undefined | null;
7
+ };
8
+ export default class Gemius {
9
+ static setAppInfo(
10
+ app: string,
11
+ version: string,
12
+ gemiusHitCollectorHost: string,
13
+ gemiusPrismIdentifier: string,
14
+ ): void;
15
+ static setPlayerInfo(playerId: string, serverHost: string, accountId: string): void;
16
+ static setProgramData(clipId: string, name: string, duration: number, isVideo: boolean): void;
17
+ static sendPlay(clipId: string, offset: number): void;
18
+ static sendPause(clipId: string, offset: number): void;
19
+ static sendBuffer(clipId: string, offset: number): void;
20
+ static sendStop(clipId: string, offset: number): void;
21
+ static sendComplete(clipId: string, offset: number): void;
22
+ static sendClose(clipId: string, offset: number): void;
23
+ static sendSeek(clipId: string, offset: number): void;
24
+ static sendPartialPageViewedEvent(gemiusPrismIdentifier: string, extraParameters?: GemiusParams): void;
25
+ static sendPageViewedEvent(gemiusPrismIdentifier: string, extraParameters?: GemiusParams): void;
26
+ static sendActionEvent(gemiusPrismIdentifier: string, extraParameters?: GemiusParams): void;
27
+ }
package/index.js ADDED
@@ -0,0 +1,66 @@
1
+ import {NativeModules} from 'react-native';
2
+
3
+ const {GemiusPlugin} = NativeModules;
4
+
5
+ const PROGRAM_TYPE_VIDEO = 'video';
6
+ const PROGRAM_TYPE_AUDIO = 'audio';
7
+
8
+ /**
9
+ * Duration used for live streams
10
+ */
11
+ export const DURATION_LIVE_STREAM = -1;
12
+
13
+ export default class Gemius {
14
+ static setAppInfo(app, version, gemiusHitCollectorHost, gemiusPrismIdentifier) {
15
+ GemiusPlugin.setAppInfo(app, version, gemiusHitCollectorHost, gemiusPrismIdentifier);
16
+ }
17
+
18
+ static setPlayerInfo(playerId, serverHost, accountId) {
19
+ GemiusPlugin.setPlayerInfo(playerId, serverHost, accountId);
20
+ }
21
+
22
+ static setProgramData(clipId, name, duration, isVideo) {
23
+ const type = isVideo === true ? PROGRAM_TYPE_VIDEO : PROGRAM_TYPE_AUDIO;
24
+ GemiusPlugin.setProgramData(clipId, name, duration, type);
25
+ }
26
+
27
+ static sendPlay(clipId, offset) {
28
+ GemiusPlugin.sendPlay(clipId, offset);
29
+ }
30
+
31
+ static sendPause(clipId, offset) {
32
+ GemiusPlugin.sendPause(clipId, offset);
33
+ }
34
+
35
+ static sendBuffer(clipId, offset) {
36
+ GemiusPlugin.sendBuffer(clipId, offset);
37
+ }
38
+
39
+ static sendStop(clipId, offset) {
40
+ GemiusPlugin.sendStop(clipId, offset);
41
+ }
42
+
43
+ static sendComplete(clipId, offset) {
44
+ GemiusPlugin.sendComplete(clipId, offset);
45
+ }
46
+
47
+ static sendClose(clipId, offset) {
48
+ GemiusPlugin.sendClose(clipId, offset);
49
+ }
50
+
51
+ static sendSeek(clipId, offset) {
52
+ GemiusPlugin.sendSeek(clipId, offset);
53
+ }
54
+
55
+ static sendPartialPageViewedEvent(gemiusPrismIdentifier, extraParameters = null) {
56
+ GemiusPlugin.sendPartialPageViewedEvent(gemiusPrismIdentifier, extraParameters);
57
+ }
58
+
59
+ static sendPageViewedEvent(gemiusPrismIdentifier, extraParameters = null) {
60
+ GemiusPlugin.sendPageViewedEvent(gemiusPrismIdentifier, extraParameters);
61
+ }
62
+
63
+ static sendActionEvent(gemiusPrismIdentifier, extraParameters = null) {
64
+ GemiusPlugin.sendActionEvent(gemiusPrismIdentifier, extraParameters);
65
+ }
66
+ }
@@ -0,0 +1,40 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3
+ <plist version="1.0">
4
+ <dict>
5
+ <key>AvailableLibraries</key>
6
+ <array>
7
+ <dict>
8
+ <key>LibraryIdentifier</key>
9
+ <string>ios-arm64_x86_64-simulator</string>
10
+ <key>LibraryPath</key>
11
+ <string>GemiusSDK.framework</string>
12
+ <key>SupportedArchitectures</key>
13
+ <array>
14
+ <string>arm64</string>
15
+ <string>x86_64</string>
16
+ </array>
17
+ <key>SupportedPlatform</key>
18
+ <string>ios</string>
19
+ <key>SupportedPlatformVariant</key>
20
+ <string>simulator</string>
21
+ </dict>
22
+ <dict>
23
+ <key>LibraryIdentifier</key>
24
+ <string>ios-arm64</string>
25
+ <key>LibraryPath</key>
26
+ <string>GemiusSDK.framework</string>
27
+ <key>SupportedArchitectures</key>
28
+ <array>
29
+ <string>arm64</string>
30
+ </array>
31
+ <key>SupportedPlatform</key>
32
+ <string>ios</string>
33
+ </dict>
34
+ </array>
35
+ <key>CFBundlePackageType</key>
36
+ <string>XFWK</string>
37
+ <key>XCFrameworkFormatVersion</key>
38
+ <string>1.0</string>
39
+ </dict>
40
+ </plist>
@@ -0,0 +1,23 @@
1
+ #import "ContentData.h"
2
+
3
+ typedef NS_ENUM(NSInteger, GSMAdType) {
4
+ GSM_PROMO = 1,
5
+ GSM_SPOT,
6
+ GSM_SPONSOR,
7
+ GSM_AD_BREAK
8
+ };
9
+
10
+ typedef NS_ENUM(NSInteger, GSMAdFormat) {
11
+ GSMAdFormatUndefined = 0,
12
+ GSMAdFormatVideo = 1,
13
+ GSMAdFormatAudio = 2
14
+ };
15
+
16
+ @interface GSMAdData : GSMContentData
17
+
18
+ @property (nonatomic) GSMAdType adType;
19
+ @property (nonatomic) GSMAdFormat adFormat;
20
+ @property (nonatomic, copy) NSString *campaignClassification;
21
+
22
+ @end
23
+
@@ -0,0 +1,16 @@
1
+ //
2
+ // AdDefine.h
3
+ // GemiusSDK
4
+ //
5
+ // Copyright © 2018 Gemius. All rights reserved.
6
+ //
7
+
8
+ #ifndef AdDefine_h
9
+ #define AdDefine_h
10
+
11
+ typedef void (^onGEMAdReadyBlock)(BOOL hasAd);
12
+ typedef void (^onGEMFailBlock)(NSError *error);
13
+ typedef void (^onGEMAdClosedBlock)(void);
14
+ typedef void (^onGEMContentReadyBlock)(void);
15
+
16
+ #endif /* AdDefine_h */
@@ -0,0 +1,14 @@
1
+ //
2
+ // AdOceanConfig.h
3
+ // GemiusSDK
4
+ //
5
+ // Copyright © 2018 Gemius. All rights reserved.
6
+ //
7
+
8
+ #import <Foundation/Foundation.h>
9
+
10
+ @interface GEMAdOceanConfig : NSObject
11
+ @property(nonatomic, strong) NSString *emitterHost;
12
+ @property(nonatomic, strong) NSString *baseUrl;
13
+ + (GEMAdOceanConfig*)sharedInstance;
14
+ @end
@@ -0,0 +1,19 @@
1
+ //
2
+ // AudienceConfig.h
3
+ // GemiusSDK
4
+ //
5
+ // Copyright © 2018 Gemius. All rights reserved.
6
+ //
7
+
8
+ #import <Foundation/Foundation.h>
9
+ #import "BaseConfig.h"
10
+
11
+ @interface GEMAudienceConfig : GEMBaseConfig
12
+
13
+ @property(nonatomic, assign) BOOL bufferedMode;
14
+ @property(nonatomic, strong) NSNumber *bufferFlushInterval;
15
+ @property(nonatomic, assign) BOOL powerSavingMode;
16
+
17
+ +(GEMAudienceConfig*)sharedInstance;
18
+
19
+ @end
@@ -0,0 +1,18 @@
1
+ //
2
+ // AudienceEvent.h
3
+ // GemiusSDK
4
+ //
5
+ // Copyright © 2018 Gemius. All rights reserved.
6
+ //
7
+
8
+ #import <Foundation/Foundation.h>
9
+ #import "BaseEvent.h"
10
+
11
+ @interface GEMAudienceEvent : GEMBaseEvent
12
+
13
+ //Static methods
14
+ //---------------------------------------
15
+ +(void)flushBufferWithForce:(BOOL)force;
16
+ +(NSTimeInterval)eventLastSendTS;
17
+
18
+ @end
@@ -0,0 +1,19 @@
1
+ //
2
+ // BaseConfig.h
3
+ // GemiusSDK
4
+ //
5
+ // Copyright © 2018 Gemius. All rights reserved.
6
+ //
7
+
8
+ #import <Foundation/Foundation.h>
9
+
10
+ @interface GEMBaseConfig : NSObject
11
+
12
+ @property(nonatomic, strong) NSString *hitcollectorHost;
13
+ @property(nonatomic, strong) NSString *scriptIdentifier;
14
+ @property(nonatomic, strong) NSDictionary *extraParameters;
15
+
16
+ @property(nonatomic, assign) NSInteger bufferSize;
17
+ @property(nonatomic, assign) NSInteger bufferingTimeout;
18
+
19
+ @end
@@ -0,0 +1,37 @@
1
+ //
2
+ // BaseEvent.h
3
+ // GemiusSDK
4
+ //
5
+ // Copyright © 2018 Gemius. All rights reserved.
6
+ //
7
+
8
+ #import <Foundation/Foundation.h>
9
+
10
+ typedef NS_ENUM(NSInteger, GEMEventType) {
11
+ GEM_EVENT_FULL_PAGEVIEW,
12
+ GEM_EVENT_PARTIAL_PAGEVIEW,
13
+ GEM_EVENT_SONAR,
14
+ GEM_EVENT_ACTION,
15
+ GEM_EVENT_STREAM,
16
+ GEM_EVENT_DATA
17
+ };
18
+
19
+ #define GEM_EventTypeString(enum) [@[@"&et=view&hsrc=1",@"&et=view&hsrc=2",@"&et=sonar&hsrc=2", @"&et=action&hsrc=3", @"&et=stream&hsrc=2",@"&et=data&hsrc=3"] objectAtIndex:enum]
20
+
21
+ @interface GEMBaseEvent : NSObject
22
+
23
+ //Properties
24
+ //---------------------------------------
25
+ @property(nonatomic, assign) GEMEventType eventType;
26
+ @property(nonatomic, strong) NSString *hitcollectorHost;
27
+ @property(nonatomic, strong) NSString *scriptIdentifier;
28
+
29
+ //Methods
30
+ //---------------------------------------
31
+ -(void)setExtraParameters:(NSDictionary*)extraParameters;
32
+ -(NSDictionary*)getExtraParameters;
33
+ -(void)addExtraParameter:(NSString*)key value:(NSString*)value;
34
+ -(void)removeExtraParameter:(NSString*)key;
35
+ -(void)sendEvent;
36
+
37
+ @end
@@ -0,0 +1,25 @@
1
+ //
2
+ // Config.h
3
+ // GemiusSDK
4
+ //
5
+ // Copyright © 2018 Gemius. All rights reserved.
6
+ //
7
+
8
+ #import <UIKit/UIKit.h>
9
+
10
+ #define GEM_SDK_NAME @"GemiusSDK"
11
+ #define GEM_SDK_VERSION @"2.0.5"
12
+
13
+ @interface GEMConfig : NSObject
14
+
15
+ @property (nonatomic) BOOL loggingEnabled;
16
+ @property (nonatomic) BOOL cookiesAllowed;
17
+ @property (nonatomic) BOOL IDFACollectionEnabled;
18
+
19
+ + (GEMConfig *)sharedInstance;
20
+ + (NSString *)getSdkVersion;
21
+
22
+ - (void)setAppInfo:(NSString*)name version:(NSString*)version;
23
+ - (NSString *)getUA4WebView;
24
+
25
+ @end
@@ -0,0 +1,15 @@
1
+ #import <Foundation/Foundation.h>
2
+
3
+ @interface GSMContentData : NSObject < NSCopying, NSCoding >
4
+ @property(nonatomic, strong) NSNumber *duration;
5
+ @property(nonatomic, strong) NSString *name;
6
+ @property(nonatomic, strong) NSString *quality;
7
+ @property(nonatomic, strong) NSString *resolution;
8
+ @property(nonatomic, strong) NSString *transmission;
9
+ @property(nonatomic, strong) NSNumber *volume;
10
+
11
+ -(void)addCustomParameter:(NSString*)key value:(NSString*)value;
12
+ -(NSMutableDictionary*)customParameters;
13
+
14
+ @end
15
+
@@ -0,0 +1,7 @@
1
+ #import "EventData.h"
2
+
3
+ @interface GSMEventAdData : GSMEventData
4
+ @property(nonatomic, strong) NSNumber *adPosition;
5
+ @property(nonatomic, strong) NSNumber *breakSize;
6
+ @property(nonatomic, strong) NSNumber *adDuration;
7
+ @end
@@ -0,0 +1,14 @@
1
+ #import <Foundation/Foundation.h>
2
+
3
+ @interface GSMEventData : NSObject
4
+
5
+ @property(nonatomic, strong) NSNumber *autoPlay;
6
+ @property(nonatomic, strong) NSNumber *volume;
7
+ @property(nonatomic, strong) NSString *resolution;
8
+ @property(nonatomic, strong) NSString *quality;
9
+ @property(nonatomic, strong) NSString *listID;
10
+
11
+ - (void)addCustomParameter:(NSString *)key value:(NSString *)value;
12
+
13
+ @end
14
+
@@ -0,0 +1,7 @@
1
+ #import "EventData.h"
2
+
3
+ @interface GSMEventProgramData : GSMEventData
4
+ @property(nonatomic, strong) NSNumber *partID;
5
+ @property(nonatomic, strong) NSNumber *programDuration;
6
+ @end
7
+
@@ -0,0 +1,43 @@
1
+ //
2
+ // GEMBillboardAd.h
3
+ // GemiusSDK
4
+ //
5
+ // Created by Jakub Lyskawka on 09/11/2019.
6
+ // Copyright © 2019 Gemius. All rights reserved.
7
+ //
8
+
9
+ #import <UIKit/UIKit.h>
10
+ #import "AdDefine.h"
11
+
12
+ @interface GEMBillboardAd : UIView
13
+
14
+ @property (nonatomic, copy) onGEMAdReadyBlock onAdReady;
15
+ @property (nonatomic, copy) onGEMFailBlock onFail;
16
+ @property (nonatomic, copy) onGEMAdClosedBlock onAdClosed;
17
+ @property (nonatomic, copy) onGEMContentReadyBlock onContentReady;
18
+ @property (nonatomic, weak) UIViewController *rootViewController;
19
+ @property (nonatomic, readonly) CGSize optimalSize;
20
+
21
+ - (instancetype)initWithFrame:(CGRect)frame andPlacementId:(NSString *)placementId;
22
+ - (void)setPlacementId:(NSString *)placementId;
23
+ - (void)setReloadInterval:(int)intervalSec;
24
+ - (void)setCustomRequestParamWithKey:(NSString *)key andValue:(NSString *)value;
25
+ - (void)load;
26
+
27
+ /*!
28
+ @param keywords - NSArray of strings
29
+ */
30
+ - (void)setKeywords:(NSArray *)keywords;
31
+
32
+ /*!
33
+ @param variables - NSDictionary with NSString for key and NSNumber for value
34
+ */
35
+ - (void)setNumericalVariables:(NSDictionary *)variables;
36
+
37
+ /*!
38
+ @param clusterVariables - NSDictionary with NSString for key and NSArray of NSNumber for value
39
+ */
40
+ - (void)setClusterVariables:(NSDictionary *)clusterVariables;
41
+
42
+ @end
43
+
@@ -0,0 +1,44 @@
1
+ //
2
+ // GEMFullScreenAd.h
3
+ // GemiusSDK
4
+ //
5
+ // Created by Kuba on 26/11/2019.
6
+ // Copyright © 2019 Gemius. All rights reserved.
7
+ //
8
+
9
+ #import <UIKit/UIKit.h>
10
+ #import "AdDefine.h"
11
+
12
+ @interface GEMFullScreenAd : NSObject
13
+
14
+ @property (nonatomic, copy) NSString *placementId;
15
+ @property (nonatomic, weak) UIViewController *rootViewController;
16
+ @property (nonatomic, copy) onGEMAdReadyBlock onAdReady;
17
+ @property (nonatomic, copy) onGEMFailBlock onFail;
18
+ @property (nonatomic, copy) onGEMAdClosedBlock onAdClosed;
19
+ @property (nonatomic, copy) onGEMContentReadyBlock onContentReady;
20
+
21
+ - (instancetype)initWithPlacementId:(NSString *)placementId andRootViewController:(UIViewController *)viewController;
22
+ - (void)setCustomRequestParamWithKey:(NSString *)key andValue:(NSString *)value;
23
+ - (void)setLandscapeAllowed:(BOOL)isAllowed;
24
+ - (void)open;
25
+ - (void)load;
26
+ - (void)close;
27
+
28
+ /*!
29
+ @param keywords - NSArray of strings
30
+ */
31
+ - (void)setKeywords:(NSArray *)keywords;
32
+
33
+ /*!
34
+ @param variables - NSDictionary with NSString for key and NSNumber for value
35
+ */
36
+ - (void)setNumericalVariables:(NSDictionary *)variables;
37
+
38
+ /*!
39
+ @param clusterVariables - NSDictionary with NSString for key and NSArray of NSNumber for value
40
+ */
41
+ - (void)setClusterVariables:(NSDictionary *)clusterVariables;
42
+
43
+ @end
44
+