Implementierung von In-App-Käufen in einer Electron App für den Mac App Store

8

Ich habe mich umgesehen und es sieht so aus, als ob mehrere Leute dieses Problem haben, aber niemand scheint es gelöst zu haben:

Hinzufügen von Apple In-App-Käufen zu Electron HTML / JS-App

Ссылка

Ссылка

Einige Leute schlagen vor, diese Knoten zu Objective-C-Brücke zu verwenden:

Ссылка

Andere Leute schlagen vor, diese In-App-Bibliothek zu verwenden, aber von dem, was ich sehen kann, werden nur Bestätigungen bestätigt:

Ссылка

Hat es tatsächlich jemand geschafft, In-App-Käufe in einer Electron App für den Mac App Store zu implementieren?

Wie hast du es gemacht?

Wenn es niemand getan hat, ist es einfach unmöglich zu tun?

    
Holger Edward Wardlow Sindbæk 15.10.2017, 10:04
quelle

2 Antworten

1

Erste Lösung

Ich habe diese Lösung implementiert und sie funktioniert in der Entwicklung (noch nicht in der Produktion getestet).

  1. Erstellen Sie eine MacOS-Anwendung (InAppPurchase) mit XCode, die den In-App-Kauf durchführt (siehe Ссылка )
  2. Platzieren Sie die InAppPurchase.app irgendwo in Ihrem Electron app-Ordner
  3. Verwende require('electron').shell.openItem oder require('child_process').spawn('./InAppPurchase.app/Contents/MacOS/InAppPurchase'); in deiner Electron-App, um den In-App-Kauf zu starten.

Das ist definitiv keine saubere Lösung, aber es scheint zu funktionieren ...

Zweite Lösung

Ich denke, dass es auch mit NodObjC gemacht werden kann. Diese Bibliothek ist jedoch im Vergleich zur ersten Lösung sehr schwer.

Dritte Lösung

In-App-Kauf direkt zu Electron hinzufügen.

Ich werde Sie auf dem Laufenden halten, wenn ich meine Electron App im Mac Apple Store mit IAP freigeben kann oder wenn ich eine andere Lösung gefunden habe.

    
user108828 19.10.2017 14:40
quelle
0

Zusätzlich zu user108828 kann ich noch ein paar Ideen vorschlagen, um Ihr Problem zu lösen:

  1. Sie können die MAS-Belegvalidierung als dynamische Bibliothek in obj-C / C ++ / C mit Xcode implementieren und dann über ToTallNates Knoten-ffi . Zur Implementierung können Sie eine beliebige Anzahl von Lösungen verwenden, die Sie im Web schnell finden können.

  2. Eine andere Möglichkeit, die Belegüberprüfung durchzuführen, besteht darin, ein selbst erstelltes Knoten-Addon zu erstellen, das openssl und objective-c Laufzeitbibliotheken . Für diese Lösung müssen Sie möglicherweise auch CoreFoundation und / oder einige andere Apple-Frameworks einschließen. Dadurch können Sie Ihre Validierung in reinem C / C ++ implementieren und in Ihrem Node-Modul verkapseln.

Der API-Entwurf Ihres dylib / node-Addons liegt ganz bei Ihnen und sollte geheim gehalten werden.

Viel Glück!

    
takatan 15.01.2018 18:49
quelle