Einzelnen Beitrag anzeigen

arnof

Registriert seit: 25. Apr 2013
1.252 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#4

AW: inApp Kauf Umsetzung iOS

  Alt 5. Dez 2014, 11:35
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!
  Mit Zitat antworten Zitat