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