Полезная нагрузка разработчика, Полезная нагрузка разработчика, Полезная нагрузка разработчика

Полезная нагрузка разработчика исторически использовалась для различных целей, включая предотвращение мошенничества и привязку покупок к нужному пользователю. В версии 2.2 и более поздних версиях библиотеки Google Play Billing Library предполагаемые варианты использования, которые раньше полагались на полезную нагрузку разработчика, теперь полностью поддерживаются в других частях библиотеки.

Благодаря этой поддержке мы упразднили полезную нагрузку для разработчиков, начиная с версии 2.2 Библиотеки выставления счетов Google Play. Методы, связанные с полезной нагрузкой разработчика, устарели в версии 2.2 и были удалены в версии 3.0. Обратите внимание, что ваше приложение может продолжать получать полезные данные разработчика для покупок, совершенных с использованием предыдущих версий библиотеки или AIDL.

Подробный список изменений можно найти в примечаниях к выпуску Google Play Billing Library 2.2 . и примечания к выпуску библиотеки Google Play Billing Library 3.0 .

Проверка покупки

Чтобы гарантировать, что покупки являются подлинными, а не подделанными или воспроизведенными, Google рекомендует использовать токен покупки (полученный из метода getPurchaseToken() в объекте Purchase ) вместе с API-интерфейсами разработчика Google Play для проверки подлинности покупок. Дополнительную информацию см. в разделе Борьба с мошенничеством и злоупотреблениями .

Атрибуция покупки

Многим приложениям, особенно играм, необходимо гарантировать, что покупка правильно связана с игровым персонажем/аватаром или профилем пользователя в приложении, который инициировал покупку. Начиная с библиотеки Google Play Billing Library 2.2, ваше приложение может передавать в Google скрытые идентификаторы учетной записи и профиля при запуске диалогового окна покупки и возвращать их при получении покупки.

Используйте параметры setObfuscatedAccountId() и setObfuscatedProfileId() в BillingFlowParams и получите их с помощью метода getAccountIdentifiers() в объекте Purchase .

Свяжите метаданные с покупкой

Google рекомендует хранить метаданные о покупке на защищенном внутреннем сервере, который вы поддерживаете. Эти метаданные покупки должны быть связаны с токеном покупки, полученным с помощью метода getPurchaseToken в объекте Purchase . Эти данные можно сохранить, передав токен покупки и метаданные на серверную часть при вызове PurchasesUpdatedListener после успешной покупки.

Чтобы гарантировать связь метаданных в случае прерывания процесса покупки, Google рекомендует хранить метаданные на вашем внутреннем сервере перед запуском диалогового окна покупки и связывать их с идентификатором учетной записи вашего пользователя, приобретаемым SKU и текущей отметкой времени.

Если поток покупки прерывается до вызова PurchasesUpdatedListener , ваше приложение обнаружит покупку, как только ваше приложение возобновит работу и вызовет BillingClient.queryPurchasesAsync() . Затем вы можете отправить значения, полученные из методов getPurchaseTime() , getSku() и getPurchaseToken() объекта Purchase , на свой внутренний сервер для поиска метаданных, связывания метаданных с токеном покупки и продолжения обработки покупки. Обратите внимание, что первоначально сохраненная вами временная метка не будет точно соответствовать значению из getPurchaseTime() объекта Purchase , поэтому вам придется сравнить их приблизительно. Например, вы можете проверить, находятся ли значения в пределах определенного периода времени друг от друга.

,

Полезная нагрузка разработчика исторически использовалась для различных целей, включая предотвращение мошенничества и привязку покупок к нужному пользователю. В версии 2.2 и более поздних версиях библиотеки Google Play Billing Library предполагаемые варианты использования, которые раньше полагались на полезную нагрузку разработчика, теперь полностью поддерживаются в других частях библиотеки.

Благодаря этой поддержке мы упразднили полезную нагрузку для разработчиков, начиная с версии 2.2 Библиотеки выставления счетов Google Play. Методы, связанные с полезной нагрузкой разработчика, устарели в версии 2.2 и были удалены в версии 3.0. Обратите внимание, что ваше приложение может продолжать получать полезные данные разработчика для покупок, совершенных с использованием предыдущих версий библиотеки или AIDL.

Подробный список изменений можно найти в примечаниях к выпуску Google Play Billing Library 2.2 . и примечания к выпуску библиотеки Google Play Billing Library 3.0 .

Проверка покупки

Чтобы гарантировать, что покупки являются подлинными, а не подделанными или воспроизведенными, Google рекомендует использовать токен покупки (полученный из метода getPurchaseToken() в объекте Purchase ) вместе с API-интерфейсами разработчика Google Play для проверки подлинности покупок. Дополнительную информацию см. в разделе Борьба с мошенничеством и злоупотреблениями .

Атрибуция покупки

Многим приложениям, особенно играм, необходимо гарантировать, что покупка правильно связана с игровым персонажем/аватаром или профилем пользователя в приложении, который инициировал покупку. Начиная с библиотеки Google Play Billing Library 2.2, ваше приложение может передавать в Google скрытые идентификаторы учетной записи и профиля при запуске диалогового окна покупки и возвращать их при получении покупки.

