Обнаружение и доставка элементов в приложении, Обнаружение и доставка элементов в приложении

В этом разделе описывается, как обнаруживать и доставлять внутриигровые продукты в вашей игре после того, как игроки приобретут их за баллы Play Points в приложении Google Play.

Как только пользователи обменивают свои баллы Play Points на внутриигровые продукты в приложении Google Play, эти предметы должны быть немедленно добавлены в вашу игру. Ниже показано, как пользователь покупает товары с помощью баллов Play Points.

1. Нажмите «Очки игры» . 1. Перейдите на вкладку «Использовать» , чтобы просмотреть элементы. 2. Выберите товар и нажмите «Использовать баллы», чтобы завершить покупку. 3. Получите товар.
Скриншот TBDСкриншот TBDСкриншот TBDСкриншот TBD

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

Прежде чем начать

Прежде чем вы обнаружите и доставите продукт для продажи в приложении, вам необходимо создать продукт и рекламные акции Play Points .

Требования к доставке

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

Сроки доставки

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

Сообщение о доставке

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

Вот необходимый формат сообщения:

  • Четкое сообщение о том, что товар получен.

  • Четко указывайте название элемента и используйте ссылку «Очки Play Points», чтобы пользователи могли отличить его от другого контента, который они получают.

  • Название предмета также должно содержать правильный номинал предмета, если существуют похожие предметы с несколькими номиналами.

  • Всплывающее диалоговое окно, сообщение или внутриигровое уведомление должно быть видно пользователю до тех пор, пока он не нажмет подтверждение, например «Продолжить» или «ОК» . Кнопки отмены быть не должно, поскольку это сообщение предназначено только для уведомления пользователей о предмете, который они получили в игре. Если кнопки подтверждения нет, сообщение должно быть видно пользователям в течение как минимум 3 секунд, прежде чем исчезнуть, чтобы пользователи знали, что они получили свой товар.

Вот пример сообщения:

«Товар получен! Вы только что получили 100 драгоценных камней за баллы Play Points. Продолжайте».

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

Обнаружение предметов, полученных вне игры

Если ваша игра использует Библиотеку выставления счетов Google Play , внесите следующие изменения, чтобы обнаружить продукты внутри приложения, полученные вне игры.

  1. В обратном вызове onResume() вашей игры вызовите метод queryPurchases() , чтобы получить список элементов, чтобы вы могли определить, какие из них не подтверждены.

  2. Если у вашей игры есть сервер, мы настоятельно рекомендуем вам подтвердить покупку с вашего сервера с помощью API подписок и покупок в приложениях .

  3. Если есть принадлежащие, но неподтвержденные предметы, подтвердите покупку либо с помощью consumeAsync() для расходуемых предметов, либо с помощью acknowledgePurchase() для непотребляемых предметов.

  4. Предоставьте право на купленный предмет внутри игры.

Обнаружение элементов, полученных в режиме разделенного экрана

Если ваша игра поддерживает многооконный режим , пользователи могут обменять баллы Play Points и получить предмет, одновременно запуская приложение Play Store и вашу игру. На этом снимке экрана показан пример:

Снимок экрана, на котором кнопка «Погасить баллы» отображается во время игры.

Чтобы поддержать этот сценарий с помощью библиотеки платежей Google Play, выполните следующие действия:

  1. Google Play вызывает метод onPurchasesUpdated() , чтобы уведомить вашу игру о наличии нового ожидающего элемента.

  2. Если у вашей игры есть сервер, мы настоятельно рекомендуем вам подтвердить покупку с вашего сервера с помощью API подписок и покупок в приложениях .

  3. Подтвердите покупку либо с помощью consumeAsync() для расходных материалов, либо с помощью acknowledgePurchase() для непотребляемых товаров.

  4. Предоставьте право на купленный предмет внутри игры.

Отображение подтверждения доставки

Когда пользователи обменивают баллы 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 .

  • Ознакомьтесь со следующими рекомендациями, чтобы проверить, нужно ли вам вносить дополнительные изменения:

Поиск неисправностей

В этом разделе содержатся рекомендации для сценариев, которые могут привести к запросам клиентов.

Несколько учетных записей пользователей

Если у пользователя есть несколько учетных записей Google на своем устройстве и он использует баллы Play Points не для той учетной записи, Google не может перенести элементы в другие учетные записи. Аналогично, ваше приложение не может передать элемент, вызвав метод getPurchases() . В этом сценарии рассмотрите возможность предоставления элементов внутри приложения пользователю вручную с помощью операций поддержки клиентов.

Задержанные или недостающие товары

