3
3
4
4
use HMS \AccountKit \AccountKit ;
5
5
use HMS \Core \Wrapper ;
6
- use InvalidArgumentException ;
7
- use stdClass ;
8
6
9
7
/**
10
8
* Class HMS AnalyticsKit Wrapper
13
11
* @author Martin Zeitler
14
12
*/
15
13
class AnalyticsKit extends Wrapper {
16
-
17
14
private string |null $ url_user_data_export ;
18
15
private string |null $ url_user_data_export_status ;
19
16
private string |null $ url_user_data_deletion ;
@@ -27,7 +24,6 @@ class AnalyticsKit extends Wrapper {
27
24
private string |null $ url_report_dimensions_list ;
28
25
29
26
public function __construct ( array $ config ) {
30
-
31
27
parent ::__construct ( $ config );
32
28
$ this ->post_init ();
33
29
@@ -59,113 +55,106 @@ protected function auth_headers(): array {
59
55
return [
60
56
"Content-Type: application/json; charset=utf-8 " ,
61
57
"Authorization: Bearer $ this ->access_token " ,
62
- "x-product -id: $ this ->product_id " ,
63
- "x-app -id: $ this ->oauth2_client_id "
58
+ "x-app -id: $ this ->oauth2_client_id " ,
59
+ "x-product -id: $ this ->product_id "
64
60
];
65
61
}
66
62
67
63
/**
68
64
* Exporting Personal Data.
69
- *
70
65
* @see <a href="https://developer.huawei.com/consumer/en/doc/development/HMSCore-References/android-api-export-personal-data-0000001050987229">Exporting Personal Data</a>
71
- * @param string|null $aaid
72
- * @return stdClass
66
+ * @param string|null $aaid AAID, which can be obtained using the API on the device side.
67
+ * @return \ stdClass
73
68
*/
74
- public function request_user_data_export ( string | null $ aaid ): stdClass {
69
+ public function request_user_data_export ( ? string $ aaid= null ): \ stdClass {
75
70
$ payload = [];
76
71
if ($ aaid != null ) {$ payload = ['aaid ' => $ aaid ];}
77
- return $ this ->request ('POST ' , $ this ->url_user_data_export , parent :: auth_headers (), $ payload );
72
+ return $ this ->request ('POST ' , $ this ->url_user_data_export , $ this -> auth_headers (), $ payload );
78
73
}
79
74
80
75
/**
81
76
* Querying the Export Task Status.
82
- *
83
77
* @see <a href="https://developer.huawei.com/consumer/en/doc/development/HMSCore-References/android-api-query-export-task-status-new-0000001135560119">Querying the Export Task Status</a>
84
- * @param ? string $aaid
85
- * @return stdClass
78
+ * @param string|null $aaid AAID, which can be obtained using the API on the device side.
79
+ * @return \ stdClass
86
80
*/
87
- public function request_user_data_export_status ( ?string $ aaid ): stdClass {
81
+ public function request_user_data_export_status ( ?string $ aaid= null ): \ stdClass {
88
82
$ payload = [];
89
83
if ($ aaid != null ) {$ payload = ['aaid ' => $ aaid ];}
90
- return $ this ->request ('POST ' , $ this ->url_user_data_export_status , parent :: auth_headers (), $ payload );
84
+ return $ this ->request ('POST ' , $ this ->url_user_data_export_status , $ this -> auth_headers (), $ payload );
91
85
}
92
86
93
87
/**
94
88
* Deleting Personal Data.
95
- *
96
89
* @see <a href="https://developer.huawei.com/consumer/en/doc/development/HMSCore-References/android-api-delete-personal-data-0000001050747213">Deleting Personal Data</a>
97
- * @param ? string $aaid
98
- * @return stdClass
90
+ * @param string|null $aaid AAID, which can be obtained using the API on the device side.
91
+ * @return \ stdClass
99
92
*/
100
- public function request_user_data_deletion ( ?string $ aaid ): stdClass {
93
+ public function request_user_data_deletion ( ?string $ aaid= null ): \ stdClass {
101
94
$ payload = [];
102
95
if ($ aaid != null ) {$ payload = ['aaid ' => $ aaid ];}
103
- return $ this ->request ('POST ' , $ this ->url_user_data_deletion , parent :: auth_headers (), $ payload );
96
+ return $ this ->request ('POST ' , $ this ->url_user_data_deletion , $ this -> auth_headers (), $ payload );
104
97
}
105
98
106
99
/**
107
100
* Querying the Deletion Task Status.
108
- *
109
101
* @see <a href="https://developer.huawei.com/consumer/en/doc/development/HMSCore-References/android-api-query-deletion-task-status-new-0000001088418298">Querying the Deletion Task Status</a>
110
- * @param ? string $aaid
111
- * @return stdClass
102
+ * @param string|null $aaid AAID, which can be obtained using the API on the device side.
103
+ * @return \ stdClass
112
104
*/
113
- public function request_user_data_deletion_status ( ?string $ aaid ): stdClass {
105
+ public function request_user_data_deletion_status ( ?string $ aaid ): \ stdClass {
114
106
$ payload = [];
115
107
if ($ aaid != null ) {$ payload = ['aaid ' => $ aaid ];}
116
- return $ this ->request ('POST ' , $ this ->url_user_data_deletion_status , parent :: auth_headers (), $ payload );
108
+ return $ this ->request ('POST ' , $ this ->url_user_data_deletion_status , $ this -> auth_headers (), $ payload );
117
109
}
118
110
119
111
/**
120
112
* Creating a Data Export Task.
121
- *
122
113
* @see <a href="https://developer.huawei.com/consumer/en/doc/development/HMSCore-References/android-api-create-data-export-task-0000001050987231#section195846692412">Creating a Data Export Task</a>
123
- * @param ? string $aaid
124
- * @return stdClass
114
+ * @param string|null $aaid AAID, which can be obtained using the API on the device side.
115
+ * @return \ stdClass
125
116
*/
126
- public function request_raw_data_export ( ?string $ aaid ): stdClass {
117
+ public function request_raw_data_export ( ?string $ aaid ): \ stdClass {
127
118
$ payload = [];
128
119
if ($ aaid != null ) {$ payload = ['aaid ' => $ aaid ];}
129
- return $ this ->request ('POST ' , $ this ->url_user_data_export , parent :: auth_headers (), $ payload );
120
+ return $ this ->request ('POST ' , $ this ->url_user_data_export , $ this -> auth_headers (), $ payload );
130
121
}
131
122
132
123
/**
133
124
* Receiving the Execution Status of a Data Export Task.
134
125
* @see <a href="https://developer.huawei.com/consumer/en/doc/development/HMSCore-References/android-api-create-data-export-task-0000001050987231#section195846692412">Receiving the Execution Status of a Data Export Task</a>
135
- * @return stdClass
126
+ * @return \ stdClass
136
127
*/
137
- public function receive_raw_data_export_status ( ): stdClass {
138
- return $ this ->request ('POST ' , $ this ->url_user_data_export_status , parent :: auth_headers (), []);
128
+ public function receive_raw_data_export_status ( ): \ stdClass {
129
+ return $ this ->request ('POST ' , $ this ->url_user_data_export_status , $ this -> auth_headers (), []);
139
130
}
140
131
141
132
/**
142
133
* Importing Custom User Attributes.
143
- *
144
134
* @see <a href="https://developer.huawei.com/consumer/en/doc/development/HMSCore-References/android-api-import-customized-user-attributes-0000001050747215">Importing Custom User Attributes</a>
145
135
* @param array $data
146
- * @return stdClass|false
136
+ * @return \ stdClass|false
147
137
*/
148
- public function data_collection_import_user ( array $ data ): stdClass |false {
138
+ public function data_collection_import_user ( array $ data ): \ stdClass |false {
149
139
if (sizeof ($ data ) < 1 || sizeof ($ data ) > 100 ) {
150
- throw new InvalidArgumentException ('the userdata_set must have 1-100 items ' );
140
+ throw new \ InvalidArgumentException ('the userdata_set must have 1-100 items ' );
151
141
}
152
142
$ payload = [
153
143
'data_type ' => 1 ,
154
144
'userdata_set ' => $ data
155
145
];
156
- return $ this ->request ('POST ' , $ this ->url_data_collection_import_user , parent :: auth_headers (), $ payload );
146
+ return $ this ->request ('POST ' , $ this ->url_data_collection_import_user , $ this -> auth_headers (), $ payload );
157
147
}
158
148
159
149
/**
160
150
* Importing Content.
161
- *
162
151
* @see <a href="https://developer.huawei.com/consumer/en/doc/development/HMSCore-References/android-api-import-content-0000001205881011">Importing Content</a>
163
152
* @param array $data
164
- * @return stdClass
153
+ * @return \ stdClass
165
154
*/
166
- public function data_collection_import_item ( array $ data ): stdClass {
155
+ public function data_collection_import_item ( array $ data ): \ stdClass {
167
156
if (sizeof ($ data ) < 1 || sizeof ($ data ) > 100 ) {
168
- throw new InvalidArgumentException ('the item_set must have 1-100 items ' );
157
+ throw new \ InvalidArgumentException ('the item_set must have 1-100 items ' );
169
158
}
170
159
$ payload = [
171
160
'data_type ' => 2 ,
@@ -176,14 +165,13 @@ public function data_collection_import_item( array $data ): stdClass {
176
165
177
166
/**
178
167
* Reporting User Behavior.
179
- *
180
168
* @see <a href="https://developer.huawei.com/consumer/en/doc/development/HMSCore-References/android-api-report-user-behavior-0000001205631635">Reporting User Behavior</a>
181
169
* @param array $data
182
- * @return stdClass
170
+ * @return \ stdClass
183
171
*/
184
- public function data_collection_import_event ( array $ data ): stdClass {
172
+ public function data_collection_import_event ( array $ data ): \ stdClass {
185
173
if (sizeof ($ data ) < 1 || sizeof ($ data ) > 100 ) {
186
- throw new InvalidArgumentException ('the event_set must have 1-100 items ' );
174
+ throw new \ InvalidArgumentException ('the event_set must have 1-100 items ' );
187
175
}
188
176
$ payload = [
189
177
'data_type ' => 3 ,
@@ -198,16 +186,15 @@ public function data_collection_import_event( array $data ): stdClass {
198
186
199
187
/**
200
188
* Querying Open Metrics and Dimensions.
201
- *
202
189
* @param string $lang
203
190
* @param int $size
204
191
* @param int $curr_page
205
- * @return stdClass
192
+ * @return \ stdClass
206
193
* @see <a href="https://developer.huawei.com/consumer/en/doc/development/HMSCore-References/querying-open-indicators-and-dimensions-0000001152958663">Querying Open Metrics and Dimensions</a>
207
194
*/
208
- public function query_metrics_and_dimensions ( string $ lang ='en ' , int $ size =10 , int $ curr_page =1 ): stdClass {
195
+ public function query_metrics_and_dimensions ( string $ lang ='en ' , int $ size =10 , int $ curr_page =1 ): \ stdClass {
209
196
if (! in_array ($ lang , ['en ' , 'cn ' , 'ru ' ])) {
210
- throw new InvalidArgumentException ('lang must must be one of: en, cn, ru ' );
197
+ throw new \ InvalidArgumentException ('lang must must be one of: en, cn, ru ' );
211
198
}
212
199
$ payload = [
213
200
'lang ' => $ lang ,
@@ -219,18 +206,17 @@ public function query_metrics_and_dimensions( string $lang='en', int $size=10, i
219
206
220
207
/**
221
208
* Querying Dimension Values.
222
- *
223
209
* @param string $metric
224
210
* @param string $dimension
225
211
* @param string $lang
226
212
* @param int $size
227
213
* @param int $from
228
- * @return stdClass
214
+ * @return \ stdClass
229
215
* @see <a href="https://developer.huawei.com/consumer/en/doc/development/HMSCore-References/querying-dimension-values-0000001106240464">Querying Dimension Values</a>
230
216
*/
231
- public function query_dimensions ( string $ metric , string $ dimension , string $ lang ='en ' , int $ size =10 , int $ from =0 ): stdClass {
217
+ public function query_dimensions ( string $ metric , string $ dimension , string $ lang ='en ' , int $ size =10 , int $ from =0 ): \ stdClass {
232
218
if (! in_array ($ lang , ['en ' , 'cn ' , 'ru ' ])) {
233
- throw new InvalidArgumentException ('lang must must be one of: en, cn, ru ' );
219
+ throw new \ InvalidArgumentException ('lang must must be one of: en, cn, ru ' );
234
220
}
235
221
$ payload = [
236
222
'metric_name ' => $ metric ,
@@ -244,7 +230,6 @@ public function query_dimensions( string $metric, string $dimension, string $lan
244
230
245
231
/**
246
232
* Querying Statistical Metrics.
247
- *
248
233
* @param string $metric
249
234
* @param array $dimensions
250
235
* @param string|null $start_date
@@ -254,12 +239,12 @@ public function query_dimensions( string $metric, string $dimension, string $lan
254
239
* @param string $lang
255
240
* @param int $size
256
241
* @param int $curr_page
257
- * @return stdClass
242
+ * @return \ stdClass
258
243
* @see <a href="https://developer.huawei.com/consumer/en/doc/development/HMSCore-References/querying-tatistical-indicators-0000001152959491">Querying Statistical Metrics</a>
259
244
*/
260
- public function query_metrics ( string $ metric , array $ dimensions , string |null $ start_date , string |null $ end_date , string |null $ filters , string |null $ order_by , string $ lang ='en ' , int $ size =10 , int $ curr_page =1 ): stdClass {
245
+ public function query_metrics ( string $ metric , array $ dimensions , string |null $ start_date , string |null $ end_date , string |null $ filters , string |null $ order_by , string $ lang ='en ' , int $ size =10 , int $ curr_page =1 ): \ stdClass {
261
246
if (! in_array ($ lang , ['en ' , 'cn ' , 'ru ' ])) {
262
- throw new InvalidArgumentException ('lang must must be one of: en, cn, ru ' );
247
+ throw new \ InvalidArgumentException ('lang must must be one of: en, cn, ru ' );
263
248
}
264
249
$ payload = [
265
250
'metric ' => $ metric ,
0 commit comments