Используйте параметры setObfuscatedAccountId() и setObfuscatedProfileId() в BillingFlowParams и получите их с помощью метода getAccountIdentifiers() в объекте Purchase .

Свяжите метаданные с покупкой

Google рекомендует хранить метаданные о покупке на защищенном внутреннем сервере, который вы поддерживаете. Эти метаданные покупки должны быть связаны с токеном покупки, полученным с помощью метода getPurchaseToken в объекте Purchase . Эти данные можно сохранить, передав токен покупки и метаданные на серверную часть при вызове PurchasesUpdatedListener после успешной покупки.

Чтобы гарантировать связь метаданных в случае прерывания процесса покупки, Google рекомендует хранить метаданные на вашем внутреннем сервере перед запуском диалогового окна покупки и связывать их с идентификатором учетной записи вашего пользователя, приобретаемым SKU и текущей отметкой времени.

Если поток покупки прерывается до вызова PurchasesUpdatedListener , ваше приложение обнаружит покупку, как только ваше приложение возобновит работу и вызовет BillingClient.queryPurchasesAsync() . Затем вы можете отправить значения, полученные из методов getPurchaseTime() , getSku() и getPurchaseToken() объекта Purchase , на свой внутренний сервер для поиска метаданных, связывания метаданных с токеном покупки и продолжения обработки покупки. Обратите внимание, что первоначально сохраненная вами временная метка не будет точно соответствовать значению из getPurchaseTime() объекта Purchase , поэтому вам придется сравнить их приблизительно. Например, вы можете проверить, находятся ли значения в пределах определенного периода времени друг от друга.

,

Полезная нагрузка разработчика исторически использовалась для различных целей, включая предотвращение мошенничества и привязку покупок к нужному пользователю. В версии 2.2 и более поздних версиях библиотеки Google Play Billing Library предполагаемые варианты использования, которые раньше полагались на полезную нагрузку разработчика, теперь полностью поддерживаются в других частях библиотеки.

Благодаря этой поддержке мы упразднили полезную нагрузку для разработчиков, начиная с версии 2.2 Библиотеки выставления счетов Google Play. Методы, связанные с полезной нагрузкой разработчика, устарели в версии 2.2 и были удалены в версии 3.0. Обратите внимание, что ваше приложение может продолжать получать полезные данные разработчика для покупок, совершенных с использованием предыдущих версий библиотеки или AIDL.

Подробный список изменений можно найти в примечаниях к выпуску библиотеки Google Play Billing Library 2.2 . и примечания к выпуску библиотеки Google Play Billing Library 3.0 .

Проверка покупки

Чтобы гарантировать, что покупки являются подлинными, а не подделанными или воспроизведенными, Google рекомендует использовать токен покупки (полученный из метода getPurchaseToken() в объекте Purchase ) вместе с API-интерфейсами разработчика Google Play для проверки подлинности покупок. Дополнительную информацию см. в разделе Борьба с мошенничеством и злоупотреблениями .

Атрибуция покупки

Многим приложениям, особенно играм, необходимо гарантировать, что покупка правильно связана с игровым персонажем/аватаром или профилем пользователя в приложении, который инициировал покупку. Начиная с библиотеки Google Play Billing Library 2.2, ваше приложение может передавать в Google скрытые идентификаторы учетной записи и профиля при запуске диалогового окна покупки и возвращать их при получении покупки.

Используйте параметры setObfuscatedAccountId() и setObfuscatedProfileId() в BillingFlowParams и получите их с помощью метода getAccountIdentifiers() в объекте Purchase .

Свяжите метаданные с покупкой

Google рекомендует хранить метаданные о покупке на защищенном внутреннем сервере, который вы поддерживаете. Эти метаданные покупки должны быть связаны с токеном покупки, полученным с помощью метода getPurchaseToken в объекте Purchase . Эти данные можно сохранить, передав токен покупки и метаданные на серверную часть при вызове PurchasesUpdatedListener после успешной покупки.

Чтобы гарантировать связь метаданных в случае прерывания процесса покупки, Google рекомендует хранить метаданные на вашем внутреннем сервере перед запуском диалогового окна покупки и связывать их с идентификатором учетной записи вашего пользователя, приобретаемым SKU и текущей отметкой времени.

Если поток покупки прерывается до вызова PurchasesUpdatedListener , ваше приложение обнаружит покупку, как только ваше приложение возобновит работу и вызовет BillingClient.queryPurchasesAsync() . Затем вы можете отправить значения, полученные из методов getPurchaseTime() , getSku() и getPurchaseToken() объекта Purchase , на свой внутренний сервер для поиска метаданных, связывания метаданных с токеном покупки и продолжения обработки покупки. Обратите внимание, что первоначально сохраненная вами временная метка не будет точно соответствовать значению из getPurchaseTime() объекта Purchase , поэтому вам придется сравнить их приблизительно. Например, вы можете проверить, находятся ли значения в пределах определенного периода времени друг от друга.