ja die Doku ist echt nicht mein Ding (vielleicht habe ich das richtige auch nicht gelesen).
Es gibt sogar ein Beispiel: 15.0\Samples\Object Pascal\Mobile Samples\Device Sensors and Services\CapitalIAP
Aber dort wird TInAppPurchase Komponente dynamisch erzeugt, so das man es auf den ersten Blick gar nicht versteht
Hier mal eine kleine Anleitung wie es geht:
1. Abfragen der inApp Produkte zum App (die muss man vorher in itunesconnect angelegt haben):
InAppPurchase1.SetupInAppPurchase;
InAppPurchase1.QueryProducts;
2. das löst das Ereignis ProductsRequestResponse aus. Hier bekommt man alle inApps mitgeteilt incl lokaler Sprache und Preis:
Delphi-Quellcode:
procedure TFM_Haupt.InAppPurchase1ProductsRequestResponse(Sender: TObject;
const Products: TIAPProductList; const InvalidProductIDs: TStrings);
var
Product: TProduct;
Item:TListViewItem;
begin
ListView1.Items.Clear;
for Product in Products do
begin
item:=ListView1.Items.Add;
Item.Text:=Product.LocalizedTitle;
Item.Detail:='Price: '+Product.LocalizedPrice;
end;
end;
3. der Kauf eines inApps:
InAppPurchase1.PurchaseProduct('MEINE selbst ANGELEGTE ID');
4. wenn der Kunde das mal gekauft hatte, so kann man dieses wieder herstellen lassen:
InAppPurchase1.RestorePurchasedProducts;
5. wenn der Kauf erfolgreich war, dann wird das Ereignis PurchaseCompleted ausgelöst
Delphi-Quellcode:
InAppPurchase1PurchaseCompleted(Sender: TObject;
const ProductID: string; NewTransaction: Boolean);
begin
if (ProductID=meine_Produkt_id) then begin
//mach irgendwas, damit ich mir das merke
...
Hier lege ich mir eine Datei an. Die Existenz dieser Datei frage ich beim Programmstart ab, um festzustellen, ob er das Modul schon gekauft hat!