DefVideoAds (plugin for Unity ADS). Video ADS native extension

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.

1 Like

The mobile dev app is documented here (incl. the limitation and workaround for projects with native extensions):

3 Likes

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.

6 Likes

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

2 Likes
3 Likes
  • UnityADS SDK updated to v3.7.1.
  • Updated plist with new SKAdNetworkIdentifier
7 Likes

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

1 Like

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! :star_struck:

3 Likes

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.

3 Likes

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

7 Likes

Thanks for your great extension!

I’ll start testing this new release today.

2 Likes

BREAKING CHANGES:

  • Lua style API with underlines (for example unityads.is_ready(placement_id) intend of unityads.isReady(placementId))
  • New callback format with message_id and message.event and better error handling

NEW:

  • New parameter enable_per_placement_load in unityads.initialize() - this parameter allows loading content for a specific Placement prior to displaying it using load(placement_id) method
  • New unityads.load(placement_id) method for loading ads manually (works only if enable_per_placement_load is true)
  • 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.

9 Likes

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)

2 Likes

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:

1 Like