How to Develop

Preparation of development environment and debugging

Step 1: Get RICOH THETA V or Z1

  • In case of RICOH THETA V, update the firmware to v2.30.1 or later to develop the plug-in.

  • If you are Japan residence and would like to develop plug-in using RICOH THETA Z1 51GB, please see here

Step 2: Enable developer mode with RICOH

  • Register from here to enable developer mode. This step must be completed before moving on to Step 3.

Step 3: Enable THETA developer mode using the RICOH desktop application on Mac or Windows

  • In the File menu go to Developer Mode, set to ON

Step 4: Install Android™ Studio

Step 5: Connect RICOH THETA V or Z1 with USB

Step 6: Enter adb devices from terminal and ready when the device name appears

Step 7: Download RICOH THETA Plug-in SDK

Step 8: Develop THETA plug-in, which is the Android™ application, based on SDK

Step 9: Debugging with the Run button etc. With this step, the THETA plug-in is executed by installing the APK.

Names of Camera Parts

RICOH THETA V

v_name01.png

  1. Microphone

  2. Lens

  3. Camera Status Light (LED2)

  4. Shutter Button

  5. Speaker

  6. Wireless Light (LED3)

  7. Capture Mode Light (LED4, LED5, LED6)

  8. Video Recording Light (LED7)

  9. Memory Warning Light (LED8)

  10. Power Light (LED1)

  11. Power Button

  12. Wireless Button

  13. Mode Button

  14. Microphone Jack

  15. USB Port

  16. Tripod Mount Hole

RICOH THETA Z1

z1_body.png

  1. Speaker

  2. Lens

  3. Microphone

  4. Shutter Button

  5. Camera Status Light (LED2)

  6. OLED

  7. USB Port

  8. Wrist Strap Attachment

  9. Tripod Mount Hole

  10. Power Light (LED1)

  11. Power Button

  12. Wireless Button

  13. Mode Button

  14. Fn Button

Controlling the Camera

Plug-ins can take pictures using the Web API or the Camera API, but development using the Web API is recommended. When using the Camera API with a plug-in, the Web API can not be used.

Device Control

You can receive notifications of button operation, and you can control the LEDs, the speaker, the wireless LAN, and files on the device. For details see Broadcast Intent.

Open Source Licenses

By placing the open source license information used by the plug-in in the plug-in (APK file) \assets\licenses.html, you can acquire the license information using the Web API camera._getPluginLicense command. In case of no open source softwares in the plug-in, please use the following code:

<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
    <style type="text/css">
      body { padding: 0; font-family: sans-serif; }
    </style>
  </head>
  <body topmargin="0" leftmargin="0" rightmargin="0" bottommargin="0">
    <div>
      <p>This plug-in does not use open source software.</p>
    </div>
  </body>
</html>

Version Information

The version of the plugin is designed using a number and a decimal point, with the major version using 2 digits or less, the minor version using 2 digits or less, and the build number using 4 digits or less. For example: “12.34.5678”

Specify Camera Model Support

The plug-in must specify the camera model that it will run on. The plug-in can only be installed on the camera model specified in your manifest. Please use the following syntax to declare the camera model in your AndroidManifest.xml file.

<uses-feature android:name="com.theta360.receptor.v" android:required=["true" | "false"]/>
<uses-feature android:name="com.theta360.receptor.z1" android:required=["true" | "false"]/>

If the plug-in does not support RICOH THETA V and only supports RICOH THETA Z1, please declare the following in your AndroidManifest.xml file.

<uses-feature android:name="com.theta360.receptor.v" android:required="false"/>
<uses-feature android:name="com.theta360.receptor.z1" android:required="true"/>

Warnings When Developing Plug-ins

  • To install the developed plug-in on RICOH THETA V/Z1 you need to enable ADB. Please register as a developer with RICOH and enable ADB according to the documentation. (Please be patient as we are planning to release the developer registration mechanism and effective ADB usage techniques in the near future.)
  • Please limit the size of the plug-in to 256MB
  • Plug-in and package names cannot exceed 64 characters and an extension must use apk
  • Version number must follow the versioning information
  • Use of open source licenses must be explicitly stated
  • You cannot start a service
  • When you press and hold the mode button for 2 seconds or more, the plug-in must terminate
  • When the plug-in is terminated, the plug-in must give a notification of termination for the plug-in