Skip to content

Commit cda105e

Browse files
author
queue-it
committed
Preparing release 2.2.1
1 parent de02b7d commit cda105e

File tree

4 files changed

+22
-21
lines changed

4 files changed

+22
-21
lines changed

README.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ This whitepaper contains the needed information to perform a successful integrat
1717
Using Gradle:
1818

1919
```gradle
20-
implementation 'com.queue-it.androidsdk:library-android:2.2.0'
20+
implementation 'com.queue-it.androidsdk:library:2.2.1'
2121
```
2222

2323
## How to use the library (Mobile SDK integration only, no API protection)
@@ -119,7 +119,7 @@ catch (QueueITException e) { } // Gets thrown when a request is already in progr
119119
| eventIdOrAlias | Yes | Id of the waiting room or alias |
120120
| layoutName | No (Waiting Room's default theme) | Layout name to use for the waiting room. If omitted, the Waiting Room's default layout will be used |
121121
| language | No (Waiting Room's default language) | Language id to use for the waiting room. If omitted, the Waiting Room's default language will be used |
122-
| waitingRoomDomain | No (`{customerId}.queue-it.net`) | Custom Waiting Room domain to use for the requests from Mobile to Queue-it. Can be a Proxy Domain, if you are using Bring Your Own CDN |
122+
| waitingRoomDomain | No (`{customerId}.queue-it.net`) | Custom Waiting Room domain to use for the requests from Mobile to Queue-it. Can be a Proxy Domain, if you are running Queue-it Behind Proxy |
123123
| queuePathPrefix | No (none) | Queue Path Prefix to use, if you are running Waiting Room on same domain as your normal website. Requires waitingRoomDomain to also be provided. If not, then this parameter will be ignored. |
124124
| queueListener | Yes | Listener with callback functions. Must implement the `QueueListener` interface. |
125125
| options | No (`QueueItEngineOptions.getDefault()`) | Allows you to configure the WebView used to show the Waiting Room. Can disable back button (default: disabled) and set a custom User Agent (default: "") |
@@ -175,7 +175,7 @@ Calling any of these methods will result in executing `onSuccess` or `onFailure`
175175
| eventIdOrAlias | Yes | Id of the waiting room or alias |
176176
| layoutName | No (Waiting Room's default theme) | Layout name to use for the waiting room. If omitted, the Waiting Room's default layout will be used |
177177
| language | No (Waiting Room's default language) | Language id to use for the waiting room. If omitted, the Waiting Room's default language will be used |
178-
| waitingRoomDomain | No (`{customerId}.queue-it.net`) | Custom Waiting Room domain to use for the requests from Mobile to Queue-it. Can be a Proxy Domain, if you are using Bring Your Own CDN |
178+
| waitingRoomDomain | No (`{customerId}.queue-it.net`) | Custom Waiting Room domain to use for the requests from Mobile to Queue-it. Can be a Proxy Domain, if you are running Queue-it Behind Proxy |
179179
| queuePathPrefix | No (none) | Queue Path Prefix to use, if you are running Waiting Room on same domain as your normal website. Requires waitingRoomDomain to also be provided. If not, then this parameter will be ignored. |
180180
| queueITWaitingRoomProviderListener | Yes | Listener with callback functions. Must implement the `QueueITWaitingRoomProviderListener` interface. |
181181

@@ -191,13 +191,13 @@ QueueITWaitingRoomView queueITWaitingRoomView = new QueueITWaitingRoomView(MainA
191191
queueITWaitingRoomView.showQueue(_queuePassedInfo.getQueueUrl(), _queuePassedInfo.getTargetUrl());
192192
```
193193

194-
## Client-side mobile integration with Bring Your Own CDN
194+
## Client-side mobile integration with Queue-it Behind Proxy (Bring your own CDN)
195195

196196
> Note: This only applies if you are using the Mobile SDK as a client-side protection only. I.e. this does not apply if you are protecting the API endpoints your Mobile app is using.
197197
198198
> If you have server-side Queue-it protection on your API endpoints, please see section [below](#mobile-sdk-integration-with-protected-api-queue-it-connector-on-server-side).
199199
200-
If you are running Queue-it with Bring Your Own CDN, on your own reverse proxy, the Mobile Integration can also be setup to run behind your reverse proxy.
200+
If you are running Queue-it behind your own reverse proxy the Mobile Integration can also be setup to run behind your proxy.
201201

202202
To do this simply use your Proxy Domain as the `waitingRoomDomain` parameter to `QueueITEngine.run`. If you are running Queue-it Waiting Room on the same domain as your normal website, you also need to provide the `queuePathPrefix` parameter, to ensure your proxy can route the request to Queue-it origin.
203203

build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ allprojects {
3535
groupId = 'com.queue-it.androidsdk'
3636
libraryName = 'com.queue_it.androidsdk'
3737
libraryDescription = 'Android SDK to integrate with Queue-it'
38-
libraryVersion = "2.2.0"
38+
libraryVersion = "2.2.1"
3939
organization = "Queue-it"
4040
organizationUrl = "https://queue-it.com"
4141

documentation/protected_apis.md

Lines changed: 11 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,9 @@
11
# Using Queue-it server-side connector (KnownUser) to protect APIs, consumed by mobile app
2-
32
If you are using Queue-it's server-side connector (KnownUser) to protect your API, you utilize this in your mobile app, to run a hybrid setup.
43

54
This greatly increases the protection and prevents visitors from bypassing the client-side Queue-it integration.
65

76
The flow in this setup is the following (simplified):
8-
97
1. Mobile app calls API endpoints and includes the special Queue-it header
108
Endpoint is protected by Queue-it connector
119
2. Queue-it connector has Trigger/Condition setup to match an Integration Action/Rule, with Queue action-type
@@ -24,30 +22,28 @@ To integrate with a protected API we need to handle the validation responses tha
2422
All calls to protected APIs need to include the `x-queueit-ajaxpageurl` header with a non-empty value and a Queue-it accepted cookie (if present).
2523
The integration can be described in the following steps:
2624

27-
1. API Request with `x-queueit-ajaxpageurl` _or_ Queue-it accepted cookie is made
25+
1. API Request with `x-queueit-ajaxpageurl` *or* Queue-it accepted cookie is made
2826
2. We get a response which may either be the API response or an intercepted response from the Queue-it connector
2927
3. Scenario 1, user should not be queued (response does not have the `x-queueit-redirect` header)
30-
1. We store the Queue-it cookies from the response, to include in later API calls
28+
1. We store the Queue-it cookies from the response, to include in later API calls
3129
4. Scenario 2, user should be queued
32-
1. If the user should be queued we'll get a `200 Ok` response with a `x-queueit-redirect` header. We need to extract the `c`(Customer ID) and `e` (Waiting Room ID) query string parameters from the `x-queueit-redirect` header and call `QueueITEngine.run` with them, just as you would normally do with the SDK
33-
2. We wait for the `onQueuePassed` callback and we store the QueueITToken passed to the callback
34-
3. We can repeat the API request, this time appending the `queueittoken={QueueITToken}` query string parameter, to prevent the server-side connector from intercepting the call again
35-
4. We store the Queue-it cookies from the final response, so they can be set in other API calls
30+
1. If the user should be queued we'll get a `200 Ok` response with a `x-queueit-redirect` header. We need to extract the `c`(Customer ID) and `e` (Waiting Room ID) query string parameters from the `x-queueit-redirect` header and call `QueueITEngine.run` with them, just as you would normally do with the SDK
31+
2. We wait for the `onQueuePassed` callback and we store the QueueITToken passed to the callback
32+
3. We can repeat the API request, this time appending the `queueittoken={QueueITToken}` query string parameter, to prevent the server-side connector from intercepting the call again
33+
4. We store the Queue-it cookies from the final response, so they can be set in other API calls
3634

3735
![API Integration Flow](https://github.com/queueit/android-webui-sdk/blob/master/documentation/App%20+%20Connector%20integration%20with%20QueueITToken.png "App Integration Flow")
3836

39-
## Client-side and server-side mobile integration (hybrid) with Bring Your Own CDN
40-
41-
> Note: This only applies if you are using the Mobile SDK as a client-side protection _and_ are using server-side protection using the Queue-it KnownUser Connector.
37+
## Client-side and server-side mobile integration (hybrid) with Queue-it Behind Proxy (Bring your own CDN)
38+
> Note: This only applies if you are using the Mobile SDK as a client-side protection *and* are using server-side protection using the Queue-it KnownUser Connector.
4239
4340
> If you are only using client-side protection, using the Mobile SDK, refer to the documentation in the [main documentation](https://github.com/queueit/android-webui-sdk/blob/master/README.md)
4441
45-
If you are running Queue-it with Bring Your Own CDN, on your own reverse proxy, the Mobile Integration can also be setup to run behind your reverse proxy. For the hybrid setup, your KnownUser connector will also need to run in "Bring Your Own CDN" mode. Please contract Queue-it Support, for any questions related to the KnownUser Connector setup with Bring Your Own CDN.
46-
47-
### Setup Mobile SDK with Bring Your Own CDN, with protected API
42+
If you are running Queue-it behind your own reverse proxy the Mobile Integration can also be setup to run behind your proxy. For the hybrid setup, your KnownUser connector will also need to run in "Behind Proxy" mode. Please contract Queue-it Support, for any questions the KnownUser Connector Behind Proxy Setup.
4843

44+
### Setup Mobile SDK with Behind Proxy, with protected API
4945
To do this simply use your Proxy Domain as the `waitingRoomDomain` parameter to `QueueITEngine.run`, after getting the Queue-it intercepted response back from your API.
5046

5147
If you are running Queue-it Waiting Room on the same domain as your normal website, you also need to provide the `queuePathPrefix` parameter, to ensure your proxy can route the request to Queue-it origin.
5248

53-
This means in ahove [Implementation](#implementation) section, point 4.1, you must also provide `waitingRoomDomain` and optionally `queuePathPrefix` to `QueueITEngine.run`, to serve the Waiting Room through your reverse proxy.
49+
This means in ahove [Implementation](#implementation) section, point 4.1, you must also provide `waitingRoomDomain` and optionally `queuePathPrefix` to `QueueITEngine.run`, to serve the Waiting Room through your reverse proxy.
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
distributionBase=GRADLE_USER_HOME
2+
distributionPath=wrapper/dists
3+
distributionUrl=https\://services.gradle.org/distributions/gradle-8.5-bin.zip
4+
zipStoreBase=GRADLE_USER_HOME
5+
zipStorePath=wrapper/dists

0 commit comments

Comments
 (0)