Я хочу открыть ассоциированные ссылки Amazon в приложении с помощью url_launcher

В настоящее время я использую url_launcher. «режим: LaunchMode.externalApplication», и если я нажму на ссылку, я хочу показать приложение Amazon.

Но я не могу этого сделать.

Вероятно, потому что я использую ссылки Amazon Associates.

Я не мог решить проблему.

код

   Future _launchUniversalLinkIos(int index) async {
    final url = reversedList[index].acf!.link.toString();
    try {
      await launchUrl(
        Uri.parse(url),
      );
    } catch (e) {
      debugPrint('Laucnh url Error: $e');
    }
  }
                      PageView(
                        controller: _pageController,
                        onPageChanged: (page) {
                          setState(() {
                            selectedPage = page;
                          });
                        },
                        children: pages.map((image) {
                          return GestureDetector(
                            onTap: () =>
                                // final index = pages.indexOf(image);
                                _launchUniversalLinkIos(
                              pages.indexOf(image),
                            ),
                            child: AspectRatio(
                              aspectRatio: 4 / 3,
                              child: Image.network(
                                image,
                                fit: BoxFit.cover,
                              ),
                            ),
                          );
                        }).toList(),
                      ),

распечатать результат флаттер: https://amzn.to/xxxxxxxx

инфо.plist

<key>LSApplicationQueriesSchemes</key>
        <array>
            <string>itms-beta</string>
            <string>itms</string>
        </array>

Я попробовал amzn и com.amazon.mobile.shopping. но я не могу открыть приложение амазон

отправьте мой ответ здесь надеюсь, что он вам поможет

Ravindra S. Patil 06.12.2022 10:39

Спасибо за ваш комментарий. Моя ссылка amzn.to/xxxx.

Tdayo 06.12.2022 11:12

просто скинь свою ссылку на мою ссылку

Ravindra S. Patil 06.12.2022 11:14

Я посмотрел ваш код. Я пытаюсь понять, как его изменить. Я изменил свой код. Добавил код звонящего.

Tdayo 06.12.2022 11:43

ваш обновленный код работает?

Ravindra S. Patil 06.12.2022 11:50

нет, возможно мой код неверный

Tdayo 06.12.2022 11:56

Я проверяю ваш URL-адрес, он неверен, если я нахожу вашу ссылку, она дает это amazon.com , а ваш URL-адрес amzn.to/xxxxxxxx и дает нулевой ответ, например component name for https://amzn.to/xxxxxxxx is null измените свой URL-адрес

Ravindra S. Patil 06.12.2022 12:23

Вы знаете, почему этот код не работает должным образом?

Tdayo 06.12.2022 12:25

хочу ответ здесь

Tdayo 06.12.2022 12:30

Просто мин, дай мне немного времени

Ravindra S. Patil 06.12.2022 12:36

Давайте продолжим обсуждение в чате.

Ravindra S. Patil 06.12.2022 12:39

пожалуйста, проверяйте сообщения в чатах

Ravindra S. Patil 06.12.2022 12:46
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
12
102
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Попробуйте нижеприведенный код, ваша проблема была решена, просто удалите блокировку if else из функции:

Виджет:

   GestureDetector(
          
          child: Image.network(
            'https://upload.wikimedia.org/wikipedia/commons/d/de/Amazon_icon.png',
            width: 70,
            height: 70,
          ),
          onTap: () => amazon(),
        ),

Функция:

  amazon() async {
    const url = 'https://amzn.to/xxxxxxxx'; // or add your URL here
    await launchUrl(Uri.parse(url));
  }

Добавьте приведенный ниже код в свой файл Info.plist [myproject/ios/Runner/Info.plist]

<key>LSApplicationQueriesSchemes</key>
<array>
    <string>http</string>
    <string>https</string>
</array>

Результат->

мой код использует «вернуть GestureDetector ()». Поэтому я не могу использовать Inkwell

Tdayo 06.12.2022 16:32

@Tdayo Я обновил свой ответ, пожалуйста, проверьте, можете ли вы использовать GestureDetector вместо InkWell

Ravindra S. Patil 06.12.2022 16:54

Извините, я забыл, что он используется в виджете PageView. я исправил код

Tdayo 06.12.2022 18:12

Если ваша проблема была решена моим решением/ответом, пожалуйста, проголосуйте и примите его.

Ravindra S. Patil 06.12.2022 19:31

конечно, но пока не могу

Tdayo 07.12.2022 04:32

Мне нужен «окончательный индекс = pages.indexOf (изображение);» Потому что это есть на карусели

Tdayo 07.12.2022 09:12

@Tdayo Я не могу понять, что вы хотите в соответствии с вашим вопросом выше, у меня есть правильный ответ

Ravindra S. Patil 07.12.2022 09:37

Я изменил код. Я хочу проверить. но он открыл сафари.

Tdayo 07.12.2022 10:45

@Tdayo выдает такую ​​​​ошибку Insecure HTTP is not allowed by platform in Flutter IOS? или проверьте мой обновленный ответ

Ravindra S. Patil 07.12.2022 11:09

Я могу открыть ссылку, но я не могу открыть приложение Amazon. Я добавил info.plist . но такой же.

Tdayo 07.12.2022 12:09

андроидом не пользуюсь. Это айфон.

Tdayo 07.12.2022 17:08

@Tdayo мой ответ работает на обоих

Ravindra S. Patil 07.12.2022 18:13

Другие вопросы по теме