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;