React-native-iap: Магазин приложений Amazon

Созданный на 20 янв. 2019  ·  30Комментарии  ·  Источник: dooboolab/react-native-iap

Поддерживает ли этот модуль IAP Amazon Appstore?

❓ question 🏃🏻‍♀️ in progress 🚶🏻 stale 🥺 feature request

Самый полезный комментарий

Не уверен, что кто-нибудь начал работу над этим, но я начал реализовывать функциональность для поддержки IAP Amazon Appstore. Надеюсь, скоро будет готов PR.

Все 30 Комментарий

Нет. Мы не поддерживаем Kindle Device, потому что его здесь нет. В нашем плагине flutter есть пиар, но в этот еще никто не участвовал.

Не уверен, что кто-нибудь начал работу над этим, но я начал реализовывать функциональность для поддержки IAP Amazon Appstore. Надеюсь, скоро будет готов PR.

@ gborges0727 Думаю, вы в деле. Я изменил ярлык на working . Спасибо!

@ gborges0727 , я вижу вашу вилку, и вы, по крайней мере, начали

Каков статус этой работы?

Я нахожусь в той точке своего проекта, где мне нужно добавить поддержку Amazon.

Было бы здорово, если бы кто-то уже в этом разобрался :)

Работа на самом деле сделана, просто еще не успели написать машинописный текст / обновить ридми. Надеюсь, в эти выходные будет готов PR!

Сладкий! Рад слышать. Я действительно тестирую вашу вилку в течение следующих нескольких дней или около того. Я дам вам знать, что я нашел.

Мое приложение специально использует продукт подписки с двумя вариантами периода: ежемесячный и годовой.

Какого рода тестирование вы проводили с этим? Вы вообще тестировали продукты по подписке?

Также я заметил, что ваш метод определения Amazon по сравнению с другими устройствами заключается в проверке функции amazon.hardware.fire_tv .

Это потому, что ваше приложение на самом деле специально для Fire TV, или это действительно будет верно для всех устройств Amazon, включая планшеты и тому подобное?

На самом деле я тестировал только продукты по подписке, поэтому, если у вас есть хоть одна покупка, это тоже будет хорошим тестом. И мое приложение предназначено специально для fire_tv, поэтому я его и использовал. Вероятно, более общий вариант для тестирования любого устройства Amazon.

хорошо, я нашел это , и похоже, что это должно быть довольно надежно.

import android.os.Build;
isAmazonDevice = Build.MANUFACTURER.equals("Amazon");

Мое исследование нашло другие варианты, в том числе попытку определить, из какого магазина было установлено приложение, но я считаю, что обнаружение устройства достаточно хорошо для большинства.

Вы не получали ошибок при использовании класса Set ?

Я получил следующее при попытке использовать версию Amazon getProductData()

java.lang.RuntimeException: Got unknown argument class: Set

Это была моя работа:

public RequestId getProductData(ReadableArray skus, Promise promise) {

    //Build Set from ReadableArray
    final Set<String> skusSet = new HashSet<String>();
    for (int i = 0; i < skus.size(); i++) {
      skusSet.add(skus.getString(i));
    }

    savePromise(GET_PRODUCT_DATA, promise);
    RequestId requestId = PurchasingService.getProductData(skusSet);
    return requestId;
  }

Кроме того, знаете ли вы, как отключить зависимость от сервисов Google Play во время выполнения на устройстве Amazon?

Я получаю всплывающее окно, в котором говорится:

[App Name] won't run without Google Play services, which are not supported by your device.

Извините так много вопросов, я не хочу вас спамить. Еще раз спасибо за отличную работу!

Я внес еще несколько изменений.

Если вам интересно, вы можете увидеть мою ветку / ветку здесь:
https://github.com/curiousdustin/react-native-iap/commit/curious

  • Я немного поработал, чтобы применить последние изменения из основной вилки, в основном проверки на наличие собственных модулей. совершить .
  • Как уже упоминалось, я обнаружил, что должен использовать ReadableArray вместо Set commit
  • Я проверяю производителя, а не конкретный идентификатор fire_tv . совершить
  • Поскольку я буду использовать RVS , я счел полезным добавить userIdAmazon к объектам покупки. совершить

Еще не много тестировал, но пока вроде все хорошо. Спасибо еще раз!

Привет, извини, что вернулся поздно! Я считаю, что зависимость от сервисов Google Play во время выполнения может быть решена путем добавления чего-либо в ваш AndroidManifest.xml, но я не могу точно вспомнить, что именно я добавил. Ошибки, связанные с getProductData (), могут быть полностью допустимыми! Я действительно не тестировал эту функцию, так что там могут быть 100% проблемы. Ваши изменения выглядят хорошо! Имеет смысл включить их, прежде чем отправлять сюда PR.

О, я забыл упомянуть, я действительно понял, что конкретное сообщение won't run without Google Play services которое я получал, на самом деле было результатом использования Firebase. Я нашел хакерский обходной маневр, чтобы просто не инициализировать Firebase на Amazon, и я все еще получаю предупреждения в журналах, но, похоже, это больше не влияет на пользователя.

