Not always do the mobile craft logs provide enough data. This is why the craft logs are required for most if not all warranty claims.
3rd party apps are not capable of communicating directly with the drone. They can only communicate with the SDK, and then the SDK sends any valid, required commands to the drone.
In this model, the 3rd party app is an extension of the pilot and the actual human pilot agrees to take responsibility for any commands the app sends to the drone as if they had sent them themselves. The only alternative to this is to not use the 3rd party app. If the 3rd party app contains a bug and sends commands to the drone that causes it to crash - that is rightfully considered "pilot error" and DJI would not (and should not) be responsible for the repairs.
However - if the drone fails to respond to the inputs sent to it by the SDK - or a DJI software bug in the SDK misinterprets the commands sent by the 3rd party app - and results in a crash. Those are both examples in which the DJI warranty would be expected to apply.
The first one is easy enough to determine. DJI produces the SDK and has full control of the code that communicates with the drone. With a very small amount of development effort, the SDK can write a log file which contains every command that the 3rd party app sends to the SDK - and it can (and should) log every command that it sends to the drone. This should not be the responsibility of the 3rd party app author. It should be built right into the SDK. It should also be encrypted and impossible to disable. The app itself may want to write its own log file that logs information about what the user does in the UI and perhaps even maintain its own copy of what it sends and receives from the SDK - but none of that could or should be used to evaluate warranty claims (except perhaps to prove that the app sent a command and the SDK ignored it).
There is no "probably" about it. DJI has the capability in the SDK to write these logs but they have chosen to release the SDK without log writing which should be a mandatory process. Until they start maintaining proper logs DJI should not be I think they should not be able to deny a repair due to lack of sufficient logs.
For DJI to get a full picture of what happened in any given flight, they need both the logs from the drone itself as well as the logs from the phone or tablet that was being used to control it.
To summarize:
- DJI is responsible for warranty repairs on warranted hardware no matter what app you are using when the hardware malfunctions
- DJI is responsible for crashes caused by programming errors in the DJI Go app, any DJI Firmware and/or the DJI SDK
- DJI is NOT responsible for logic or communications errors in the 3rd party app itself
- DJI is NOT responsible for logic or communications errors inside the head of a human pilot
It's all common sense really.
If the root CAUSE of the crash came from a components under full DJI control - the repair will be covered by your warranty.
If the root CAUSE of the crash was due to an unauthorized repair, a piece of non-DJI software or a non-DJI part (i.e. Prop, battery, landing gear, etc)
But the key word above is CAUSE. Simply using a non-DJI component or piece of software does NOT void your warrant. It also has to be the part that CAUSED the crash. (I.e. After market landing gear will not cause an ESC failure. If an ESC failure causes a crash - it doesn't matter that not all parts are authentic DJI parts. The repair is still covered - BUT don't expect DJI to replace your aftermarket Carbon Fibre props or the GPS tracker you had attached!
But here's hoping that nobody reading this ever has to find out for themselves!