Android SDK (Core)

Troubleshooting and FAQs

3min

The Troubleshooting section provides solutions to common problems developers might encounter while using the Core SDK for Android. It offers practical advice on how to diagnose and resolve issues related to installation, integration, and functionality of the SDK.

Troubleshooting

  1. SDK Initialization Failed in Gradle:
    • This issue can occur due to an incorrect or expired API key, or if the GitHub package installation was implemented incorrectly. Please double-check your API key to ensure it is accurate and properly integrated into your application. Additionally, verify the installation of the GitHub package to ensure it was done correctly.
  2. Class or Method Not Found:
    • Ensure that the SDK is properly imported and integrated into your project. Also, check the spelling and casing of the class and method names.
  3. Playback Doesn’t Work as Expected:
    • Please ensure that you have followed the instructions in the Getting Started guide correctly. Verify that you have implemented the appId or programId accurately and that you have initialized the function with the appropriate parameters. If you continue to experience issues, please refer back to the 'Getting Started' section for proper implementation guidelines.
  4. SDK Causes Performance Issues:
    • Ensure your app meets the system requirements mentioned in this documentation. If the issue persists, reach out to our developer support.
  5. Audio Recording or Playback Issues:
    • Confirm that the necessary audio permissions have been granted. Also, check for any conflicts with other apps that might use audio resources. The system's audio focus should be appropriately handled.
  6. Playback Doesn't Resume After Internet Reconnection
    • Ensure that the device is properly reconnected to the internet and the SDK is not blocked by any firewall or network restrictions. If the issue persists, restarting the NativeWaves EXP might help reinitialize the SDK's network modules.
  7. 'NO VIDEO AVAILABLE' Message Appears:
    • This message may appear if the video content is unavailable or if the video file is corrupted. Please try seeking to a different position to verify the integrity and availability of the video file on the server. If you are streaming the video, ensure that your internet connection is stable.

Remember, when reporting issues, always include error messages, logcat output, and steps to reproduce the issue. This will help us diagnose and resolve your issue more quickly.

FAQs

The FAQs section addresses common questions about the Core SDK for Android. It serves as a quick reference to understand the SDK's features, requirements, and behaviors, offering concise answers to frequently asked questions by developers.

  1. What versions of Android does the SDK support?
    • The SDK supports Android API Level 23 (Android 5.0, Lollipop) and above.
  2. Where can I find my API key?
    • You can contact NativeWaves and request them to generate your GitHub access API key, which will grant you permission to download the library.
  3. Is the SDK compatible with other Android libraries or frameworks?
    • The Core SDK is designed to work alongside most popular Android libraries and frameworks. If you encounter any specific compatibility issues, please contact our support team.
  4. Can I use the SDK in multiple apps?
    • Yes, you can use the same SDK in multiple apps. However, we recommend generating a unique API key for each application for better tracking and security.
  5. Why does the SDK require audio record permission?
    • The audio record permission is required by the Core SDK for Second-Screen Sync that involve sound input or recording. If your app does not utilize this feature, you can safely omit this permission.
  6. How do I handle a situation where a user denies the audio record permission?
    • If a user denies the audio record permission, any voice input or recording features won't function. Your app should degrade gracefully in this situation, perhaps by notifying the user that certain features won't be available without this permission.
  7. What is the GuiOverlay URL, and how is it used?
    • The GuiOverlay URL is a link provided by NativeWaves for specific features such as displaying the controller of the playback on top of the player. You just have to call the appropriate SDK function and pass the overlay URL as a parameter.
  8. What if the GuiOverlay URL is not working?
    • Please confirm that the correct URL is passed to the SDK. To test the URL, you can try opening it in a web browser and inspect it using the browser's developer tools.
  9. What happens if the internet connection is lost while using the SDK features?
    • The Core SDK is designed to handle intermittent network issues gracefully. Many features will continue to work offline and sync data when the connection is restored. However, some features like live updates or certain API calls will require an active internet connection to function.
  10. What happens to the media playback if the app is kept in the background for a long time?
    • The behavior of media playback depends on the specifications set within your app. By default, audio playback will be muted and the video playback might continue in the background, but it will stop if the system kills the app due to resource constraints. If you wish to have continuous background playback, you may need to implement a foreground service.
  11. Why does my app stop working when kept in the background for a long time?
    • Android system manages its resources diligently. If your app is in the background for an extended period, the system might stop it to free up resources for active apps. You can handle this by saving the app state and restoring it when the app comes back to the foreground.
  12. How can I ensure that certain operations continue even when my app is in the background?
    • For operations that need to continue even when your app is in the background, consider using services, specifically foreground services with ongoing notifications. However, be aware that continuous operation in the background may consume more battery.
  13. What happens to the playback and program API fetch operation if the internet connection is lost?
    • If the internet is not available, the SDK will pause the current playback and attempt to fetch the program API every 6 seconds. Once the internet connection is reestablished, the SDK will resume the playback and successfully update the program API.
  14. Why am I seeing a 'NO VIDEO AVAILABLE' message?
    • The 'NO VIDEO AVAILABLE' message usually appears if the video content is not available or the video file is corrupted. Check your video source and make sure the file is not corrupted and is properly uploaded to the server. If you're streaming, ensure a stable internet connection.
  15. Does the SDK support localization?
    • Yes, currently we do support the localization feature. But for now we are supporting only Engilsh and German.

If your question is not addressed in the FAQ, feel free to reach out to our support team for further assistance.