Jump to content

Dave Nottage

Members
  • Content Count

    1607
  • Joined

  • Last visited

  • Days Won

    36

Everything posted by Dave Nottage

  1. Dave Nottage

    loadCSV android Multidevice

    Yes, it is a matter of that. It's explained in the demo in Kastri.
  2. You could use GetMousePos to check if the mouse is inside of it, like this: uses FMX.Platform; procedure TForm1.ParentPanelMouseLeave(Sender: TObject); var LService: IFMXMouseService; LPoint: TPointF; begin if TPlatformServices.Current.SupportsPlatformService(IFMXMouseService, LService) then begin LPoint := ScreenToClient(LService.GetMousePos); if not ParentPanel.AbsoluteRect.Contains(LPoint) then ParentPanel.Fill.Color := $FFE0E0E0; end; end;
  3. Dave Nottage

    AdMob in Delphi11

    Is this using the demo, unaltered, following all of the instructions? In which version of Delphi?
  4. Hopefully all sorted now, including: Added new API import DW.Androidapi.JNI.AssetDelivery.pas Added new jar files to the ThirdParty\Android folder in Kastri Updated DW.AssetDelivery.Android.pas Updated the demo, including the manifest template. Updated the batch files which are included with the demo, to account for the changed Android build process in Delphi 12.1 Updated Codex to also account for the changed Android build process in Delphi 12.1 As you may have guessed, it wasn't as simple as swapping the .jar file, especially since asset-delivery-2.2.2.jar is dependent on play-core-common-2.0.3.jar. Newer versions of Android also require this implementation to have the Foreground Service Data Sync permission. I am yet to test with an AAB that's actually on Play Store (whether internal or not), but "local" testing worked OK.
  5. As far as testing goes, so far this has not progressed well - the build process has changed which means the automation in Codex has broken, as well as the BuildBundle batch file that is provided with the demo. More later...
  6. I have done a more detailed check now (I had not when I sent the first message), and I can see that the classes/methods are all compatible and the namespacing of the classes is identical, so removing the old jar from the project and adding the new one should work, but I'll know for sure when I do a test, hopefully before the end of the weekend.
  7. As far as I can tell, you just need to switch from using play-core-1.10.0.jar to asset-delivery-2.2.2.jar. If that's not the case, let me know. asset-delivery-2.2.2.jar
  8. I'd try deleting AndroidManifest.template.xml in your project folder (back it up first if you customized it), then redeploy.
  9. You should not have to add that file yourself, as it is added automatically by the IDE. Here's the Deployment Manager for a typical Android project:
  10. Dave Nottage

    AdMob in Delphi11

    What make/model? And what version of Android is on it?
  11. Dave Nottage

    Delphi 12.1, Xcode 15.4 (iOS 17.5)

    Same here. I needed to use: GlobalUseMetal := True; (adding FMX.Types to the uses clause) In the project source to stop the app from crashing. Someone else (not sure where, exactly) reported that re-importing the iOS Simulator 17.5 SDK (first deleting the cache folders in the PAServer folder on the Mac) fixed it for them, but that didn't work for me.
  12. Dave Nottage

    Deploy Delphi 12 iOS 17 XCode 15.4

    So it's more than likely a profile/certificate issue, especially given the original message. You could use the Keychain Access app on the Mac to check whether certificates are valid, e.g. on mine:
  13. Dave Nottage

    Deploy Delphi 12 iOS 17 XCode 15.4

    What adjustments did you make? If it included the value for CFBundleIdentifier (in the Version Info section), I suspect it's related to that.
  14. Dave Nottage

    TLocationlistener.. fails in Delphi 12.

    Assuming that the above unit is a modified copy of System.Android.Sensors.pas from an earlier version of Delphi, you'll need to update it to align with Delphi 12.
  15. Dave Nottage

    New to Delphi 12, can't turn off adaptive icons

    I'm puzzled as to why you would post "Got it figured out", but not actually include the solution
  16. Dave Nottage

    AdMob in Delphi11

    Here is the problem: 2024.06.12 22:02:52.452 E com.embarcadero.AdTestD12 12847 15753 AndroidRuntime FATAL EXCEPTION: Thread-6 2024.06.12 22:02:52.452 E com.embarcadero.AdTestD12 12847 15753 AndroidRuntime Process: com.embarcadero.AdTestD12, PID: 12847 2024.06.12 22:02:52.452 E com.embarcadero.AdTestD12 12847 15753 AndroidRuntime java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/android/gms/common/R$string; 2024.06.12 22:02:52.452 E com.embarcadero.AdTestD12 12847 15753 AndroidRuntime at com.google.android.gms.measurement.internal.zzga.zza(com.google.android.gms:play-services-measurement-base@@20.1.2:1) 2024.06.12 22:02:52.452 E com.embarcadero.AdTestD12 12847 15753 AndroidRuntime at com.google.android.gms.internal.measurement.zzee.<init>(com.google.android.gms:play-services-measurement-sdk-api@@20.1.2:8) 2024.06.12 22:02:52.452 E com.embarcadero.AdTestD12 12847 15753 AndroidRuntime at com.google.android.gms.internal.measurement.zzee.zzg(com.google.android.gms:play-services-measurement-sdk-api@@20.1.2:2) 2024.06.12 22:02:52.452 E com.embarcadero.AdTestD12 12847 15753 AndroidRuntime at com.google.android.gms.measurement.api.AppMeasurementSdk.getInstance(com.google.android.gms:play-services-measurement-sdk-api@@20.1.2:3) 2024.06.12 22:02:52.452 E com.embarcadero.AdTestD12 12847 15753 AndroidRuntime at com.google.android.gms.internal.ads.zzbnq.run(com.google.android.gms:play-services-ads-lite@@22.2.0:10) 2024.06.12 22:02:52.452 E com.embarcadero.AdTestD12 12847 15753 AndroidRuntime at java.lang.Thread.run(Thread.java:1012) 2024.06.12 22:02:52.452 E com.embarcadero.AdTestD12 12847 15753 AndroidRuntime Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.android.gms.common.R$string" on path: DexPathList[[zip file "/data/app/~~aO0p4K6Hjy9h4IY8lEyzVQ==/com.embarcadero.AdTestD12-AUBcLSpltNJ395APPGwSJA==/base.apk"],nativeLibraryDirectories=[/data/app/~~aO0p4K6Hjy9h4IY8lEyzVQ==/com.embarcadero.AdTestD12-AUBcLSpltNJ395APPGwSJA==/lib/arm, /data/app/~~aO0p4K6Hjy9h4IY8lEyzVQ==/com.embarcadero.AdTestD12-AUBcLSpltNJ395APPGwSJA==/base.apk!/lib/armeabi-v7a, /system/lib, /system/system_ext/lib]] 2024.06.12 22:02:52.452 E com.embarcadero.AdTestD12 12847 15753 AndroidRuntime at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:259) 2024.06.12 22:02:52.452 E com.embarcadero.AdTestD12 12847 15753 AndroidRuntime at java.lang.ClassLoader.loadClass(ClassLoader.java:379) 2024.06.12 22:02:52.452 E com.embarcadero.AdTestD12 12847 15753 AndroidRuntime at java.lang.ClassLoader.loadClass(ClassLoader.java:312) 2024.06.12 22:02:52.452 E com.embarcadero.AdTestD12 12847 15753 AndroidRuntime ... 6 more Not sure why this was not happening before. I see from your first post about this you are using an emulator? I strongly advise to use a real device. If you are unable to, make sure the emulator system image includes "Play Store":
  17. Dave Nottage

    Deploy Delphi 12 iOS 17 XCode 15.4

    There is more than one version of PAServer 22.0, however I assume you are using the one that shipped with Delphi 11.3, which is v13.3.12.6. Regardless, as I indicated earlier, this combination works for me:
  18. Dave Nottage

    Deploy Delphi 12 iOS 17 XCode 15.4

    With PAServer from Delphi 12.0? Either way, that is odd. Delphi 12.0 will not (or at least should not) work with PAServer from Delphi 12.1.
  19. Dave Nottage

    Deploy Delphi 12 iOS 17 XCode 15.4

    So Delphi 12.0? Is there any reason why you have not upgraded to 12.1? Not sure if that might actually make a difference here, however PAServer may have been changed to ensure that the file specified in the -exportOptionsPlist switch of the call to xcodebuild uses the correct value for the <method> key, which would be app-store-connect, rather than app-store: That message looks more like a warning, than an error. I suspect the real problem is that there is some certificate issue: I'm just not sure what that issue is.
  20. Dave Nottage

    Deploy Delphi 12 iOS 17 XCode 15.4

    With which version of Delphi, which version of PAServer, and which version of Xcode? For me, using Delphi 12.1, PAServer v14.1.13.8, Xcode 15.4 deploying an app for App Store works OK. You may also want to turn on verbose mode (using the v command) in PAServer to see exactly what is being executed.
  21. Dave Nottage

    AdMob in Delphi11

    I assume by "close" you mean it crashes? At this point I can only suggest adding logging to the app to see exactly where it is failing.
  22. Dave Nottage

    AdMob in Delphi11

    Which is the same error as last time, where I advised: Have you configured the GDPR and IDFA messages? Not in the application itself. See above.
  23. Dave Nottage

    making Delphi 12 support even old Android phones?

    Yes. See this link.
  24. Dave Nottage

    empty frameworks im iOS SDK 17.5

    Please see this link.
  25. Dave Nottage

    ffmpeg compression in android and ios

    Not sure this will help you, but I have added a function just yesterday to copy large files that have been selected using TFilesSelector. It is the class function TAndroidFileStream.Copy (in DW.Android.Helpers), which can be called like this: TAndroidFileStream.Copy(LRawPath, LFileName); Where LRawPath contains the raw URI for the selected file, and LFileName contains the destination file path Please be aware that copying a large file can take several seconds (in my test, a 2.5GB file took 7 seconds on my Pixel 6 Pro), so you may want to pass that task off to a thread. Surely you'll need to actually have the file in order to compress it anyway?
×