You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -13,15 +13,15 @@ Let's get started with the installation and configuration!
13
13
If you are just starting a new project, you can use our [CLI tool](https://pub.dev/packages/reown_cli) to get started quickly.
14
14
</Note>
15
15
16
-
1.- Add `reown_appkit` as dependency in your `pubspec.yaml` and run `flutter pub get` (check out the [latest version](https://pub.dev/packages/reown_appkit/install))
16
+
1.- Add `reown_appkit` as a dependency in your `pubspec.yaml` and run `flutter pub get` (check out the [latest version](https://pub.dev/packages/reown_appkit/install))
17
17
- Or simply run `flutter pub add reown_appkit`
18
18
2.- Locate your `/ios/Podfile` file and add the following as the first line:
19
19
20
20
```ruby
21
21
platform :ios, '13.0'
22
22
```
23
23
24
-
3.- Run `$ pod install` inside `/ios` folder.
24
+
3.- Run `$ pod install` inside the `/ios` folder.
25
25
4.- You should now be able to run your app with `flutter run --dart-define=PROJECT_ID={your_project_id}`
Checkout out the [AppDelegate.swift](https://github.com/reown-com/reown_flutter/blob/master/packages/reown_appkit/example/modal/ios/Runner/AppDelegate.swift) file from our sample dapp for reference.
143
+
Check out the [AppDelegate.swift](https://github.com/reown-com/reown_flutter/blob/master/packages/reown_appkit/example/modal/ios/Runner/AppDelegate.swift) file from our sample dapp for reference.
144
144
145
145
</Tab>
146
146
<Tabtitle="Android">
@@ -170,7 +170,7 @@ Example:
170
170
171
171
#### Disable Coinbase Wallet
172
172
173
-
Coinbase Wallet is enabled by default even if, in order to function properly, a few steps has to be done as described in the previous section. However, if you don't want to include/support Coinbase Wallet on your app you just need to pass Coinbase Wallet id `fd20dc426fb37566d803205b19bbc1d4096b248ac04548e3cfb6b3a38bd033aa` to [excludedWalletIds](./options#excludedwalletids) options Array.
173
+
Coinbase Wallet is enabled by default even though, in order to function properly, a few steps have to be done as described in the previous section. However, if you don't want to include/support Coinbase Wallet in your app you just need to pass Coinbase Wallet id `fd20dc426fb37566d803205b19bbc1d4096b248ac04548e3cfb6b3a38bd033aa` to [excludedWalletIds](./options#excludedwalletids) options Array.
174
174
175
175
<hr />
176
176
@@ -186,14 +186,59 @@ This means that pairing topic, session topic, session events and other session-r
186
186
187
187
Furthermore, Phantom Wallet's deep/universal linking mechanism supports interaction exclusively with the Solana network. This means that if you have EVM networks configured in your AppKit instance, they will not be available for use after connecting with Phantom.
188
188
189
-
In order to support Phantom Wallet interactions a few extra steps has to be performed (only if you haven't implemented [Link Mode](./link-mode) already).
189
+
In order to support Phantom Wallet interactions, a few extra steps have to be performed (only if you haven't implemented [Link Mode](./link-mode) already).
190
190
191
-
1. First, be sure you already have your redirection back property configure in your dApp's metadata. See [Redirect to your dApp](./usage#redirect-to-your-dapp)
192
-
2. Then you will have to implement your own Deep Link mechanism on Flutter (and native) side so when a link is received through it, you would just call `await _appKitModal.dispatchEnvelope(link);`
191
+
1. First, be sure you already have your redirection back property configured in your dApp's metadata. See [Redirect to your dApp](./usage#redirect-to-your-dapp)
192
+
2. Then you will have to implement your own Deep Link mechanism on the Flutter (and native) side so that when a link is received through it, you can just call `await _appKitModal.dispatchEnvelope(link);`
193
193
194
-
As a guidance, here you can see how it's done in our sample dApp:
194
+
As guidance, here you can see how it's done in our sample dApp:
195
195
196
-
##### First, on Flutter side we create an `EventChannel` where links are going to be received and passed to `dispatchEnvelope()`.
196
+
#### First, enable Phantom Wallet detection
197
+
198
+
<Tabs>
199
+
<Tabtitle="iOS">
200
+
201
+
1. Open your `Info.plist` file.
202
+
2. Locate the `<key>LSApplicationQueriesSchemes</key>` section.
203
+
3. Include `<string>phantom</string>` scheme
204
+
205
+
Example:
206
+
207
+
```xml
208
+
<key>LSApplicationQueriesSchemes</key>
209
+
<array>
210
+
<string>phantom</string>
211
+
<!-- Any other scheme previously added -->
212
+
</array>
213
+
```
214
+
215
+
</Tab>
216
+
<Tabtitle="Android">
217
+
218
+
1. Open your `AndroidManifest.xml` file.
219
+
2. Add `<package android:name="app.phantom"/>` scheme inside `<queries>...</queries>` as mentioned above in previous section
#### Then, on Flutter side we create an `EventChannel` where links are going to be received and passed to `dispatchEnvelope()`.
197
242
198
243
<Tabs>
199
244
<Tabtitle="Flutter">
@@ -233,7 +278,7 @@ class DeepLinkHandler {
233
278
</Tab>
234
279
</Tabs>
235
280
236
-
#####Then, on both native sides we leverage native APIs to capture the app opening link and send it to Flutter side.
281
+
#### Then, on both native sides we leverage native APIs to capture the app opening link and send it to Flutter side.
237
282
238
283
<Tabs>
239
284
<Tabtitle="iOS">
@@ -373,7 +418,79 @@ _Constructing a Solana transaction would depend on the library/package of your c
373
418
374
419
#### Disable Phantom Wallet
375
420
376
-
Phantom Wallet is enabled by default even if, in order to function properly, a few steps has to be done as described in the previous section. However, if you don't want to include/support Phantom Wallet on your app you just need to pass Phantom Wallet id `a797aa35c0fadbfc1a53e7f675162ed5226968b44a19ee3d24385c64d1d3c393` to [excludedWalletIds](./options#excludedwalletids) options Array.
421
+
Phantom Wallet is enabled by default even though, in order to function properly, a few steps have to be done as described in the previous section. However, if you don't want to include/support Phantom Wallet in your app you just need to pass Phantom Wallet id `a797aa35c0fadbfc1a53e7f675162ed5226968b44a19ee3d24385c64d1d3c393` to [excludedWalletIds](./options#excludedwalletids) options Array.
422
+
423
+
<hr />
424
+
425
+
### Solflare Wallet support
426
+
427
+
<Note>
428
+
Solflare Wallet support is available from `reown_appkit: ^1.6.0`.
429
+
</Note>
430
+
431
+
Similar to Phantom Wallet, Solflare does not use the WalletConnect protocol for communication between the dApp and the wallet, instead it provides an internal API mechanism based on deep/universal links.
432
+
433
+
This means that pairing topic, session topic, session events and other session-related features are not available when connecting to Solflare Wallet and the interaction is really basic. Dapp sends a request, Solflare Wallet responds. That's all.
434
+
435
+
Furthermore, Solflare Wallet's deep/universal linking mechanism supports interaction exclusively with the Solana network. This means that if you have EVM networks configured in your AppKit instance, they will not be available for use after connecting with Solflare.
436
+
437
+
In order to support Solflare Wallet interactions, a few extra steps have to be performed (only if you haven't implemented [Link Mode](./link-mode) already).
438
+
439
+
1. First, be sure you already have your redirection back property configured in your dApp's metadata. See [Redirect to your dApp](./usage#redirect-to-your-dapp)
440
+
2. Then you will have to implement your own Deep Link mechanism on the Flutter (and native) side so that when a link is received through it, you can just call `await _appKitModal.dispatchEnvelope(link);`
441
+
442
+
As guidance, here you can see how it's done in our sample dApp:
443
+
444
+
#### First, enable Solflare Wallet detection
445
+
446
+
<Tabs>
447
+
<Tabtitle="iOS">
448
+
449
+
1. Open your `Info.plist` file.
450
+
2. Locate the `<key>LSApplicationQueriesSchemes</key>` section.
451
+
3. Include `<string>solflare</string>` scheme
452
+
453
+
Example:
454
+
455
+
```xml
456
+
<key>LSApplicationQueriesSchemes</key>
457
+
<array>
458
+
<string>solflare</string>
459
+
<!-- Any other scheme previously added -->
460
+
</array>
461
+
```
462
+
463
+
</Tab>
464
+
<Tabtitle="Android">
465
+
466
+
1. Open your `AndroidManifest.xml` file.
467
+
2. Add `<package android:name="com.solflare.mobile"/>` scheme inside `<queries>...</queries>` as mentioned above in previous section
The rest of the configuration is identical to Phantom's configuration.
490
+
491
+
#### Disable Solflare Wallet
492
+
493
+
Solflare Wallet is enabled by default even though, in order to function properly, a few steps have to be done as described in the previous section. However, if you don't want to include/support Solflare Wallet in your app you just need to pass Solflare Wallet id `1ca0bdd4747578705b1939af023d120677c64fe6ca76add81fda36e350605e79` to [excludedWalletIds](./options#excludedwalletids) options Array.
0 commit comments