2016-07-05 7 views
0

Мне нелегко работать с кросс-платформой Unity для GooglePlay InApp. Я вставляю ссылку ниже, из которой я слежу за моей реализацией.Unity Cross Platform Служба закупок InApp

https://docs.unity3d.com/Manual/UnityIAPProcessingPurchases.html

Проблема заключается в том:

public PurchaseProcessingResult ProcessPurchase(PurchaseEventArgs args) {} 

Этот метод вызывается каждый раз. Каждый раз, когда я имею в виду, даже если интернет-соединение отсутствует, эта функция вызывается и возвращает PurchaseProcessingResult.Complete. Мне интересно и не знаю, где я должен разблокировать заблокированные предметы после успешной покупки. Если эта функция вызывается, даже если нет межсетевого соединения, я не знаю, что сказать .... В демо я увидел логику разблокировки в этом конкретном методе после проверки идентификатора продукта.

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

Проблема с магазином Google. Пожалуйста, кто-нибудь поможет мне в правильном осуществлении.

Я следую той же самой реализации, что предложено в этой ссылке: https://unity3d.com/learn/tutorials/topics/analytics/integrating-unity-iap-your-game Посмотрите прилагаемый скриншот. Вы можете видеть, что google native inapp выскочит, и одновременно вызывается функция onPurchaseFailed. Вот как я показываю диалоговое окно «Ошибка покупки». Вы можете видеть это в действии за диалоговым окном inapp google. И одновременно вызывается ProcessPurchase.

BTW, это случайность. 70% времени, я получаю всплывающее окно google inapp, и транзакция выполняется большую часть времени. Его работа как ожидалось большую часть времени. Но иногда также называют ProcessPurchase и OnPurchaseFailed. Это случайное поведение предполагает, что в Unity IAP-модуле должно быть что-то неправильно, или его поведение несовместимо во всех устройствах Android. Не путайте ошибку проверки учетной записи Google в собственном диалоговом окне. Его же случай с моими другими уважительными счетами тоже ....

enter image description here

+1

Unity использует централизованный обработчик для управления IAP на любой платформе. Поэтому, если ваш код iOS работает, он также должен работать на Android. Однако качество вопроса очень плохое. Вы должны добавить код или фотографии, чтобы помочь нам ... Следуйте этому руководству -> https://www.youtube.com/watch?v=GLmwpz5JAwY – Cabrra

+0

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

+0

, и когда это произойдет, это сообщение, которое оно выбрасывает «PurchaseFailureReason.ExistingPurchasePending» – Kenshin

ответ

0

Наконец я нашел ответ на свой вопрос ...

Я запуск InApp вызова покупки дважды одновременно.

В единстве я случайно поставил одну кнопку под другую. Это был первый запуск IAP-звонка дважды ... После того, как он удалил это, все начало работать нормально ....

У меня есть еще одна проблема: из 8 НЕ РАСХОДОВ И 4 РАСХОДА, два расходных материала действуют как неиспользованные. ... Есть идеи ???

Обновление: Эти 2 предмета были объявлены как не используемые расходные материалы и совершили покупку, прежде чем менять их на расходные материалы. Это и послужило причиной такого неосознанного поведения. Теперь все работает нормально.