Skip to content

Commit 0b747d2

Browse files
author
spoeck
committed
feat: add event function for android
1 parent 9c0542a commit 0b747d2

File tree

3 files changed

+43
-61
lines changed

3 files changed

+43
-61
lines changed

example/index.android.js

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,14 +39,14 @@ export default class App extends Component {
3939
ApiAi.setContexts(contexts);
4040

4141

42-
const pcontexts = [{
42+
const permanentContexts = [{
4343
"name": "config",
4444
"parameters": {
4545
"access_token": "42 yo 42 tiny rick"
4646
}
4747
}];
4848

49-
ApiAi.setPermanentContexts(pcontexts);
49+
ApiAi.setPermanentContexts(permanentContexts);
5050

5151

5252
const entities = [{
@@ -68,6 +68,9 @@ export default class App extends Component {
6868

6969

7070
render() {
71+
ApiAi.requestEvent("WELCOME", null, r=>console.log(r), e=>console.log(e));
72+
73+
7174
return (
7275
<View style={styles.container}>
7376

index.android.js

Lines changed: 38 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,17 @@
11
'use strict';
22

3-
import { NativeModules } from 'react-native';
4-
import EventRequest from './js/ResetContextsRequest';
3+
import {NativeModules} from 'react-native';
4+
import requestEvent from './js/ResetContextsRequest';
5+
import {ApiAiConstants} from 'api-ai-javascript';
56

67
let ApiAi = NativeModules.ApiAi;
78

8-
ApiAi.startListening = (onResult: ()=>{}, onError: ()=>{}) => {
9-
ApiAi.startListeningNative((r)=>onResult(JSON.parse(r)), (e)=>onError(JSON.parse(e)))
9+
ApiAi.startListening = (onResult: () => {}, onError: () => {}) => {
10+
ApiAi.startListeningNative((r) => onResult(JSON.parse(r)), (e) => onError(JSON.parse(e)))
1011
};
1112

12-
ApiAi.requestQuery = (query: String, onResult: ()=>{}, onError: ()=>{}) => {
13-
ApiAi.requestQueryNative(query, (r)=>onResult(JSON.parse(r)), (e)=>onError(JSON.parse(e)))
13+
ApiAi.requestQuery = (query: String, onResult: () => {}, onError: () => {}) => {
14+
ApiAi.requestQueryNative(query, (r) => onResult(JSON.parse(r)), (e) => onError(JSON.parse(e)))
1415
};
1516

1617
ApiAi.setContexts = (contexts) => {
@@ -20,7 +21,7 @@ ApiAi.setContexts = (contexts) => {
2021
ApiAi.setPermanentContexts = (contexts) => {
2122

2223
// set lifespan to 1 if it's not set
23-
contexts.forEach((c,i,a)=>{
24+
contexts.forEach((c, i, a) => {
2425
if (!c.lifespan) {
2526
a[i] = {...c, lifespan: 1};
2627
}
@@ -29,26 +30,49 @@ ApiAi.setPermanentContexts = (contexts) => {
2930
ApiAi.setPermanentContextsAsJson(JSON.stringify(contexts))
3031
};
3132

32-
ApiAi.resetContexts = async (onResult: ()=>{}, onError: ()=>{}) => {
33+
ApiAi.resetContexts = async (onResult: () => {}, onError: () => {}) => {
3334
ApiAi.setContextsAsJson({});
3435

3536
const accessToken = await ApiAi.getAccessToken();
3637
const sessionId = await ApiAi.getSessionId();
3738
let request = new ResetContextsRequest(accessToken, sessionId, null);
38-
request.perform().then(res=>onResult(res)).catch(err=>onError(err));
39+
request.perform().then(res => onResult(res)).catch(err => onError(err));
3940
};
4041

4142
ApiAi.setEntities = (entities) => {
4243
ApiAi.setEntitiesAsJson(JSON.stringify(entities))
4344
};
4445

45-
ApiAi.requestEvent = async (eventName: string, eventData: {}, onResult: ()=>{}, onError: ()=>{}) => {
46+
ApiAi.requestEvent = async (eventName: string, eventData: {}, onResult: () => {}, onError: () => {}) => {
4647

4748
const accessToken = await ApiAi.getAccessToken();
4849
const sessionId = await ApiAi.getSessionId();
4950
const languageTag = await ApiAi.getLanguage();
50-
let request = new EventRequest(accessToken, sessionId, languageTag, {event: {name: eventName, data: eventData}});
51-
request.perform().then(res=>onResult(res)).catch(err=>onError(err));
52-
}
5351

54-
module.exports = ApiAi;
52+
const data = {
53+
"event": {
54+
"name": eventName,
55+
"data": {
56+
...eventData
57+
}
58+
},
59+
'lang': languageTag,
60+
"sessionId": sessionId
61+
};
62+
63+
fetch(ApiAiConstants.DEFAULT_BASE_URL + "query?v=" + ApiAiConstants.DEFAULT_API_VERSION, {
64+
method: "POST",
65+
headers: {
66+
'Content-Type': 'application/json',
67+
'Authorization': 'Bearer ' + accessToken,
68+
'charset': "utf-8"
69+
},
70+
body: JSON.stringify(data)
71+
})
72+
.then(function (response) {
73+
var json = response.json().then(onResult)
74+
})
75+
.catch(onError);
76+
};
77+
78+
module.exports = ApiAi;

js/EventRequest.js

Lines changed: 0 additions & 45 deletions
This file was deleted.

0 commit comments

Comments
 (0)