AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Cross-Platform-Entwicklung iOS In App nach Bewertung fragen: So hab ich es gemacht
Thema durchsuchen
Ansicht
Themen-Optionen

In App nach Bewertung fragen: So hab ich es gemacht

Ein Thema von Darlo · begonnen am 7. Mai 2013 · letzter Beitrag vom 8. Mai 2013
Antwort Antwort
Darlo

Registriert seit: 28. Jul 2008
Ort: München
1.196 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#1

In App nach Bewertung fragen: So hab ich es gemacht

  Alt 7. Mai 2013, 15:10
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;
Philip
  Mit Zitat antworten Zitat
Benutzerbild von sx2008
sx2008

Registriert seit: 15. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#2

AW: In App nach Bewertung fragen: So hab ich es gemacht

  Alt 7. Mai 2013, 21:19
Die App-ID solltest du askToRate als Parameter übergeben.
Und falls openURL() einen Rückgabewert hat, dann wäre es nützlich diesen auszuwerten und davon die Änderung in der Tabelle Einstellungen abhängig zu machen.
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#3

AW: In App nach Bewertung fragen: So hab ich es gemacht

  Alt 7. Mai 2013, 21:41
Also wenn es um die Optimierung geht, dann würde ich die SQL Teile separieren und SharedApplication sowie StrToNSUrl in eine eigene Unit auslaern, denn diese Funktionen wird man immer wieder brauchen
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Furtbichler
(Gast)

n/a Beiträge
 
#4

AW: In App nach Bewertung fragen: So hab ich es gemacht

  Alt 8. Mai 2013, 07:28
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?
  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 15:07 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