В этом документе описывается, как обнаруживать и предоставлять разовые товары в вашей игре после того, как игроки приобретут их за игровые баллы в приложении Google Play.
После того, как пользователи обменяют свои Play Points на разовый товар в приложении Google Play, товары должны быть немедленно доставлены в вашу игру. Ниже показано, как пользователь покупает товары за Play Points.
| 1. Нажмите «Играть очки» . | 2. Для просмотра элементов нажмите вкладку « Использование» . | 3. Выберите товар и нажмите «Использовать баллы» , чтобы завершить покупку. | 4. Получите товар. |
![]() | ![]() | ![]() | ![]() |
В приведенном примере игра не запущена во время покупки продукта. Пользователи также могут обменивать игровые баллы на продукты, даже когда игра не установлена на их устройстве. Поэтому вам необходимо разработать игру таким образом, чтобы она обрабатывала доставку внутриигровых предметов извне внутриигрового магазина.
Прежде чем начать
Прежде чем обнаружить и предоставить разовый продукт, необходимо создать сам продукт и рекламные акции с использованием игровых баллов .
Требования к доставке
При использовании акции с игровыми баллами для разовой доставки товаров в игре необходимо соблюдать требования, изложенные в этом разделе.
Сроки доставки
Когда игрок обменивает игровые баллы на разовый товар, используйте библиотеку Google Play Billing , чтобы получить этот товар своевременно.
Сообщение о доставке
После того, как пользователь вернется в вашу игру после покупки разового товара вне игры, вы должны отобразить в игре подтверждение успешного получения товара. Сообщение должно отображаться в виде диалога или внутриигрового сообщения. Пользователям не должно требоваться предпринимать никаких дополнительных действий для получения предмета.
Вот требуемый формат сообщений:
Чёткое сообщение о том, что товар получен.
Чётко указывайте название предмета и упоминайте «Игровые очки», чтобы пользователи могли отличить его от другого контента, который они получают.
В названии товара также необходимо указать его номинал, если существуют аналогичные товары с несколькими номиналами.
Диалоговое окно, сообщение или внутриигровое уведомление должны оставаться видимыми для пользователя до тех пор, пока он не нажмет кнопку подтверждения, например, «Продолжить» или «ОК» . Кнопки «Отмена» быть не должно, поскольку это сообщение предназначено только для уведомления пользователей о полученном в игре предмете. Если кнопки подтверждения нет, сообщение должно оставаться видимым для пользователей не менее 3 секунд, прежде чем исчезнуть, чтобы пользователи знали, что получили свой предмет.
Вот пример сообщения:
«Предмет получен! Вы только что получили 100 самоцветов в виде игровых очков. Продолжайте.»
Пользователи должны увидеть анимацию или визуальное подтверждение увеличения баланса внутриигровой валюты. Если предмет является прочным или расходным предметом внутри приложения, пользователей следует перенаправить на страницу, где этот предмет был разблокирован или доступен в игре.
Обнаружение предметов, полученных вне игры.
Если ваша игра использует платежную систему Google Play , см. раздел «Обнаружение и обработка покупок» , чтобы выявлять разовые покупки, совершенные вне игры.
Отобразить подтверждение доставки
Когда пользователи обменивают игровые баллы на предметы, они ожидают, что игра отобразит внутриигровое сообщение или выдаст какое-либо уведомление о том, что игра корректно получила и обработала предмет. См. раздел «Уведомление пользователя» , чтобы подтвердить успешную покупку.
Обновления для конкретных игровых движков
Вот несколько моментов, которые следует учитывать при выборе конкретного игрового движка:
Если ваша игра создана на Unity, мы рекомендуем проверить, поддерживает ли используемая вами реализация внутриигровых покупок уже акции с использованием Play Points.
Если ваша игра создана с использованием Cocos2d-x или Unreal Engine (C/C++), вам, скорее всего, потребуется написать код JNI, который будет вызывать Java API из вашего кода на C/C++.
Рекомендации по использованию серверной части
В этом разделе представлены рекомендации по использованию серверной части для проведения акций с использованием Play Points:
Если вы вызываете
Purchases.products: getна своем сервере, проверьте, нужно ли вам обрабатывать предметы обмена Play rewards и другие разовые продукты отдельно в зависимости от значенийproductId.Если вы используете на своем сервере
Onetimeproducts: list, проверьте, нужно ли разделять предметы обмена Play rewards от других разовых продуктов по значениямproductId.Ознакомьтесь со следующими рекомендациями, чтобы определить, нужно ли внести дополнительные изменения:
- Ссылка:
- Реализуйте проверку подписи на стороне сервера.
- Убедитесь, что значения
purchaseTokenиorderIdуникальны и ранее не использовались.
Поиск неисправностей
В этом разделе представлены рекомендации по сценариям, которые могут привести к запросам клиентов.
Несколько учетных записей пользователей
Если у пользователя на устройстве несколько учетных записей Google, и он использует Play Points на неправильной учетной записи, Google не сможет перенести предметы на другие учетные записи. Аналогично, ваше приложение не сможет перенести предмет, вызвав метод getPurchases() . В этом случае рассмотрите возможность предоставления пользователю внутриигровых предметов вручную через службу поддержки клиентов.
Задержка или отсутствие товаров
Если игроки столкнулись с задержкой или отсутствием наград, обратитесь к руководству по устранению неполадок с внутриигровыми покупками в справочной документации Google Play.