Если у игроков возникают задержки или отсутствие наград, см. руководство по устранению неполадок, связанных с покупками в приложении, в справочной документации Google Play.

,

В этом разделе описывается, как обнаруживать и доставлять внутриигровые продукты в вашей игре после того, как игроки приобретут их за баллы Play Points в приложении Google Play.

Как только пользователи обменивают свои баллы Play Points на внутриигровые продукты в приложении Google Play, эти предметы должны быть немедленно добавлены в вашу игру. Ниже показано, как пользователь покупает товары с помощью баллов Play Points.

1. Нажмите «Очки игры» . 1. Перейдите на вкладку «Использовать» , чтобы просмотреть элементы. 2. Выберите товар и нажмите «Использовать баллы», чтобы завершить покупку. 3. Получите товар.
Скриншот TBDСкриншот TBDСкриншот TBDСкриншот TBD

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

Прежде чем начать

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

Требования к доставке

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

Сроки доставки

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

Сообщение о доставке

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

Вот необходимый формат сообщения:

  • Четкое сообщение о том, что товар получен.

  • Четко указывайте название элемента и используйте ссылку «Очки Play Points», чтобы пользователи могли отличить его от другого контента, который они получают.

  • Название предмета также должно содержать правильный номинал предмета, если существуют похожие предметы с несколькими номиналами.

  • Всплывающее диалоговое окно, сообщение или внутриигровое уведомление должно быть видно пользователю до тех пор, пока он не нажмет подтверждение, например «Продолжить» или «ОК» . Кнопки отмены быть не должно, поскольку это сообщение предназначено только для уведомления пользователей о предмете, который они получили в игре. Если кнопки подтверждения нет, сообщение должно быть видно пользователям в течение как минимум 3 секунд, прежде чем исчезнуть, чтобы пользователи знали, что они получили свой товар.

Вот пример сообщения:

«Товар получен! Вы только что получили 100 драгоценных камней за баллы Play Points. Продолжайте».

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

Обнаружение предметов, полученных вне игры

Если ваша игра использует Библиотеку выставления счетов Google Play , внесите следующие изменения, чтобы обнаружить продукты внутри приложения, полученные вне игры.

  1. В обратном вызове onResume() вашей игры вызовите метод queryPurchases() , чтобы получить список элементов, чтобы вы могли определить, какие из них не подтверждены.

  2. Если у вашей игры есть сервер, мы настоятельно рекомендуем вам подтвердить покупку с вашего сервера с помощью API подписок и покупок в приложениях .

  3. Если есть принадлежащие, но неподтвержденные предметы, подтвердите покупку либо с помощью consumeAsync() для расходуемых предметов, либо с помощью acknowledgePurchase() для непотребляемых предметов.

  4. Предоставьте право на купленный предмет внутри игры.

Обнаружение элементов, полученных в режиме разделенного экрана

Если ваша игра поддерживает многооконный режим , пользователи могут обменять баллы Play Points и получить предмет, одновременно запуская приложение Play Store и вашу игру. На этом снимке экрана показан пример:

Снимок экрана, на котором кнопка «Погасить баллы» отображается во время игры.

Чтобы поддержать этот сценарий с помощью библиотеки платежей Google Play, выполните следующие действия:

  1. Google Play вызывает метод onPurchasesUpdated() , чтобы уведомить вашу игру о наличии нового ожидающего элемента.

  2. Если у вашей игры есть сервер, мы настоятельно рекомендуем вам подтвердить покупку с вашего сервера с помощью API подписок и покупок в приложениях .

  3. Подтвердите покупку либо с помощью consumeAsync() для расходных материалов, либо с помощью acknowledgePurchase() для непотребляемых товаров.

  4. Предоставьте право на купленный предмет внутри игры.

Отображение подтверждения доставки

Когда пользователи обменивают баллы 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 .

  • Ознакомьтесь со следующими рекомендациями, чтобы проверить, нужно ли вам вносить дополнительные изменения:

Поиск неисправностей

В этом разделе содержатся рекомендации для сценариев, которые могут привести к запросам клиентов.

Несколько учетных записей пользователей

Если у пользователя есть несколько учетных записей Google на своем устройстве и он использует баллы Play Points не для той учетной записи, Google не может перенести элементы в другие учетные записи. Аналогично, ваше приложение не может передать элемент, вызвав метод getPurchases() . В этом сценарии рассмотрите возможность предоставления элементов внутри приложения пользователю вручную с помощью операций поддержки клиентов.

Задержанные или недостающие товары

Если у игроков возникают задержки или отсутствие наград, см. руководство по устранению неполадок, связанных с покупками в приложении, в справочной документации Google Play.