![]() |
In App nach Bewertung fragen: So hab ich es gemacht
Hallo zusammen,
für alle die es auch brauchen. Bitte den Aufbau/Logik der Datenbank ignorieren, der Focus lag auf anderen Dingen ;-) Ich rufe askToRate dann einfach an der gewünschten Stelle im Programm auf.
Delphi-Quellcode:
procedure TfrmMain.FormCreate(Sender: TObject);
var bereitsBewertet: boolean; begin uniconnection1.Open; uniquery1.SQL.Text := 'SELECT * FROM einstellungen'; uniquery1.Open; if uniquery1.RecordCount = 0 then bereitsBewertet := false else bereitsBewertet := (uniquery1.FieldByName('bewertet').AsBoolean); uniquery1.Close; uniQuery1.SQL.Text := 'INSERT INTO einstellungen (zeitpunkt, bewertet) VALUES (:_xTs, :_xB)'; uniquery1.ParamByName('_xTs').AsDateTime := now; uniquery1.ParamByName('_xB').AsBoolean := bereitsBewertet; uniquery1.ExecSQL; uniquery1.SQL.Text := 'SELECT * FROM einstellungen'; uniquery1.Open; uniquery1.FindLast; ask4Rate := not bereitsBewertet; end; procedure TfrmMain.askToRate; begin if ask4Rate then begin ask4Rate := false; if MessageDlg('Wir freuen uns über Ihre Bewertung im AppStore!'+#10#13+ 'Möchten Sie jetzt eine Bewertung abgeben?', TMsgDlgType.mtConfirmation, mbYesNoCancel,0) = mrYes then begin uniQuery1.SQL.Text := 'UPDATE einstellungen SET bewertet = :_xBewertet'; uniquery1.ParamByName('_xBewertet').AsBoolean := true; uniquery1.ExecSQL; SharedApplication.openURL( StrToNSUrl('itms-apps://ax.itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?type=Purple+Software&id=XXXXXXXX')); // Hier die ID der App eintragen end; end; end; function TfrmMain.StrToNSUrl(const AStr: string): NSUrl; begin Result := TNSUrl.Wrap(TNSUrl.OCClass.URLWithString(NSSTR(AStr))); end; function TfrmMain.SharedApplication: UIApplication; begin Result := TUIApplication.Wrap(TUIApplication.OCClass.SharedApplication); end; |
AW: In App nach Bewertung fragen: So hab ich es gemacht
Die App-ID solltest du
Delphi-Quellcode:
als Parameter übergeben.
askToRate
Und falls
Delphi-Quellcode:
einen Rückgabewert hat, dann wäre es nützlich diesen auszuwerten und davon die Änderung in der Tabelle Einstellungen abhängig zu machen.
openURL()
|
AW: In App nach Bewertung fragen: So hab ich es gemacht
Also wenn es um die Optimierung geht, dann würde ich die SQL Teile separieren und
Delphi-Quellcode:
sowie
SharedApplication
Delphi-Quellcode:
in eine eigene Unit auslaern, denn diese Funktionen wird man immer wieder brauchen
StrToNSUrl
|
AW: In App nach Bewertung fragen: So hab ich es gemacht
Und vielleicht zwei 'uniQuery' Objekte verwenden. Eins für's select, und eins für update... Kann man mit dieser UniConnection keine Befehle direkt abschicken?
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:47 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz