Nas documentações anteriores, o baseUrl
usado foi o https://usebeagle.io/start
, mas foi apenas apra exemplificar e em aplicações reais você usaria sua própria URL.
Por padrão, ambos Android e iOS fazem apenas requisições seguras com o protocolo HTTPS. Para mudar este comportamento, siga os passos a seguir:
android/app/src/main/AndroidManifest.xml
android:usesCleartextTraffic="true"
na <application>
tag:<application
android:name=".MainApplication"
android:label="@string/app_name"
android:icon="@mipmap/ic_launcher"
android:roundIcon="@mipmap/ic_launcher_round"
android:allowBackup="false"
android:theme="@style/AppTheme"
android:usesCleartextTraffic="true">
ios/{project_name}/info.plist
NSAppTransportSecurity
tem o seguinte valor:<key>NSAppTransportSecurity</key>
<dict>
<key>NSExceptionDomains</key>
<dict>
<key>localhost</key>
<dict>
<key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key>
<true/>
</dict>
</dict>
</dict>
Ao rodar o backend no localhost, o iOS funciona no endereço localhost
, no entando o emulador do Android não funciona assim.
Para acessar o localhost no emulador do Android, você precisa usar o IP 10.0.2.2
.. No Flutter se você quiser alterar este comportamento basta seguir o exemplo abaixo e decidir qual endereço usar:
final localhost = Platform.isAndroid ? '10.0.2.2' : 'localhost';
final beagleService = BeagleService(
baseUrl: 'http://$localhost:8080',
// ...
);
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.