Hi,
I downloaded the example Unity ads project and if I build it for android APK… I see the Unity Ads.
When I download it straight to my phone using the target IP and dmEngine.apk It fails unityads is nil ?
Is there an extra step that I am missing to get it working in this debugging mode.
Thanks.
Use debug version of your game with unity installed as target instead of dmengine.apk
or your old apk (before you added DefVedeoAds).
Every time you change something in native code (for example, adding new native extension) you have to re-buld apk and then you will have acces to all namespaces you have in you new native extension.
Hi AGulev,
Thanks for your response I have learnt something new.
I didnt know that you could debug in that way… I thought I had to use DmEngine.apk.
The mobile dev app is documented here (incl. the limitation and workaround for projects with native extensions):
DefVideoAds 3.5.1
UPDATE: In order for ads to be served and measured properly with iOS14 changes coming in 2021, you will need to update to 3.5.1. Unity recently discovered a bug in the SKAdNetwork functionality in 3.4.8 and 3.5 that prohibits these versions from correctly passing SKAdNetwork.
The Info.plist bundled with DefVideoAds includes these SKAdNetwork types:
<key>SKAdNetworkItems</key>
<array>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>4dzt52r2t5.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>bvpn9ufa9b.skadnetwork</string>
</dict>
</array>
There appear to be many, many more networks to add, all listed on UnityAds webpage. Are these additional SKAdNetwork ids used to mediate these networks within UnityAds?
If so, how can these be added with DefVideoAds? Is the only way making a copy of the plugin directory, changing the Info.plist and then removing it from dependencies?
I think it’s new thing. Pls create a ticket for me in repository, I’ll take a look
- UnityADS SDK updated to v3.7.1.
- Updated plist with new SKAdNetworkIdentifier
I’m seeing a new behaviour using Defold v1.2.182 and VideoAds v3.7.1.
On v3.5.3, after a rewarded ad has been shown, a new rewarded ad loads automatically. This doesn’t happen with v3.7.1, which means the game is now limited to one rewarded video per session. This happens on both Android and iOS.
Is there a way to manually load a rewarded ad after one has been shown? Or maybe there is something else in the config I’m missing?
It sounds strange and I’m pretty sure it works exactly the same as before.
You can check yourself: 1 and 2
There are two changes related to ads in these: 1st is ATT request, 2nd is Unity update from 3.5.3 to 3.7.1
I’m troubleshooting now. Will report back, thanks!
Update: Fixed! This is what I found:
- The order of fired events has changed. Previously, TYPE_DID_FINISH fired before TYPE_IS_READY when a rewarded ad was shown, now it fires after.
- In my case this change broke the flow, because I set the “there is a nice rewarded ad loaded” flag to false when the TYPE_DID_FINISH happened.
- I’m now setting the flag to false after TYPE_DID_START instead, which works. This is of course a much better place for it, so we can safely blame this error on my code.
Sorry for the red herring @AGulev and thanks for an amazing and well maintained extension!
Thank you!
I glad to hear that you find what’s wrong.
No-no, no worries. It’s fine. Feel free to reach me if you have questions.
Actually they added manual loading of an AD and it’s optionally with parameter in initialization method. But I didn’t implement the API in Lua yet. I’ll try to find time and make a big refactoring of the extension in near future.
BREAKING CHANGE: Minimum Android SDK Version is 19
UPDATE: UnityADS SDK updated to v3.7.2
CHANGE: Use Gradle for Android SDK instead of jar
file
Thanks for your great extension!
I’ll start testing this new release today.
BREAKING CHANGES:
- Lua style API with underlines (for example
unityads.is_ready(placement_id)
intend ofunityads.isReady(placementId)
) - New callback format with
message_id
andmessage.event
and better error handling
NEW:
- New parameter
enable_per_placement_load
inunityads.initialize()
- this parameter allows loading content for a specific Placement prior to displaying it usingload(placement_id)
method - New
unityads.load(placement_id)
method for loading ads manually (works only ifenable_per_placement_load
istrue
) - New
unityads.request_idfa()
method to request showing of IDFA popup on iOS before initialization of SDK. On Android it always fires callback with MSG_IDFA/EVENT_NOT_SUPPORTED
DefVideoAds was my very first native extension and it’s time to fully rewrite it. So, I made a massive cleanup of the extension applying all the best practices we use now. Also, I removed most of the deprecated methods under the hood and added some new Lua APIs.
These changes will help me to keep the extension up to date.
If you use an extension please pay attention to the new API methods and callback.
Building with Defold 1.2.184 and DefVideoAds causes a crash on startup on iOS, before any Lua code is executed. This was tested on DefVideoAds 3.7.1 and 4.0.1, with a minimal no-Lua project (see below). Console doesn’t spit out anything that looks useful to me, even though it’s a debug build, but here it is in any case:
default 15:28:28.519401+0100 SpringBoard Creating process for executionContext with identity: application<com.winkelgames.swiing>
default 15:28:28.519576+0100 SpringBoard Created <FBWorkspace: 0x280a121b0; application<com.winkelgames.swiing>>
default 15:28:28.519680+0100 SpringBoard Bootstrapping application<com.winkelgames.swiing> with intent foreground-interactive
default 15:28:28.527239+0100 runningboardd Acquiring assertion targeting application<com.winkelgames.swiing> from originator [daemon<com.apple.SpringBoard>:60] with description <RBSAssertionDescriptor| "FBApplicationProcess" ID:32-60-2231 target:application<com.winkelgames.swiing> attributes:[
<RBSRunningReasonAttribute| runningReason:10000>,
<RBSPreventIdleSleepGrant>,
<RBSDefineRelativeStartTimeGrant>,
<RBSGPUAccessGrant>,
<RBSCPUAccessGrant| role:UserInteractiveNonFocal>,
<RBSJetsamPriorityGrant| priority:Foreground>,
<RBSResistTerminationGrant| terminationResistance:Interactive>,
<RBSEndowmentGrant| namespace:com.apple.frontboard.visibility>
]>
default 15:28:28.527316+0100 runningboardd Assertion 32-60-2231 (target:application<com.winkelgames.swiing>) will be created as active
default 15:28:28.527462+0100 runningboardd Executing launch request for application<com.winkelgames.swiing> (FBApplicationProcess)
default 15:28:28.527555+0100 runningboardd Creating and launching job for: application<com.winkelgames.swiing>
default 15:28:28.527650+0100 runningboardd _mutateContextIfNeeded called for com.winkelgames.swiing
default 15:28:28.527772+0100 runningboardd Inserting mach service com.winkelgames.swiing.gsEvents into job for application<com.winkelgames.swiing>
default 15:28:28.527975+0100 runningboardd Finished acquiring assertion 32-60-2231 (target:application<com.winkelgames.swiing>)
default 15:28:28.528095+0100 SpringBoard SBMainWorkspaceApplicationSceneLayoutElementViewController-sceneID:com.winkelgames.swiing-default will begin transition to visible YES
default 15:28:28.532835+0100 runningboardd [application<com.winkelgames.swiing>:2027] This process will be managed.
default 15:28:28.533057+0100 runningboardd [application<com.winkelgames.swiing>:2027] HOME is <private>
default 15:28:28.533155+0100 runningboardd [application<com.winkelgames.swiing>:2027] TMPDIR is <private>
default 15:28:28.533221+0100 runningboardd Now tracking process: [application<com.winkelgames.swiing>:2027]
default 15:28:28.533330+0100 runningboardd Using default underlying assertion for app: [application<com.winkelgames.swiing>:2027]
default 15:28:28.533806+0100 runningboardd Acquiring assertion targeting [application<com.winkelgames.swiing>:2027] from originator [application<com.winkelgames.swiing>:2027] with description <RBSAssertionDescriptor| "RB Underlying Assertion" ID:32-32-2232 target:2027 attributes:[
<RBSDomainAttribute| domain:"com.apple.underlying" name:"defaultUnderlyingAppAssertion" sourceEnvironment:"(null)">,
<RBSAcquisitionCompletionAttribute| policy:AfterApplication>
]>
default 15:28:28.535403+0100 runningboardd Calculated state for application<com.winkelgames.swiing>: running-active (role: UserInteractiveNonFocal)
default 15:28:28.536997+0100 mediaserverd <<<< FigCaptureDisplayLayoutMonitor >>>> -[FigCaptureDisplayLayoutMonitor _updateCurrentLayout:]: <FBSDisplayLayout: 0x104660dc0; displayIdentity: Main> { bounds = {{0, 0}, {812, 375}}; interfaceOrientation = "landscapeRight (3)"; referenceBounds = {{0, 0}, {375, 812}}; backlightLevel = 100; elements = { <SBSDisplayLayoutElement: 0x104671420; bundleID: com.winkelgames.swiing; identifier: sceneID:com.winkelgames.swiing-default; frame: {{0, 0}, {812, 375}}; referenceFrame: {{0, 0}, {375, 812}}; level: 1; role: primary>; } timestamp = 21 July 2021 15:28:28 GMT+1;}
default 15:28:28.541733+0100 SpringBoard [Main] dispatch event:
<SBInsertionSwitcherModifierEvent: 0x283258750; type: Insertion; intoIndex: 0; phase: DidUpdateModel; appLayout: <SBAppLayout: 0x282749500; primary: com.winkelgames.swiing; environment: main>>
default 15:28:28.544351+0100 SpringBoard [Main] dispatch event:
<SBMainTransitionSwitcherModifierEvent: 0x2806480d0; type: MainTransition; transitionID: C9E2477C-64AA-42EB-8747-7ADF9B3F8B77; phase: Prepare; animated: YES; fromAppLayout: 0x0; toAppLayout: <SBAppLayout: 0x282749500; primary: com.winkelgames.swiing; environment: main>; fromEnvironmentMode: home-screen; toEnvironmentMode: application; fromOrientation: UIInterfaceOrientationPortrait; toOrientation: UIInterfaceOrientationLandscapeRight; pendingTermination: {(
)}>
default 15:28:28.544881+0100 SpringBoard [Main] handle response:
<SBSwitcherModifierEventResponse: 0x28327d890> {
<SBSwitcherModifierEventResponse: 0x2832aa250> {
<SBTimerEventSwitcherEventResponse: 0x2832a8d50; delay: 0.300000; reason: kSBTransitionModifierInvalidateAsyncRenderingReason>;
<SBInvalidateAdjustedAppLayoutsSwitcherEventResponse: 0x2832a95c0>;
};
<SBSwitcherModifierEventResponse: 0x2832b7ba0> {
<SBUpdateLayoutSwitcherEventResponse: 0x282736b00; layoutImmediately; layout; style; mode: None>;
<SBRequestFolderSnapshotsSwitcherEventResponse: 0x28328b690; snapshotRequested: YES>;
<SBIconOverlayVisibilitySwitcherEventResponse: 0x28273c840; visible: YES; appLayout: <SBAppLayout: 0x282749500; primary: com.winkelgames.swiing; environment: main>>;
<SBIconViewVisibilitySwitcherEventResponse: 0x281eb0730; visible: NO; animationSettings: 0x0; appLayout: <SBAppLayout: 0x282749500; primary: com.winkelgames.swiing; environment: main>>;
<SBTimerEventSwitcherEventResponse: 0x283290660; delay: 0.300000; reason: kSBI
default 15:28:28.555814+0100 runningboardd Assertion 32-32-2232 (target:[application<com.winkelgames.swiing>:2027]) will be created as active
default 15:28:28.555979+0100 SpringBoard [Main] dispatch event:
<SBMainTransitionSwitcherModifierEvent: 0x28064ba80; type: MainTransition; transitionID: C9E2477C-64AA-42EB-8747-7ADF9B3F8B77; phase: Animate; animated: YES; fromAppLayout: 0x0; toAppLayout: <SBAppLayout: 0x282749500; primary: com.winkelgames.swiing; environment: main>; fromEnvironmentMode: home-screen; toEnvironmentMode: application; fromOrientation: UIInterfaceOrientationPortrait; toOrientation: UIInterfaceOrientationLandscapeRight; pendingTermination: {(
)}>
default 15:28:28.556138+0100 SpringBoard [application<com.winkelgames.swiing>:2027] Bootstrap success!
default 15:28:28.556545+0100 runningboardd [application<com.winkelgames.swiing>:2027] Resuming task.
error 15:28:28.556935+0100 runningboardd [application<com.winkelgames.swiing>:2027] Error disabling CPU monitoring: 3
default 15:28:28.557445+0100 runningboardd [application<com.winkelgames.swiing>:2027] termination reported by launchd (6, 1, 6)
default 15:28:28.563082+0100 powerd Process runningboardd.32 Created SystemIsActive "application<com.winkelgames.swiing>;(null):(null);32-60-2231:FBApplicationProcess" age:00:00:00 id:51539648264 [System: SysAct]
default 15:28:28.563357+0100 runningboardd Removing process: [application<com.winkelgames.swiing>:2027]
default 15:28:28.563581+0100 SpringBoard [application<com.winkelgames.swiing>:2027] Setting process task state to: Running
default 15:28:28.563613+0100 SpringBoard [application<com.winkelgames.swiing>:2027] Setting process visibility to: Foreground
default 15:28:28.565155+0100 SpringBoard [application<com.winkelgames.swiing>:2027] Registering event dispatcher at connect
default 15:28:28.565680+0100 SpringBoard [application<com.winkelgames.swiing>:2027] Initial launch assertion state: ForegroundActive.
default 15:28:28.566004+0100 SpringBoard [application<com.winkelgames.swiing>:2027] Not creating workspace endpoint injector.
default 15:28:28.566817+0100 SpringBoard Adding: <FBApplicationProcess: 0x113e1cb40; application<com.winkelgames.swiing>:2027(v1744)>
default 15:28:28.567138+0100 runningboardd Removing launch job for: [application<com.winkelgames.swiing>:2027]
default 15:28:28.568738+0100 mediaserverd Hit the server for a process handle 72866c0000007eb that resolved to: [application<com.winkelgames.swiing>:2027]
default 15:28:28.575211+0100 SpringBoard change foreground process from list:<FBApplicationProcess: 0x113e1cb40; application<com.winkelgames.swiing>:2027(v1744)>
default 15:28:28.575445+0100 runningboardd Removed job for [application<com.winkelgames.swiing>:2027]
default 15:28:28.576220+0100 runningboardd Removing assertions for terminated process: [application<com.winkelgames.swiing>:2027]
default 15:28:28.576347+0100 runningboardd Removed last relative-start-date-defining assertion for process application<com.winkelgames.swiing>
default 15:28:28.577655+0100 mediaserverd -CMSessionMgr- CMSessionMgrHandleApplicationStateChange: Client com.winkelgames.swiing with pid '2027' is now Foreground Running. Background entitlement: NO ActiveLongFormVideoSession: NO WhitelistedLongFormVideoApp NO
default 15:28:28.577721+0100 mediaserverd -CMSessionMgr- CMSessionMgrHandleApplicationStateChange: Sending EndInterruption to com.winkelgames.swiing with pid '2027' because client moved to ForegroundRunning and is not allowed to play in the background
default 15:28:28.579562+0100 SpringBoard [application<com.winkelgames.swiing>:2027] Registered new scene: <FBUIApplicationWorkspaceScene: 0x280a56e10; sceneID:com.winkelgames.swiing-default> (fromRemnant = 0)
default 15:28:28.579628+0100 SpringBoard [application<com.winkelgames.swiing>:2027] Workspace interruption policy did change: terminate
default 15:28:28.579660+0100 runningboardd Calculated state for application<com.winkelgames.swiing>: none (role: None)
default 15:28:28.579790+0100 runningboardd [application<com.winkelgames.swiing>:2027] job reported to RB as removed
default 15:28:28.579881+0100 runningboardd Calculated state for application<com.winkelgames.swiing>: none (role: None)
default 15:28:28.580115+0100 SpringBoard Now tracking: <FBScene: 0x280a56d60; sceneID: sceneID:com.winkelgames.swiing-default; valid: YES>
default 15:28:28.580213+0100 SpringBoard [sceneID:com.winkelgames.swiing-default] Setting deactivation reasons to: 'systemAnimation' for reason: scene settings update - settings are eligible for deactivation reasons.
error 15:28:28.580759+0100 SpringBoard [application<com.winkelgames.swiing>:2027] Workspace afterlife assertion failed: Error Domain=RBSAssertionErrorDomain Code=2 "Specified target process does not exist" UserInfo={NSLocalizedFailureReason=Specified target process does not exist}
default 15:28:28.585608+0100 SpringBoard [sceneID:com.winkelgames.swiing-default] Scene lifecycle state did change: Foreground
default 15:28:28.585675+0100 SpringBoard [sceneID:com.winkelgames.swiing-default] Scene assertion state did change: ForegroundActive.
default 15:28:28.585808+0100 SpringBoard [application<com.winkelgames.swiing>:2027] Launch assertion supersedes update of workspace assertion to ForegroundActive.
default 15:28:28.585954+0100 SpringBoard [application<com.winkelgames.swiing>:2027] Workspace assertion state did change: ForegroundActive (acquireAssertion = NO).
default 15:28:28.586996+0100 SpringBoard [com.winkelgames.swiing] Foreground app will not request ephemeral notifications isAppClip: NO wantsEphemeral notifications: NO
default 15:28:28.587220+0100 SpringBoard [application<com.winkelgames.swiing>:2027] Connection to remote process failed.
default 15:28:28.587558+0100 powerd Process runningboardd.32 Released SystemIsActive "application<com.winkelgames.swiing>;(null):(null);32-60-2231:FBApplicationProcess" age:00:00:00 id:51539648264 [System: SysAct]
default 15:28:28.587917+0100 mediaserverd -CMSessionMgr- CMSessionMgrHandleApplicationStateChange: Client com.winkelgames.swiing with pid '2027' is now Terminated. Background entitlement: NO ActiveLongFormVideoSession: NO WhitelistedLongFormVideoApp NO
default 15:28:28.590327+0100 SpringBoard [application<com.winkelgames.swiing>:2027] Now flagged as pending exit for reason: launch failed
default 15:28:28.590389+0100 SpringBoard [application<com.winkelgames.swiing>:2027] Process exited: <RBSProcessExitContext| specific, status:<RBSProcessExitStatus| domain:dyld(6) code:1>>.
default 15:28:28.590455+0100 SpringBoard [application<com.winkelgames.swiing>:2027] Setting process task state to: Not Running
default 15:28:28.590554+0100 SpringBoard [application<com.winkelgames.swiing>:2027] Setting process visibility to: Unknown
default 15:28:28.590655+0100 SpringBoard [application<com.winkelgames.swiing>:2027] Invalidating workspace.
default 15:28:28.590718+0100 SpringBoard Removing workspace registration for processHandle: [application<com.winkelgames.swiing>:2027]
default 15:28:28.590846+0100 SpringBoard Removing: <FBApplicationProcess: 0x113e1cb40; application<com.winkelgames.swiing>:2027(v1744)>
default 15:28:28.591144+0100 SpringBoard [application<com.winkelgames.swiing>:2027] Dropping launch assertion.
error 15:28:28.593260+0100 SpringBoard Ignoring state for untracked process [application<com.winkelgames.swiing>:2027]: <RBSProcessState| task:none debug:none>
default 15:28:28.593677+0100 SpringBoard [com.winkelgames.swiing] com.winkelgames.swiing application state changed to ForegroundRunning
default 15:28:28.593763+0100 SpringBoard [com.winkelgames.swiing] Ignore becoming foreground for application without push registration
default 15:28:28.593827+0100 SpringBoard [com.winkelgames.swiing] com.winkelgames.swiing application state changed to Terminated
default 15:28:28.593890+0100 SpringBoard [com.winkelgames.swiing] Ignore becoming background for application without push registration
default 15:28:28.596895+0100 watchdogd Hit the server for a process handle 72866c0000007eb that resolved to: [application<com.winkelgames.swiing>:2027]
default 15:28:28.601980+0100 SpringBoard Application process state changed for com.winkelgames.swiing: <SBApplicationProcessState: 0x283c77420; pid: 2027; taskState: Running; visibility: Foreground>
default 15:28:28.602514+0100 SpringBoard Application process state changed for com.winkelgames.swiing: <SBApplicationProcessState: 0x283db1820; pid: 2027; taskState: Not Running; visibility: Unknown>
default 15:28:28.602896+0100 SpringBoard didSelectKeyboardFocusProcess:<FBApplicationProcess: 0x113e1cb40; application<com.winkelgames.swiing>:2027(v1744)> token:(null)
default 15:28:28.605595+0100 SpringBoard Process exited: <FBApplicationProcess: 0x113e1cb40; application<com.winkelgames.swiing>:2027(v1744)> -> <RBSProcessExitContext| specific, status:<RBSProcessExitStatus| domain:dyld(6) code:1>>
default 15:28:28.606198+0100 SpringBoard Application process state changed for com.winkelgames.swiing: (null)
default 15:28:28.607582+0100 SpringBoard No longer tracking: <FBScene: 0x280a56d60; sceneID: sceneID:com.winkelgames.swiing-default; valid: NO>
default 15:28:28.607816+0100 locationd Hit the server for a process handle 72866c0000007eb that resolved to: [application<com.winkelgames.swiing>:2027]
default 15:28:28.614770+0100 SpringBoard [SBMainDisplaySceneManager sceneManager:didDestroyScene: <FBScene: 0x280a56d60; sceneID: sceneID:com.winkelgames.swiing-default; valid: NO>] - proposing IdleTimerBehavior.
default 15:28:28.616961+0100 wifid Hit the server for a process handle 72866c0000007eb that resolved to: [application<com.winkelgames.swiing>:2027]
default 15:28:28.617094+0100 aggregated Hit the server for a process handle 72866c0000007eb that resolved to: [application<com.winkelgames.swiing>:2027]
default 15:28:28.617253+0100 locationd {"msg":"#CLIUA Marking change", "clientKey":"com.winkelgames.swiing", "reason":"Process state from RunningBoard", "assertionLevel":5, "coming":1}
default 15:28:28.619930+0100 ReportCrash osa_update: Pid 2027 'SWIING' CORPSE: Parsing KCData
default 15:28:28.620728+0100 ReportCrash osa_update: Pid 2027 'SWIING' CORPSE: Extracting
default 15:28:28.632206+0100 locationd {"msg":"#CLIUA Marking change", "clientKey":"com.winkelgames.swiing", "reason":"Process state from RunningBoard", "assertionLevel":5, "coming":0}
default 15:28:28.641151+0100 contextstored Hit the server for a process handle 72866c0000007eb that resolved to: [application<com.winkelgames.swiing>:2027]
default 15:28:28.642920+0100 symptomsd Hit the server for a process handle 72866c0000007eb that resolved to: [application<com.winkelgames.swiing>:2027]
default 15:28:28.646636+0100 kbd Hit the server for a process handle 72866c0000007eb that resolved to: [application<com.winkelgames.swiing>:2027]
default 15:28:28.647439+0100 gamed Hit the server for a process handle 72866c0000007eb that resolved to: [application<com.winkelgames.swiing>:2027]
default 15:28:28.647600+0100 callservicesd Hit the server for a process handle 72866c0000007eb that resolved to: [application<com.winkelgames.swiing>:2027]
default 15:28:28.648852+0100 UserEventAgent Hit the server for a process handle 72866c0000007eb that resolved to: [application<com.winkelgames.swiing>:2027]
default 15:28:28.655493+0100 backboardd Hit the server for a process handle 72866c0000007eb that resolved to: [application<com.winkelgames.swiing>:2027]
default 15:28:28.682156+0100 ReportCrash osa_update: Pid 2027 'SWIING' CORPSE: Capture Complete
default 15:28:28.682229+0100 ReportCrash Formulating fatal report for corpse[2027] SWIING
default 15:28:28.699275+0100 appstored Received a beta app crash notification for com.winkelgames.swiing
default 15:28:28.705739+0100 ReportCrash osa_update: Pid 2027 'SWIING' CORPSE: Persisting
default 15:28:28.709458+0100 osanalyticshelper Saved type '109(<private>)' report (3 of max 25) at /private/var/mobile/Library/Logs/CrashReporter/SWIING-2021-07-21-152828.ips.beta
default 15:28:28.714469+0100 ReportCrash Sending event: com.apple.stability.crash {"appVersion":"1.0.18","bundleID":"com.winkelgames.swiing","exceptionCodes":"0x0000000000000000, 0x0000000000000000","incidentID":"6501E0D1-6B27-427E-B27F-C8731E5AEB24","logwritten":1,"process":"SWIING","terminationReasonExceptionCode":"0x1","terminationReasonNamespace":"DYLD"}
default 15:28:28.715018+0100 analyticsd Received event: com.apple.stability.crash {"appVersion":"1.0.18","bundleID":"com.winkelgames.swiing","exceptionCodes":"0x0000000000000000, 0x0000000000000000","incidentID":"6501E0D1-6B27-427E-B27F-C8731E5AEB24","logwritten":1,"process":"SWIING","terminationReasonExceptionCode":"0x1","terminationReasonNamespace":"DYLD"}
default 15:28:28.715256+0100 analyticsd Aggregated. Transform: StabilityCrashNumerator3 Dirty: 1 Event: com.apple.stability.crash {"appVersion":"1.0.18","bundleID":"com.winkelgames.swiing","exceptionCodes":"0x0000000000000000, 0x0000000000000000","incidentID":"6501E0D1-6B27-427E-B27F-C8731E5AEB24","logwritten":1,"process":"SWIING","terminationReasonExceptionCode":"0x1","terminationReasonNamespace":"DYLD","timestamp":1626877708714206}
default 15:28:28.715666+0100 analyticsd Aggregated. Transform: StabilityCrashNumerator3WithIncidentID Dirty: 1 Event: com.apple.stability.crash {"appVersion":"1.0.18","bundleID":"com.winkelgames.swiing","exceptionCodes":"0x0000000000000000, 0x0000000000000000","incidentID":"6501E0D1-6B27-427E-B27F-C8731E5AEB24","logwritten":1,"process":"SWIING","terminationReasonExceptionCode":"0x1","terminationReasonNamespace":"DYLD","timestamp":1626877708714206}
default 15:28:28.732518+0100 SpringBoard Received request to activate alertItem: <SBUserNotificationAlert: 0x117cd9160; title: “SWIING!” Crashed; source: appstored; pid: 170>
default 15:28:28.732604+0100 SpringBoard Activation - Pending activation of <SBUserNotificationAlert: 0x117cd9160; title: “SWIING!” Crashed; source: appstored; pid: 170> due to reason: (
"Forced to pend for reasons: {(\n SBFluidSwitcherAnimationController,\n SBUISwitcherAnimationController\n)}"
)
default 15:28:29.180075+0100 SpringBoard [Main] dispatch event:
<SBMainTransitionSwitcherModifierEvent: 0x280608f70; type: MainTransition; transitionID: C9E2477C-64AA-42EB-8747-7ADF9B3F8B77; phase: Complete; animated: YES; fromAppLayout: 0x0; toAppLayout: <SBAppLayout: 0x282749500; primary: com.winkelgames.swiing; environment: main>; fromEnvironmentMode: home-screen; toEnvironmentMode: application; fromOrientation: UIInterfaceOrientationPortrait; toOrientation: UIInterfaceOrientationLandscapeRight; pendingTermination: {(
)}>
default 15:28:29.180634+0100 SpringBoard [Main] handle response:
<SBSwitcherModifierEventResponse: 0x28339f3c0> {
<SBPreemptAnimationSwitcherEventResponse: 0x2833656b0>;
<SBSwitcherModifierEventResponse: 0x28332a0a0> {
<SBInvalidateAdjustedAppLayoutsSwitcherEventResponse: 0x283367a50>;
<SBSwitcherModifierEventResponse: 0x283363390> {
<SBRequestFolderSnapshotsSwitcherEventResponse: 0x283370f00; snapshotRequested: NO>;
<SBIconOverlayVisibilitySwitcherEventResponse: 0x282873f40; visible: NO; appLayout: <SBAppLayout: 0x282749500; primary: com.winkelgames.swiing; environment: main>>;
<SBIconViewVisibilitySwitcherEventResponse: 0x281eb8ff0; visible: YES; animationSettings: 0x0; appLayout: <SBAppLayout: 0x282749500; primary: com.winkelgames.swiing; environment: main>>;
<SBMatchMoveToIconViewSwitcherEventResponse: 0x282872180; active: NO; appLayout: <SBAppLayout: 0x282749500; primary: com.winkelgames.swiing; environment: main>>;
};
};
}
default 15:28:29.184227+0100 SpringBoard SBMainWorkspaceApplicationSceneLayoutElementViewController-sceneID:com.winkelgames.swiing-default did end transition to visible YES
default 15:28:29.184308+0100 SpringBoard SBMainWorkspaceApplicationSceneLayoutElementViewController-sceneID:com.winkelgames.swiing-default shouldDisplayLayoutElementBecomeActive=YES because isEffectivelyForeground=NO isSuspendedUnderLock=NO sceneIfExists=(null)
default 15:28:29.184417+0100 SpringBoard sceneHandle=<SBDeviceApplicationSceneHandle: 0x114a41300; sceneID: sceneID:com.winkelgames.swiing-default; scenePointer: 0x0; scene: 0x0>
default 15:28:29.192333+0100 SpringBoard Front display did change: <SBApplication: 0x28060bcf0; com.winkelgames.swiing>
default 15:28:29.213823+0100 SpringBoard SBMainWorkspaceApplicationSceneLayoutElementViewController-sceneID:com.winkelgames.swiing-default will begin transition to visible NO
default 15:28:29.217026+0100 SpringBoard SBMainWorkspaceApplicationSceneLayoutElementViewController-sceneID:com.winkelgames.swiing-default did end transition to visible NO
default 15:28:29.232554+0100 SpringBoard SBWorkspaceDestroyApplicationEntity: <SBDeviceApplicationSceneEntity: 0x281ea6e90; ID: sceneID:com.winkelgames.swiing-default; layoutRole: undefined> {
supportedRoles = primary;
layoutAttributes = none;
}
default 15:28:29.233089+0100 SpringBoard SBWorkspaceNoteApplicationEntityWasRemovedFromAppSwitcher: <SBDeviceApplicationSceneEntity: 0x281ea6e90; ID: sceneID:com.winkelgames.swiing-default; layoutRole: undefined> {
supportedRoles = primary;
layoutAttributes = none;
}
default 15:28:29.235491+0100 SpringBoard Activation - Presenting <SBUserNotificationAlert: 0x117cd9160; title: “SWIING!” Crashed; source: appstored; pid: 170> with presenter: <SBUnlockedAlertItemPresenter: 0x283f22ef0>
default 15:28:30.645384+0100 SpringBoard Will deactivate alertItem: <SBUserNotificationAlert: 0x117cd9160; title: “SWIING!” Crashed; source: appstored> for reason: Button Pressed
default 15:28:30.647650+0100 SpringBoard Will deactivate alertItem: <SBUserNotificationAlert: 0x117cd9160; title: “SWIING!” Crashed; source: appstored> for reason: User Dismissed
default 15:28:30.647732+0100 SpringBoard Deactivated alertItem: <SBUserNotificationAlert: 0x117cd9160; title: “SWIING!” Crashed; source: appstored; pid: 170>
default 15:28:30.649559+0100 appstored User pressed cancel on dialog for crash of beta app with bundleID: com.winkelgames.swiing
default 15:28:31.071846+0100 SpringBoard Deactivated alertItem: <SBUserNotificationAlert: 0x117cd9160; title: “SWIING!” Crashed; source: appstored; pid: 170>
Minimal project: UnityAds iOS crash.zip (1.3 MB)
Is there a conflict between Defold 1.2.184 and DefVideoAds? Or have I missed something in the config? The project has been built with previous versions of Defold and DefVideoAds 3.7.1 without any issues.
Strangely, the crash was first noticed using DefVideoAds 3.7.1.
Your example works fine on my phone.
Could you pls gimme more info about your phone and iOS version?
Also pls run build using
ios-deploy --debug --bundle SWIING!.app
and send me log you’ll get (how to install iOS-deploy)
iPhone 11 Pro iOS 14.4.2, an iPod and and old iPad retina.
For some reason I get an error message when installing the app:
niclasaberg@niclass-mbp-2 ~ % ios-deploy --debug --bundle /Users/niclasaberg/Desktop/armv7-darwin/SWIING\!.app
[....] Waiting for iOS device to be connected
[....] Using 00008030-00124C981169802E (D421AP, iPhone 11 Pro, iphoneos, arm64e, 14.4.2, 18D70) a.k.a. 'Niclas’s iPhone'.
------ Install phase ------
[ 0%] Found 00008030-00124C981169802E (D421AP, iPhone 11 Pro, iphoneos, arm64e, 14.4.2, 18D70) a.k.a. 'Niclas’s iPhone' connected through USB, beginning install
[ 5%] Copying /Users/niclasaberg/Desktop/armv7-darwin/SWIING!.app/META-INF/ to device
[ 6%] Copying /Users/niclasaberg/Desktop/armv7-darwin/SWIING!.app/META-INF/com.apple.ZipMetadata.plist to device
[ 7%] Copying /Users/niclasaberg/Desktop/armv7-darwin/SWIING!.app/_CodeSignature/ to device
[ 8%] Copying /Users/niclasaberg/Desktop/armv7-darwin/SWIING!.app/_CodeSignature/CodeResources to device
[ 9%] Copying /Users/niclasaberg/Desktop/armv7-darwin/SWIING!.app/game.public.der to device
[ 10%] Copying /Users/niclasaberg/Desktop/armv7-darwin/SWIING!.app/game.dmanifest to device
[ 11%] Copying /Users/niclasaberg/Desktop/armv7-darwin/SWIING!.app/SWIING to device
[ 32%] Copying /Users/niclasaberg/Desktop/armv7-darwin/SWIING!.app/AppIcon60x60@2x.png to device
[ 34%] Copying /Users/niclasaberg/Desktop/armv7-darwin/SWIING!.app/AppIcon60x60@3x.png to device
[ 35%] Copying /Users/niclasaberg/Desktop/armv7-darwin/SWIING!.app/game.arci to device
[ 36%] Copying /Users/niclasaberg/Desktop/armv7-darwin/SWIING!.app/Assets.car to device
[ 38%] Copying /Users/niclasaberg/Desktop/armv7-darwin/SWIING!.app/AppIcon76x76@2x~ipad.png to device
[ 39%] Copying /Users/niclasaberg/Desktop/armv7-darwin/SWIING!.app/AppIcon83.5x83.5@2x~ipad.png to device
[ 40%] Copying /Users/niclasaberg/Desktop/armv7-darwin/SWIING!.app/LaunchScreen.storyboardc/ to device
[ 41%] Copying /Users/niclasaberg/Desktop/armv7-darwin/SWIING!.app/LaunchScreen.storyboardc/01J-lp-oVM-view-Ze5-6b-2t3.nib to device
[ 42%] Copying /Users/niclasaberg/Desktop/armv7-darwin/SWIING!.app/LaunchScreen.storyboardc/UIViewController-01J-lp-oVM.nib to device
[ 43%] Copying /Users/niclasaberg/Desktop/armv7-darwin/SWIING!.app/LaunchScreen.storyboardc/Info.plist to device
[ 44%] Copying /Users/niclasaberg/Desktop/armv7-darwin/SWIING!.app/embedded.mobileprovision to device
[ 45%] Copying /Users/niclasaberg/Desktop/armv7-darwin/SWIING!.app/Info.plist to device
[ 46%] Copying /Users/niclasaberg/Desktop/armv7-darwin/SWIING!.app/game.arcd to device
[ 47%] Copying /Users/niclasaberg/Desktop/armv7-darwin/SWIING!.app/AppIcon76x76~ipad.png to device
[ 48%] Copying /Users/niclasaberg/Desktop/armv7-darwin/SWIING!.app/game.projectc to device
[ 52%] CreatingStagingDirectory
[ 57%] ExtractingPackage
[ 60%] InspectingPackage
[ 60%] TakingInstallLock
[ 65%] PreflightingApplication
[ 65%] InstallingEmbeddedProfile
[ 70%] VerifyingApplication
2021-07-21 15:56:21.378 ios-deploy[58764:1942082] [ !! ] Error 0xe8008015: A valid provisioning profile for this executable was not found. AMDeviceSecureInstallApplication(0, device, url, options, install_callback, 0)
Because the above error I’ve had to go through the Build > Upload to Testflight > Download and test on device merry go round.
Here is manual how to get certificate and provisioning: