Sorry for the long reply time, somehow I missed an email notification of this forum thread.
Basically, yes – new services can be added quite easily, and all you describe should be possible. Our “services” in CGE are just written in Java (Android) or Objective-C (iOS). So any SDK that supports Objective-C (which includes all iOS SDKs I’ve seen so far ) can be added to CGE.
I didn’t yet make a nice documentation “how to add new iOS service”. But we have a draft/quick/ugly documentation “how to add new Android service” on https://github.com/castle-engine/castle-engine/wiki/Android-Services#adding-new-services , and iOS is mostly the same, I even deliberately made some concepts/classes in iOS services the same to be consistent. In particular, both Java and Objective-C can send “messages” that are received in Pascal by CastleMessaging unit. So a new service like AppsFlyer and Admob has Pascal side already done. It only needs Objective-C implementation, to basically copy the Java (Android) approach and send the same messages.
Good to hear it’s all possible, I still don’t understand all process (still working on that) but I will try add Flurry, its very simple I added Delphi FMX already. Need only 1 line like this (after convert Objective-C header to Pascal)
TFlurry.OCClass.startSession(ToNSSTR('Key'));
But I think need help on Admob rewarded video, this is complicated need callback events (video watch complated or failed)
and last service Haptic, using UIKit, on Delphi side we can use like this but I dont know how on CGE (I think need help too on this)
OK! Let me know if you need any help with this or would like me to make some of these services on my side, I can do it.
Note: In case of CGE services, you just write using Objective-C code, so you don’t need to convert any headers to Pascal, you can use the iOS API immediately. Often you can pretty much copy-paste solutions from the Objective-C integration examples of each SDK,.