crowdplaysdk 0.2.6 → 0.3.1
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/README.md +2 -0
- package/ios/CrowdPlayRNModule.swift +3 -0
- package/ios/wire.rb +1 -1
- package/lib/index.d.ts +4 -0
- package/llms.txt +11 -1
- package/package.json +1 -1
- package/src/index.ts +4 -0
package/README.md
CHANGED
|
@@ -92,6 +92,8 @@ What the app is about — read carefully:
|
|
|
92
92
|
import CrowdPlay, { CrowdPlayConsentScreen, CrowdPlayVideoView } from 'crowdplaysdk';
|
|
93
93
|
|
|
94
94
|
CrowdPlay.configure({ serverUrl: 'https://…', appKey: 'liva_pk_…' });
|
|
95
|
+
// Voice-only app? add audioOnly: true — the camera is never touched
|
|
96
|
+
// (no camera permission, no video captured or uploaded).
|
|
95
97
|
|
|
96
98
|
// 1. Consent (REQUIRED — join() throws without it):
|
|
97
99
|
<CrowdPlayConsentScreen onConsent={(grant) => setConsent(grant)} />
|
|
@@ -199,6 +199,9 @@ public final class CrowdPlayRNModule: RCTEventEmitter {
|
|
|
199
199
|
return
|
|
200
200
|
}
|
|
201
201
|
var configuration = CrowdPlayConfiguration(serverURL: url, appKey: appKey)
|
|
202
|
+
if let audioOnly = config["audioOnly"] as? Bool {
|
|
203
|
+
configuration.audioOnly = audioOnly
|
|
204
|
+
}
|
|
202
205
|
if let cellular = config["videoUploadsOnCellular"] as? Bool {
|
|
203
206
|
configuration.videoUploadsOnCellular = cellular
|
|
204
207
|
}
|
package/ios/wire.rb
CHANGED
|
@@ -25,7 +25,7 @@ SDK_URL = 'https://github.com/symbiateam/crowdplaysdk'
|
|
|
25
25
|
# The ENGINE release this bridge was tested against. The npm package
|
|
26
26
|
# version may be AHEAD of this (bridge/docs fixes ship without a new
|
|
27
27
|
# engine binary); that is deliberate, not drift.
|
|
28
|
-
SDK_VERSION = '0.
|
|
28
|
+
SDK_VERSION = '0.3.1'
|
|
29
29
|
BRIDGE_FILES = ['CrowdPlayRNModule.swift', 'CrowdPlayRNVideoView.swift', 'CrowdPlayReactNative.m'].freeze
|
|
30
30
|
|
|
31
31
|
project_name = ARGV[0] or abort 'usage: ruby wire.rb <YourProjectName>'
|
package/lib/index.d.ts
CHANGED
|
@@ -37,6 +37,10 @@ export interface CrowdPlayConfig {
|
|
|
37
37
|
serverUrl: string;
|
|
38
38
|
/** From the CrowdPlay dashboard. Also your data-access credential. */
|
|
39
39
|
appKey: string;
|
|
40
|
+
/** AUDIO-ONLY app: the camera is never touched — no camera permission,
|
|
41
|
+
* no video captured or uploaded, voice-only calls. The audio path is
|
|
42
|
+
* identical to an A/V app. Requires engine 0.3.0+. Default false. */
|
|
43
|
+
audioOnly?: boolean;
|
|
40
44
|
/** Video (~2 GB/session) rides cellular too when true. Audio + metadata
|
|
41
45
|
* always upload on any network. Default false. */
|
|
42
46
|
videoUploadsOnCellular?: boolean;
|
package/llms.txt
CHANGED
|
@@ -150,8 +150,13 @@ Named exports: CrowdPlayConsentScreen (props: onConsent(grant)), CrowdPlayVideoV
|
|
|
150
150
|
(props: participant: string | 'local', plus standard View style).
|
|
151
151
|
|
|
152
152
|
Types:
|
|
153
|
-
CrowdPlayConfig { serverUrl; appKey;
|
|
153
|
+
CrowdPlayConfig { serverUrl; appKey; audioOnly?=false;
|
|
154
|
+
videoUploadsOnCellular?=false;
|
|
154
155
|
uploadDuringCall?=true; callQuality? }
|
|
156
|
+
// audioOnly (0.3.0+): the camera is never touched — no
|
|
157
|
+
// camera permission, no video captured or uploaded,
|
|
158
|
+
// voice-only calls. Skip NSCameraUsageDescription, skip
|
|
159
|
+
// CrowdPlayVideoView and every camera control.
|
|
155
160
|
// uploadDuringCall: segments upload while recording (one
|
|
156
161
|
// at a time, auto-paused when call quality drops); the
|
|
157
162
|
// post-call wait is ~the final segment + manifests.
|
|
@@ -208,6 +213,11 @@ Humans use https://dashboard.crowdplay.ai directly (sign in, download).
|
|
|
208
213
|
pauses uploads until next launch (nothing lost).
|
|
209
214
|
- Participants should wear wired or closed-back headphones (crossTalk
|
|
210
215
|
warns live when they don't).
|
|
216
|
+
- SIMULATOR detection (engine 0.3.0+): on any Simulator — including CLOUD
|
|
217
|
+
previews — doctor()'s "platform" check fails and join() rejects with a
|
|
218
|
+
clear message instead of a cryptic audio-engine error. Expected, not a
|
|
219
|
+
bug: no microphone exists there. A doctor() run also flips the "health
|
|
220
|
+
check" step on the builder's dashboard checklist automatically.
|
|
211
221
|
- Slow join or glitchy first seconds of a recording = poor radio
|
|
212
222
|
environment (congested 2.4 GHz WiFi + Bluetooth share the antenna) or
|
|
213
223
|
Metro/debugger overhead — NOT an integration bug. Capture self-heals.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "crowdplaysdk",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.1",
|
|
4
4
|
"description": "CrowdPlay lossless conversation capture for React Native (iOS). Studio-grade per-participant recording during live video calls, delivered to CrowdPlay automatically.",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"types": "lib/index.d.ts",
|
package/src/index.ts
CHANGED
|
@@ -45,6 +45,10 @@ export interface CrowdPlayConfig {
|
|
|
45
45
|
serverUrl: string;
|
|
46
46
|
/** From the CrowdPlay dashboard. Also your data-access credential. */
|
|
47
47
|
appKey: string;
|
|
48
|
+
/** AUDIO-ONLY app: the camera is never touched — no camera permission,
|
|
49
|
+
* no video captured or uploaded, voice-only calls. The audio path is
|
|
50
|
+
* identical to an A/V app. Requires engine 0.3.0+. Default false. */
|
|
51
|
+
audioOnly?: boolean;
|
|
48
52
|
/** Video (~2 GB/session) rides cellular too when true. Audio + metadata
|
|
49
53
|
* always upload on any network. Default false. */
|
|
50
54
|
videoUploadsOnCellular?: boolean;
|