Любая информация о файле манифеста, которой вы можете поделиться, может оказаться полезной.

Спасибо!

Оглядываясь назад на мой андроид-манифест, я на самом деле не уверен, что бы я включил, чтобы решить любую проблему ... Возможно, я вспоминал призраков, насколько это касается, ха-ха. Есть ли удачи с тестированием?

Я бы не сказал, что тестировал всесторонне. По-прежнему только тестирование с продуктами по подписке.

Я добавил еще несколько модификаций:

Спасибо за работу, я исправил функцию, которая проверяет, какой магазин использовать
https://github.com/curiousdustin/react-native-iap/pull/1

Могу ли я использовать эту функцию? мне это нужно

Есть ли документация по использованию вашего кода Amazon @curiousdustin @ gborges0727 ?

Мне нужно добавить поддержку Amazon IAP для моих приложений, так что мне это действительно нужно.

@ DannyRox23 , извините, здесь нет документации после наших обсуждений.

Вот некоторые пояснения:

  • Наше живое приложение в настоящее время использует код, найденный здесь: https://github.com/curiousdustin/react-native-iap/commit/a0911a845436f585769af28b12926bdebaf56f45
  • Мы используем варианты сборки gradle для создания отдельного APK для Amazon. Этот код в этой ветке использует автоматически сгенерированные свойства конфигурации сборки, чтобы определить, является ли это APK Amazon или нет.
  • В нашем приложении есть ТОЛЬКО 1 автоматическое продление подписки IAP.
  • Мы НЕ тестировали какие-либо другие типы IAP или функций.
  • Мы используем проверку квитанции на стороне сервера для всех платформ.

Надеюсь, это поможет. Хотел бы я вернуть сообществу больше, полностью протестировав это и добавив в основную библиотеку, но у меня просто нет времени. Еще раз спасибо

@curiousdustin Я ценю ответ! Я использовал ваш код и избавился от проверок устройств, поскольку приложение предназначено исключительно для устройств Amazon. Однако я немного заблудился; Даже после проверки устройства я отправил свое приложение Amazon в Amazon, и Amazon сообщает, что приложение использует IAP от Google, поэтому они не одобрили приложение.

Как отладить приложение, чтобы убедиться, что оно работает. Должен ли он показывать окно покупки Amazon IAP на эмуляторах? Нужно ли мне устройство Amazon для полного тестирования? Это работает с Bluestacks? Могу ли я использовать эмуляторы устройств Amazon?

Мне удалось удалить предупреждения о выставлении счетов Google, используя этот файл манифеста, который объединяется с моим основным файлом манифеста. Я думаю, что ключевым моментом является строка для удаления разрешения на выставление счетов.

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    package="fm.pinna.app">

    <uses-permission android:name="com.android.vending.BILLING" tools:node="remove" />

    <application>
        <receiver
            android:name="com.amazon.device.iap.ResponseReceiver"
            android:permission="com.amazon.inapp.purchasing.Permission.NOTIFY">
            <intent-filter>
                <action android:name="com.amazon.inapp.purchasing.NOTIFY" />
            </intent-filter>
        </receiver>
    </application>

</manifest>

Могут быть эмуляторы Amazon, но я ими не пользовался. Я использовал настоящие устройства Kindle Fire для тестирования. Я также не использовал Bluestacks, извините, я не знаю, сработает ли это.

Для тестирования я просто следил за документами Amazon .

@hyochan, были бы вы

У кого самый последний форк кода / можем ли мы потенциально попытаться включить PR в основной пакет? Чтобы повторить @benoitdion, можно ли было бы объединиться только с поддержкой выставления счетов за подписку?

Я не успеваю полностью следить за ходом работы основного модуля react-native-iap . Однако я думаю, что с тех пор, как @ gborges0727 и я работал над этим, произошли серьезные изменения. В основном переработка процесса покупки и другие критические изменения, которые появились в версии 3.0.

https://github.com/dooboolab/react-native-iap/pull/510

Итак, я не думаю, что какая-либо из наших реализаций Amazon будет готова к слиянию с основным форком в настоящее время, даже для только подписок. 😞

Привет, похоже, в последнее время по этой проблеме не было никакой активности. Проблема устранена или все еще требует внимания сообщества? Эта проблема может быть закрыта, если больше не будет активности. Вы также можете пометить этот вопрос как «Для обсуждения» или «Хороший первый выпуск», и я оставлю его открытым. Спасибо за ваш вклад.

Закрытие этого вопроса после длительного периода бездействия. Если эта проблема все еще присутствует в последней версии, пожалуйста, создайте новую проблему с актуальной информацией.

@curiousdustin Как вы думаете, можно ли

Обновления, которые мы сделали для поддержки Amazon, несовместимы с основными изменениями в 3.0. См. Выше.

Была ли эта страница полезной?
0 / 5 - 0 рейтинги