AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

inApp Kauf Umsetzung iOS

Ein Thema von arnof · begonnen am 5. Dez 2014 · letzter Beitrag vom 7. Dez 2014
Antwort Antwort
arnof

Registriert seit: 25. Apr 2013
1.254 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#1

inApp Kauf Umsetzung iOS

  Alt 5. Dez 2014, 08:49
Hi,

ich versuche mich gerade daran mit der TInAppPurchase Komponente:

- welche ProduktID muss man angeben meine SKU Nummer oder die von Apple erzeugt Nummer?

- kann man den Preis eines inApps ermitteln? Weltweit gibt es ja unterschiedliche Preise für eine Preisstufe. Hier würde ich gerne dem User den Preis vorher zeigen!
  Mit Zitat antworten Zitat
arnof

Registriert seit: 25. Apr 2013
1.254 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#2

AW: inApp Kauf Umsetzung iOS

  Alt 5. Dez 2014, 11:37
gelöst
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: inApp Kauf Umsetzung iOS

  Alt 5. Dez 2014, 11:40
Und wie?
Markus Kinzler
  Mit Zitat antworten Zitat
arnof

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

AW: inApp Kauf Umsetzung iOS

  Alt 5. Dez 2014, 12: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
Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.143 Beiträge
 
Delphi 10.3 Rio
 
#5

AW: inApp Kauf Umsetzung iOS

  Alt 5. Dez 2014, 17:55
Prima... Danke für die Info... Klingt erst mal nicht so kompliziert.

Die Frage ist wie verhindert man das ein Backup/Patchen/Restore nicht einen Kauf vorgaukelt.

Mavarik
  Mit Zitat antworten Zitat
arnof

Registriert seit: 25. Apr 2013
1.254 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#6

AW: inApp Kauf Umsetzung iOS

  Alt 5. Dez 2014, 20:24
Prima... Danke für die Info... Klingt erst mal nicht so kompliziert.

Die Frage ist wie verhindert man das ein Backup/Patchen/Restore nicht einen Kauf vorgaukelt.

Mavarik
Mit

InAppPurchase1.RestorePurchasedProducts;

kannste den alten Kauf prüfen, ist eigentlich dafür da, wenn man das App gelöscht hat oder einen Gerätewechsel gemacht hat.

Geändert von arnof ( 5. Dez 2014 um 20:27 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.143 Beiträge
 
Delphi 10.3 Rio
 
#7

AW: inApp Kauf Umsetzung iOS

  Alt 6. Dez 2014, 11:06
Mit

InAppPurchase1.RestorePurchasedProducts;

kannste den alten Kauf prüfen, ist eigentlich dafür da, wenn man das App gelöscht hat oder einen Gerätewechsel gemacht hat.
Ist das perfomat genug, dass Du das bei jedem Programmstart aufrufen kannst? Und was ist wenn der User zu diesem Zeitpunkt kein Internet mehr hat oder bewusst das Internet abstellt?
  Mit Zitat antworten Zitat
Daniel
(Co-Admin)

Registriert seit: 30. Mai 2002
Ort: Hamburg
13.920 Beiträge
 
Delphi 10.4 Sydney
 
#8

AW: inApp Kauf Umsetzung iOS

  Alt 6. Dez 2014, 11:54
Üblicherweise haben Anwendungen irgendwo eine Schaltfläche "Einkäufe wiederherstellen".
Ich sehe keinen zwingenden Grund, dies bei jedem Start zu versuchen. Der Anwender wird nach einer Neu-Installation schon merken, wenn ihm Dinge fehlen und es dürfte für ihn auch plausibel sein, dass er dann einmalig eine Aktion auslösen muss, um seine Zusatzfunktionen wieder zu erhalten.
Daniel R. Wolf
mit Grüßen aus Hamburg
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.143 Beiträge
 
Delphi 10.3 Rio
 
#9

AW: inApp Kauf Umsetzung iOS

  Alt 6. Dez 2014, 19:34
Üblicherweise haben Anwendungen irgendwo eine Schaltfläche "Einkäufe wiederherstellen".
Ich sehe keinen zwingenden Grund, dies bei jedem Start zu versuchen. Der Anwender wird nach einer Neu-Installation schon merken, wenn ihm Dinge fehlen und es dürfte für ihn auch plausibel sein, dass er dann einmalig eine Aktion auslösen muss, um seine Zusatzfunktionen wieder zu erhalten.
Das sehe ich auch so... Aber wenn Du z.b. in eine Ini Datei schreibst:

Modul1=true

und diese per Backup-> Patch ->Restore über iTunes wieder auf's device kommt hat der User die Funktionalität ohne zu bezahlen. Also muss man sich schon Gedanken darüber machen, wie man die Informationen auf dem Gerät ablegt.

Mavarik
  Mit Zitat antworten Zitat
arnof

Registriert seit: 25. Apr 2013
1.254 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#10

AW: inApp Kauf Umsetzung iOS

  Alt 7. Dez 2014, 10:00
Üblicherweise haben Anwendungen irgendwo eine Schaltfläche "Einkäufe wiederherstellen".
Ich sehe keinen zwingenden Grund, dies bei jedem Start zu versuchen. Der Anwender wird nach einer Neu-Installation schon merken, wenn ihm Dinge fehlen und es dürfte für ihn auch plausibel sein, dass er dann einmalig eine Aktion auslösen muss, um seine Zusatzfunktionen wieder zu erhalten.
Das sehe ich auch so... Aber wenn Du z.b. in eine Ini Datei schreibst:

Modul1=true

und diese per Backup-> Patch ->Restore über iTunes wieder auf's device kommt hat der User die Funktionalität ohne zu bezahlen. Also muss man sich schon Gedanken darüber machen, wie man die Informationen auf dem Gerät ablegt.

Mavarik
Hier muss man ja zugriff auf das Gerät haben und dann wenn man das mal gekauft hat ?

Wenn jemand das so macht um was illegales zu machen, dann geht das auch viel einfacher: User meldet sich einmalig mit einem anderen Appleaccount an und schon hat er Zugriff auf alles was mal unter dem anderen Account gekauft wurde ....
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:00 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz