@rawdash/connector-google-play-console 0.27.0 → 0.28.2
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 +60 -9
- package/dist/index.d.ts +273 -2
- package/dist/index.js +670 -138
- package/dist/index.js.map +1 -1
- package/package.json +3 -2
package/README.md
CHANGED
|
@@ -20,17 +20,19 @@ Authenticate against the Play Developer Reporting API and the Android Publisher
|
|
|
20
20
|
1. In Google Cloud, create a service account at IAM & Admin -> Service Accounts and download a JSON key.
|
|
21
21
|
2. Enable both the "Google Play Developer Reporting API" and the "Google Play Android Developer API" on the Cloud project.
|
|
22
22
|
3. In Google Play Console open Setup -> API access, link the same Cloud project, then invite the service account email and grant it at least the "View app information and download bulk reports" permission for the app you want to sync.
|
|
23
|
-
4.
|
|
24
|
-
5.
|
|
23
|
+
4. For the `gplay_installs_*` resources, grant bucket access inside Play Console, not Google Cloud IAM: the install reports live in a Google-managed Cloud Storage bucket provisioned for your developer account. In Play Console -> Users & permissions, give the service account the account-level "View app information and download bulk reports" permission set to Global (changes can take a few hours to propagate), then copy the bucket id from the Download reports page (the Cloud Storage URI starts with `gs://pubsite_prod_...`) into installsBucketId.
|
|
24
|
+
5. Store the service account JSON as a secret and reference it as serviceAccountJson: secret("GPLAY_SA_JSON").
|
|
25
|
+
6. Set packageName to the reverse-DNS application id of the app (e.g. com.example.app).
|
|
25
26
|
|
|
26
27
|
## Configuration
|
|
27
28
|
|
|
28
|
-
| Field | Type | Required | Description
|
|
29
|
-
| -------------------- | ------ | -------- |
|
|
30
|
-
| `packageName` | string | Yes | Reverse-DNS application id of the Android app (e.g. com.example.app). Visible in the Play Console URL and on Google Play under "About".
|
|
31
|
-
| `serviceAccountJson` | secret | Yes | Contents of the JSON key file for a Google service account that has been granted access to your Play Console developer account with at least the "View app information and download bulk reports" permission. Create one at Google Cloud -> IAM & Admin -> Service Accounts.
|
|
32
|
-
| `lookbackDays` | number | No | How many calendar days to fetch on a full sync. Defaults to 30. The Play Developer Reporting API exposes daily metrics with a typical 2-3 day reporting lag.
|
|
33
|
-
| `reviewLimit` | number | No | How many of the most-recent user reviews to emit as gplay_app_ratings samples. Defaults to 200. Reviews are fetched then ranked newest-first before this cap is applied. The Android Publisher reviews API only surfaces reviews from roughly the past week, so this is a rolling sample, not a full history.
|
|
29
|
+
| Field | Type | Required | Description |
|
|
30
|
+
| -------------------- | ------ | -------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
31
|
+
| `packageName` | string | Yes | Reverse-DNS application id of the Android app (e.g. com.example.app). Visible in the Play Console URL and on Google Play under "About". |
|
|
32
|
+
| `serviceAccountJson` | secret | Yes | Contents of the JSON key file for a Google service account that has been granted access to your Play Console developer account with at least the "View app information and download bulk reports" permission. Create one at Google Cloud -> IAM & Admin -> Service Accounts. |
|
|
33
|
+
| `lookbackDays` | number | No | How many calendar days to fetch on a full sync. Defaults to 30. The Play Developer Reporting API exposes daily metrics with a typical 2-3 day reporting lag. |
|
|
34
|
+
| `reviewLimit` | number | No | How many of the most-recent user reviews to emit as gplay_app_ratings samples. Defaults to 200. Reviews are fetched then ranked newest-first before this cap is applied. The Android Publisher reviews API only surfaces reviews from roughly the past week, so this is a rolling sample, not a full history. |
|
|
35
|
+
| `installsBucketId` | string | No | Cloud Storage bucket id that holds your Play Console reports (e.g. `pubsite_prod_rev_01234567890987654321`), shown via "Copy Cloud Storage URI" on the Play Console Download reports page. Required only for the `gplay_installs_*` resources, which read the monthly stats/installs CSV reports. The bucket is Google-managed; the service account is granted access through Play Console (Users & permissions -> "View app information and download bulk reports", set to Global), not Google Cloud IAM. |
|
|
34
36
|
|
|
35
37
|
## Resources
|
|
36
38
|
|
|
@@ -56,6 +58,55 @@ Authenticate against the Play Developer Reporting API and the Android Publisher
|
|
|
56
58
|
- Unit: stars
|
|
57
59
|
- Dimensions: `package_name`, `review_id`, `reviewer_language`, `device`, `app_version_name`, `android_os_version`
|
|
58
60
|
- Not the lifetime average shown on the Play Store. The reviews API only returns reviews from roughly the past week, so this is a rolling sample; average over a time window downstream for a smoothed rating.
|
|
61
|
+
- **`gplay_installs_overview_by_day`** _(metric)_ - Daily install statistics for the app from the Play Console monthly installs report (stats/installs overview CSV). Primary value is Daily Device Installs; uninstalls, upgrades, active-device installs and user-keyed counts are carried as additional attributes.
|
|
62
|
+
- Endpoint: `GET /storage/v1/b/{installsBucketId}/o/stats%2Finstalls%2Finstalls_{packageName}_{YYYYMM}_overview.csv`
|
|
63
|
+
- Unit: installs
|
|
64
|
+
- Granularity: day
|
|
65
|
+
- Dimensions: `date`, `package_name`
|
|
66
|
+
- Measures: `daily_device_installs`, `daily_device_uninstalls`, `daily_device_upgrades`, `current_device_installs`, `active_device_installs`, `current_user_installs`, `total_user_installs`, `daily_user_installs`, `daily_user_uninstalls`
|
|
67
|
+
- Sourced from the Play Console monthly stats/installs CSV in Cloud Storage. Files are monthly with daily rows and arrive a few days in arrears; the connector refetches the months overlapping the sync window.
|
|
68
|
+
- **`gplay_installs_by_country`** _(metric)_ - Daily install statistics broken down by country/region from the Play Console monthly installs report (stats/installs country CSV).
|
|
69
|
+
- Endpoint: `GET /storage/v1/b/{installsBucketId}/o/stats%2Finstalls%2Finstalls_{packageName}_{YYYYMM}_country.csv`
|
|
70
|
+
- Unit: installs
|
|
71
|
+
- Granularity: day
|
|
72
|
+
- Dimensions: `date`, `package_name`, `country`
|
|
73
|
+
- Measures: `daily_device_installs`, `daily_device_uninstalls`, `daily_device_upgrades`, `current_device_installs`, `active_device_installs`, `current_user_installs`, `total_user_installs`, `daily_user_installs`, `daily_user_uninstalls`
|
|
74
|
+
- Sourced from the Play Console monthly stats/installs CSV in Cloud Storage. Files are monthly with daily rows and arrive a few days in arrears; the connector refetches the months overlapping the sync window.
|
|
75
|
+
- **`gplay_installs_by_app_version`** _(metric)_ - Daily install statistics broken down by app version code from the Play Console monthly installs report (stats/installs app_version CSV).
|
|
76
|
+
- Endpoint: `GET /storage/v1/b/{installsBucketId}/o/stats%2Finstalls%2Finstalls_{packageName}_{YYYYMM}_app_version.csv`
|
|
77
|
+
- Unit: installs
|
|
78
|
+
- Granularity: day
|
|
79
|
+
- Dimensions: `date`, `package_name`, `app_version_code`
|
|
80
|
+
- Measures: `daily_device_installs`, `daily_device_uninstalls`, `daily_device_upgrades`, `current_device_installs`, `active_device_installs`, `current_user_installs`, `total_user_installs`, `daily_user_installs`, `daily_user_uninstalls`
|
|
81
|
+
- Sourced from the Play Console monthly stats/installs CSV in Cloud Storage. Files are monthly with daily rows and arrive a few days in arrears; the connector refetches the months overlapping the sync window.
|
|
82
|
+
- **`gplay_installs_by_device`** _(metric)_ - Daily install statistics broken down by device from the Play Console monthly installs report (stats/installs device CSV).
|
|
83
|
+
- Endpoint: `GET /storage/v1/b/{installsBucketId}/o/stats%2Finstalls%2Finstalls_{packageName}_{YYYYMM}_device.csv`
|
|
84
|
+
- Unit: installs
|
|
85
|
+
- Granularity: day
|
|
86
|
+
- Dimensions: `date`, `package_name`, `device`
|
|
87
|
+
- Measures: `daily_device_installs`, `daily_device_uninstalls`, `daily_device_upgrades`, `current_device_installs`, `active_device_installs`, `current_user_installs`, `total_user_installs`, `daily_user_installs`, `daily_user_uninstalls`
|
|
88
|
+
- Sourced from the Play Console monthly stats/installs CSV in Cloud Storage. Files are monthly with daily rows and arrive a few days in arrears; the connector refetches the months overlapping the sync window.
|
|
89
|
+
- **`gplay_installs_by_os_version`** _(metric)_ - Daily install statistics broken down by Android OS version from the Play Console monthly installs report (stats/installs os_version CSV).
|
|
90
|
+
- Endpoint: `GET /storage/v1/b/{installsBucketId}/o/stats%2Finstalls%2Finstalls_{packageName}_{YYYYMM}_os_version.csv`
|
|
91
|
+
- Unit: installs
|
|
92
|
+
- Granularity: day
|
|
93
|
+
- Dimensions: `date`, `package_name`, `android_os_version`
|
|
94
|
+
- Measures: `daily_device_installs`, `daily_device_uninstalls`, `daily_device_upgrades`, `current_device_installs`, `active_device_installs`, `current_user_installs`, `total_user_installs`, `daily_user_installs`, `daily_user_uninstalls`
|
|
95
|
+
- Sourced from the Play Console monthly stats/installs CSV in Cloud Storage. Files are monthly with daily rows and arrive a few days in arrears; the connector refetches the months overlapping the sync window.
|
|
96
|
+
- **`gplay_installs_by_language`** _(metric)_ - Daily install statistics broken down by language from the Play Console monthly installs report (stats/installs language CSV).
|
|
97
|
+
- Endpoint: `GET /storage/v1/b/{installsBucketId}/o/stats%2Finstalls%2Finstalls_{packageName}_{YYYYMM}_language.csv`
|
|
98
|
+
- Unit: installs
|
|
99
|
+
- Granularity: day
|
|
100
|
+
- Dimensions: `date`, `package_name`, `language`
|
|
101
|
+
- Measures: `daily_device_installs`, `daily_device_uninstalls`, `daily_device_upgrades`, `current_device_installs`, `active_device_installs`, `current_user_installs`, `total_user_installs`, `daily_user_installs`, `daily_user_uninstalls`
|
|
102
|
+
- Sourced from the Play Console monthly stats/installs CSV in Cloud Storage. Files are monthly with daily rows and arrive a few days in arrears; the connector refetches the months overlapping the sync window.
|
|
103
|
+
- **`gplay_installs_by_carrier`** _(metric)_ - Daily install statistics broken down by carrier from the Play Console monthly installs report (stats/installs carrier CSV).
|
|
104
|
+
- Endpoint: `GET /storage/v1/b/{installsBucketId}/o/stats%2Finstalls%2Finstalls_{packageName}_{YYYYMM}_carrier.csv`
|
|
105
|
+
- Unit: installs
|
|
106
|
+
- Granularity: day
|
|
107
|
+
- Dimensions: `date`, `package_name`, `carrier`
|
|
108
|
+
- Measures: `daily_device_installs`, `daily_device_uninstalls`, `daily_device_upgrades`, `current_device_installs`, `active_device_installs`, `current_user_installs`, `total_user_installs`, `daily_user_installs`, `daily_user_uninstalls`
|
|
109
|
+
- Sourced from the Play Console monthly stats/installs CSV in Cloud Storage. Files are monthly with daily rows and arrive a few days in arrears; the connector refetches the months overlapping the sync window.
|
|
59
110
|
|
|
60
111
|
## Example
|
|
61
112
|
|
|
@@ -108,7 +159,7 @@ The Play Developer Reporting API enforces a per-project quota (default 60 reques
|
|
|
108
159
|
- Daily vitals (crash rate, ANR rate, error counts) have a 2-3 day reporting lag on the Play Developer Reporting API; incremental syncs refetch the trailing 3 days. Metric days are reported on the America/Los_Angeles calendar, the only timezone the API supports for daily aggregation.
|
|
109
160
|
- gplay_app_ratings is a rolling sample of recent reviews from the Android Publisher reviews API (default 200, configurable via reviewLimit). Each sample carries one review with its star rating (1-5) as the value; this is not the lifetime average shown on the Play Store, and the reviews API only surfaces reviews from roughly the past week.
|
|
110
161
|
- The apps entity carries only the configured package name; the Play Store listing title is available solely through an Android Publisher edit, which this connector does not create.
|
|
111
|
-
-
|
|
162
|
+
- The `gplay_installs_*` resources read the monthly stats/installs CSV reports from your Play Console Cloud Storage bucket, not the Reporting API; they require installsBucketId plus the account-level "View app information and download bulk reports" permission granted to the service account in Play Console (the bucket is Google-managed; access is not configured through Google Cloud IAM). Files are published monthly (with daily rows) and a few days in arrears, so the current month fills in over time and the most recent days lag. Earnings/financial reports remain out of scope.
|
|
112
163
|
|
|
113
164
|
## Links
|
|
114
165
|
|
package/dist/index.d.ts
CHANGED
|
@@ -8,12 +8,14 @@ declare const configFields: z.ZodObject<{
|
|
|
8
8
|
}, z.core.$strip>;
|
|
9
9
|
lookbackDays: z.ZodOptional<z.ZodNumber>;
|
|
10
10
|
reviewLimit: z.ZodOptional<z.ZodNumber>;
|
|
11
|
+
installsBucketId: z.ZodOptional<z.ZodString>;
|
|
11
12
|
}, z.core.$strip>;
|
|
12
13
|
declare const doc: ConnectorDoc;
|
|
13
14
|
interface GooglePlayConsoleSettings {
|
|
14
15
|
packageName: string;
|
|
15
16
|
lookbackDays?: number;
|
|
16
17
|
reviewLimit?: number;
|
|
18
|
+
installsBucketId?: string;
|
|
17
19
|
}
|
|
18
20
|
declare const gplayCredentials: {
|
|
19
21
|
serviceAccountJson: {
|
|
@@ -201,6 +203,139 @@ declare const googlePlayConsoleResources: {
|
|
|
201
203
|
}, z.core.$strip>;
|
|
202
204
|
};
|
|
203
205
|
};
|
|
206
|
+
readonly gplay_installs_overview_by_day: {
|
|
207
|
+
shape: "metric";
|
|
208
|
+
description: string;
|
|
209
|
+
unit: string;
|
|
210
|
+
granularity: string;
|
|
211
|
+
endpoint: string;
|
|
212
|
+
notes: string;
|
|
213
|
+
dimensions: {
|
|
214
|
+
name: string;
|
|
215
|
+
description: string;
|
|
216
|
+
}[];
|
|
217
|
+
measures: {
|
|
218
|
+
name: string;
|
|
219
|
+
description: string;
|
|
220
|
+
}[];
|
|
221
|
+
responses: {
|
|
222
|
+
[x: string]: z.ZodString;
|
|
223
|
+
};
|
|
224
|
+
};
|
|
225
|
+
readonly gplay_installs_by_country: {
|
|
226
|
+
shape: "metric";
|
|
227
|
+
description: string;
|
|
228
|
+
unit: string;
|
|
229
|
+
granularity: string;
|
|
230
|
+
endpoint: string;
|
|
231
|
+
notes: string;
|
|
232
|
+
dimensions: {
|
|
233
|
+
name: string;
|
|
234
|
+
description: string;
|
|
235
|
+
}[];
|
|
236
|
+
measures: {
|
|
237
|
+
name: string;
|
|
238
|
+
description: string;
|
|
239
|
+
}[];
|
|
240
|
+
responses: {
|
|
241
|
+
[x: string]: z.ZodString;
|
|
242
|
+
};
|
|
243
|
+
};
|
|
244
|
+
readonly gplay_installs_by_app_version: {
|
|
245
|
+
shape: "metric";
|
|
246
|
+
description: string;
|
|
247
|
+
unit: string;
|
|
248
|
+
granularity: string;
|
|
249
|
+
endpoint: string;
|
|
250
|
+
notes: string;
|
|
251
|
+
dimensions: {
|
|
252
|
+
name: string;
|
|
253
|
+
description: string;
|
|
254
|
+
}[];
|
|
255
|
+
measures: {
|
|
256
|
+
name: string;
|
|
257
|
+
description: string;
|
|
258
|
+
}[];
|
|
259
|
+
responses: {
|
|
260
|
+
[x: string]: z.ZodString;
|
|
261
|
+
};
|
|
262
|
+
};
|
|
263
|
+
readonly gplay_installs_by_device: {
|
|
264
|
+
shape: "metric";
|
|
265
|
+
description: string;
|
|
266
|
+
unit: string;
|
|
267
|
+
granularity: string;
|
|
268
|
+
endpoint: string;
|
|
269
|
+
notes: string;
|
|
270
|
+
dimensions: {
|
|
271
|
+
name: string;
|
|
272
|
+
description: string;
|
|
273
|
+
}[];
|
|
274
|
+
measures: {
|
|
275
|
+
name: string;
|
|
276
|
+
description: string;
|
|
277
|
+
}[];
|
|
278
|
+
responses: {
|
|
279
|
+
[x: string]: z.ZodString;
|
|
280
|
+
};
|
|
281
|
+
};
|
|
282
|
+
readonly gplay_installs_by_os_version: {
|
|
283
|
+
shape: "metric";
|
|
284
|
+
description: string;
|
|
285
|
+
unit: string;
|
|
286
|
+
granularity: string;
|
|
287
|
+
endpoint: string;
|
|
288
|
+
notes: string;
|
|
289
|
+
dimensions: {
|
|
290
|
+
name: string;
|
|
291
|
+
description: string;
|
|
292
|
+
}[];
|
|
293
|
+
measures: {
|
|
294
|
+
name: string;
|
|
295
|
+
description: string;
|
|
296
|
+
}[];
|
|
297
|
+
responses: {
|
|
298
|
+
[x: string]: z.ZodString;
|
|
299
|
+
};
|
|
300
|
+
};
|
|
301
|
+
readonly gplay_installs_by_language: {
|
|
302
|
+
shape: "metric";
|
|
303
|
+
description: string;
|
|
304
|
+
unit: string;
|
|
305
|
+
granularity: string;
|
|
306
|
+
endpoint: string;
|
|
307
|
+
notes: string;
|
|
308
|
+
dimensions: {
|
|
309
|
+
name: string;
|
|
310
|
+
description: string;
|
|
311
|
+
}[];
|
|
312
|
+
measures: {
|
|
313
|
+
name: string;
|
|
314
|
+
description: string;
|
|
315
|
+
}[];
|
|
316
|
+
responses: {
|
|
317
|
+
[x: string]: z.ZodString;
|
|
318
|
+
};
|
|
319
|
+
};
|
|
320
|
+
readonly gplay_installs_by_carrier: {
|
|
321
|
+
shape: "metric";
|
|
322
|
+
description: string;
|
|
323
|
+
unit: string;
|
|
324
|
+
granularity: string;
|
|
325
|
+
endpoint: string;
|
|
326
|
+
notes: string;
|
|
327
|
+
dimensions: {
|
|
328
|
+
name: string;
|
|
329
|
+
description: string;
|
|
330
|
+
}[];
|
|
331
|
+
measures: {
|
|
332
|
+
name: string;
|
|
333
|
+
description: string;
|
|
334
|
+
}[];
|
|
335
|
+
responses: {
|
|
336
|
+
[x: string]: z.ZodString;
|
|
337
|
+
};
|
|
338
|
+
};
|
|
204
339
|
};
|
|
205
340
|
declare const id = "google-play-console";
|
|
206
341
|
declare class GooglePlayConsoleConnector extends BaseConnector<GooglePlayConsoleSettings, GplayCredentials> {
|
|
@@ -363,8 +498,143 @@ declare class GooglePlayConsoleConnector extends BaseConnector<GooglePlayConsole
|
|
|
363
498
|
}, z.core.$strip>;
|
|
364
499
|
};
|
|
365
500
|
};
|
|
501
|
+
readonly gplay_installs_overview_by_day: {
|
|
502
|
+
shape: "metric";
|
|
503
|
+
description: string;
|
|
504
|
+
unit: string;
|
|
505
|
+
granularity: string;
|
|
506
|
+
endpoint: string;
|
|
507
|
+
notes: string;
|
|
508
|
+
dimensions: {
|
|
509
|
+
name: string;
|
|
510
|
+
description: string;
|
|
511
|
+
}[];
|
|
512
|
+
measures: {
|
|
513
|
+
name: string;
|
|
514
|
+
description: string;
|
|
515
|
+
}[];
|
|
516
|
+
responses: {
|
|
517
|
+
[x: string]: z.ZodString;
|
|
518
|
+
};
|
|
519
|
+
};
|
|
520
|
+
readonly gplay_installs_by_country: {
|
|
521
|
+
shape: "metric";
|
|
522
|
+
description: string;
|
|
523
|
+
unit: string;
|
|
524
|
+
granularity: string;
|
|
525
|
+
endpoint: string;
|
|
526
|
+
notes: string;
|
|
527
|
+
dimensions: {
|
|
528
|
+
name: string;
|
|
529
|
+
description: string;
|
|
530
|
+
}[];
|
|
531
|
+
measures: {
|
|
532
|
+
name: string;
|
|
533
|
+
description: string;
|
|
534
|
+
}[];
|
|
535
|
+
responses: {
|
|
536
|
+
[x: string]: z.ZodString;
|
|
537
|
+
};
|
|
538
|
+
};
|
|
539
|
+
readonly gplay_installs_by_app_version: {
|
|
540
|
+
shape: "metric";
|
|
541
|
+
description: string;
|
|
542
|
+
unit: string;
|
|
543
|
+
granularity: string;
|
|
544
|
+
endpoint: string;
|
|
545
|
+
notes: string;
|
|
546
|
+
dimensions: {
|
|
547
|
+
name: string;
|
|
548
|
+
description: string;
|
|
549
|
+
}[];
|
|
550
|
+
measures: {
|
|
551
|
+
name: string;
|
|
552
|
+
description: string;
|
|
553
|
+
}[];
|
|
554
|
+
responses: {
|
|
555
|
+
[x: string]: z.ZodString;
|
|
556
|
+
};
|
|
557
|
+
};
|
|
558
|
+
readonly gplay_installs_by_device: {
|
|
559
|
+
shape: "metric";
|
|
560
|
+
description: string;
|
|
561
|
+
unit: string;
|
|
562
|
+
granularity: string;
|
|
563
|
+
endpoint: string;
|
|
564
|
+
notes: string;
|
|
565
|
+
dimensions: {
|
|
566
|
+
name: string;
|
|
567
|
+
description: string;
|
|
568
|
+
}[];
|
|
569
|
+
measures: {
|
|
570
|
+
name: string;
|
|
571
|
+
description: string;
|
|
572
|
+
}[];
|
|
573
|
+
responses: {
|
|
574
|
+
[x: string]: z.ZodString;
|
|
575
|
+
};
|
|
576
|
+
};
|
|
577
|
+
readonly gplay_installs_by_os_version: {
|
|
578
|
+
shape: "metric";
|
|
579
|
+
description: string;
|
|
580
|
+
unit: string;
|
|
581
|
+
granularity: string;
|
|
582
|
+
endpoint: string;
|
|
583
|
+
notes: string;
|
|
584
|
+
dimensions: {
|
|
585
|
+
name: string;
|
|
586
|
+
description: string;
|
|
587
|
+
}[];
|
|
588
|
+
measures: {
|
|
589
|
+
name: string;
|
|
590
|
+
description: string;
|
|
591
|
+
}[];
|
|
592
|
+
responses: {
|
|
593
|
+
[x: string]: z.ZodString;
|
|
594
|
+
};
|
|
595
|
+
};
|
|
596
|
+
readonly gplay_installs_by_language: {
|
|
597
|
+
shape: "metric";
|
|
598
|
+
description: string;
|
|
599
|
+
unit: string;
|
|
600
|
+
granularity: string;
|
|
601
|
+
endpoint: string;
|
|
602
|
+
notes: string;
|
|
603
|
+
dimensions: {
|
|
604
|
+
name: string;
|
|
605
|
+
description: string;
|
|
606
|
+
}[];
|
|
607
|
+
measures: {
|
|
608
|
+
name: string;
|
|
609
|
+
description: string;
|
|
610
|
+
}[];
|
|
611
|
+
responses: {
|
|
612
|
+
[x: string]: z.ZodString;
|
|
613
|
+
};
|
|
614
|
+
};
|
|
615
|
+
readonly gplay_installs_by_carrier: {
|
|
616
|
+
shape: "metric";
|
|
617
|
+
description: string;
|
|
618
|
+
unit: string;
|
|
619
|
+
granularity: string;
|
|
620
|
+
endpoint: string;
|
|
621
|
+
notes: string;
|
|
622
|
+
dimensions: {
|
|
623
|
+
name: string;
|
|
624
|
+
description: string;
|
|
625
|
+
}[];
|
|
626
|
+
measures: {
|
|
627
|
+
name: string;
|
|
628
|
+
description: string;
|
|
629
|
+
}[];
|
|
630
|
+
responses: {
|
|
631
|
+
[x: string]: z.ZodString;
|
|
632
|
+
};
|
|
633
|
+
};
|
|
366
634
|
};
|
|
367
635
|
static readonly schemas: object & {
|
|
636
|
+
[x: string]: z.ZodString;
|
|
637
|
+
} & {
|
|
368
638
|
readonly crash_rate: z.ZodObject<{
|
|
369
639
|
rows: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
370
640
|
startTime: z.ZodObject<{
|
|
@@ -449,14 +719,15 @@ declare class GooglePlayConsoleConnector extends BaseConnector<GooglePlayConsole
|
|
|
449
719
|
auth: "required";
|
|
450
720
|
};
|
|
451
721
|
};
|
|
452
|
-
private
|
|
453
|
-
private fetchOAuthToken;
|
|
722
|
+
private tokenProvider?;
|
|
454
723
|
private getAccessToken;
|
|
455
724
|
private runMetricQuery;
|
|
456
725
|
private syncApps;
|
|
457
726
|
private fetchReviews;
|
|
458
727
|
private syncReviews;
|
|
459
728
|
private drainMetricPhase;
|
|
729
|
+
private downloadInstallsCsv;
|
|
730
|
+
private syncInstallsBreakdown;
|
|
460
731
|
sync(options: SyncOptions, storage: StorageHandle, signal?: AbortSignal): Promise<SyncResult>;
|
|
461
732
|
}
|
|
462
733
|
|