Trying to use PATCH on a UnityWebRequest on Android and getting 'Unsupported Protocol'

Hi

Really hope someone can assist, we are using Azure Mobile App Service and everything works fine in the editor and on IOS, we only have a problem on Android when trying to update an existing record.

According to the Azure resource documentation you need to use Patch

PATCH /tables/tablename/:id Update an existing record in the table

When testing on an Android device it does not even try to send the web request it simply returns error: “Unsupported Protocol”

The research shows that there are workaround solution but I have not found anything relevant to Unity.

I did a search on the forum for HttpMethod.Patch but could not find a single article. Really having some trouble understanding how to resolve the issue and if there is a way to resolve it in Unity.

Any help would be greatly appreciated.

Thanks in advance.

Just fixed using Easy APIs on Azure GitHub - dgkanatsios/AzureServicesForUnity: Accessing Azure services (App Service, Table Storage, CosmosDB with Table API, Event Hubs) from a Unity game

The best bet would be to capture the packets and see if Android sends the correct one.
Are all the other verbs working OK on Android?

You can also install “method-override” for Azure App Services (node backend) to get PATCH to work on Android using UnityWebRequest.

  1. Add “method-override”: “^2.3.7” to your “package.json” dependencies by running:

npm install method-override --save

2a) Insert the following to your “app.js” express app config (this is explained in the method-override readme)

var methodOverride = require('method-override');

2b) Then after the line var app = express(); add:

app.use(methodOverride('X-HTTP-Method-Override'))

  1. Now change your update request from “PATCH” to “POST” and add the header:

X-HTTP-Method-Override: PATCH

This will enable the override header and allow you to perform PATCH updates using POST requests which are allowed on Android.