Перейти к содержанию
Fire Monkey от А до Я

ggravee

Пользователи
  • Постов

    4
  • Зарегистрирован

  • Посещение

Посетители профиля

561 просмотр профиля

Достижения ggravee

  1. ggravee

    InAppPurchase

    у меня работает через пару секунд... народ пишет, что как повезет. вообще, как наиболее напряжуную и "опасную" фичу, пишут про неспешное подключение тестовых аков для покупки (чтоб деньги не списывались)
  2. ggravee

    InAppPurchase

    Проблему решил. Тему можно закрывать или удалять (если неинтересная). Забыл поставить FInAppPurchase.QueryProducts; после сетапа. Хотя странное поведение Memo это не объясняет...
  3. ggravee

    InAppPurchase

    Интересно. Попытки что-либо выводить в Memo внутри всяких процедур типа InAppPurchaseError, InAppProductsRequestResponse и т.п. приводит к слету приложения. Причем в некоторых процедурах сразу, в других после вывода 5-6 строки. И неважно сколько времени между попытками вывода делается. Под дебаггером сообщает о обращении к какому-то запрещенному адресу или Segmentation erorr 11. Закономерности в появлении видов ошибки пока не заметил.
  4. ggravee

    InAppPurchase

    Добрый день. У кого-то есть опыт с InAppPurchase в xe7 для Android ? Информации в интернете очень мало. Нужна помощь. Прочитав документацию и доступную в Интернете информацию я смог настроить тестовое приложение, тестовые аккаунты для покупки и тестовые "товары". Покупку можно совершить. Однако после надписи про успешную проплату приложение зависает на несколько секунд после чего либо просто вылетает, либо рестартует. После этого товар уже считает купленным, однаком consume не работает, IsProductPurchased всегда возвращает false, RestorePurchasedProducts не вызывает PurchaseCompleted (как я понял по документации - должен). Ниже приведен код type TShopForm = class(TForm) Button1: TButton; Button2: TButton; Memo1: TMemo; procedure FormCreate(Sender: TObject); procedure Button1Click(Sender: TObject); procedure InAppPurchaseError (Sender: TObject; ErrorKind: TFailureKind; const ErrorMessage: string); procedure InAppPurchaseCompleted(Sender: TObject; const ProductID: string; NewTransaction: Boolean); procedure InAppProductsRequestResponse(Sender: TObject; const Products: TIAPProductList; const InvalidProductIDs: TStrings); procedure InAppPurchaseSetupComplete(Sender: TObject); private FInAppPurchase: TInAppPurchase; { Private declarations } public { Public declarations } end; var ShopForm: TShopForm; implementation const testp='test13'; procedure mlog(s: string); begin ShopForm.Memo1.Lines.Add(s); end; procedure TShopForm.Button1Click(Sender: TObject); begin FInAppPurchase.PurchaseProduct(testp); end; procedure TShopForm.InAppPurchaseSetupComplete(Sender: TObject); begin mlog('setup complete'); end; procedure TShopForm.InAppProductsRequestResponse(Sender: TObject; const Products: TIAPProductList; const InvalidProductIDs: TStrings); begin mlog('ProductsRequestResponse'); end; procedure TShopForm.InAppPurchaseError(Sender: TObject; ErrorKind: TFailureKind; const ErrorMessage: string); begin mlog('error '+ErrorMessage); end; procedure TShopForm.InAppPurchaseCompleted(Sender: TObject; const ProductID: string; NewTransaction: Boolean); begin mlog('Purchase '+ProductID); end; procedure InAppConsumeCompleted(Sender: TObject; const ProductID:string); begin mlog('!consume '+ProductID); end; procedure TShopForm.FormCreate(Sender: TObject); begin FInAppPurchase:=TInAppPurchase.Create(self); FInAppPurchase.ApplicationLicenseKey:='MI....'; FInAppPurchase.ProductIDs.Add(testp); FInAppPurchase.OnSetupComplete:=InAppPurchaseSetupComplete; FInAppPurchase.OnProductsRequestResponse:=InAppProductsRequestResponse; FInAppPurchase.OnError:=InAppPurchaseError; FInAppPurchase.OnPurchaseCompleted:=InAppPurchaseCompleted; FInAppPurchase.SetupInAppPurchase; end; Может кто-то хоть подскажет в какую сторону копать. Или покажет работающий код. Или какие-то аналоги компоненту InAppPurchase посоветует. Буду очень благодарен.
×
×
  • Создать...