[go: up one dir, main page]

US20230004382A1 - Method and apparatus for providing platform-integrated sdk capable of developing multiple platforms with single source code - Google Patents

Method and apparatus for providing platform-integrated sdk capable of developing multiple platforms with single source code Download PDF

Info

Publication number
US20230004382A1
US20230004382A1 US17/852,458 US202217852458A US2023004382A1 US 20230004382 A1 US20230004382 A1 US 20230004382A1 US 202217852458 A US202217852458 A US 202217852458A US 2023004382 A1 US2023004382 A1 US 2023004382A1
Authority
US
United States
Prior art keywords
build
sdk
source code
platforms
code
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
US17/852,458
Other versions
US12026507B2 (en
Inventor
Seok Joong Kim
Min Seung Son
Do Yeong KIM
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fakeeyes Co ltd
Original Assignee
Fakeeyes Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fakeeyes Co ltd filed Critical Fakeeyes Co ltd
Assigned to FakeEyes Co.,Ltd. reassignment FakeEyes Co.,Ltd. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: KIM, DO YEONG, KIM, SEOK JOONG, SON, MIN SEUNG
Publication of US20230004382A1 publication Critical patent/US20230004382A1/en
Application granted granted Critical
Publication of US12026507B2 publication Critical patent/US12026507B2/en
Active legal-status Critical Current
Adjusted expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/31Programming languages or programming paradigms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/33Intelligent editors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/35Creation or generation of source code model driven
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/36Software reuse

Definitions

  • the present invention relates to a method and an apparatus for providing a platform-integrated SDK capable of developing multiple platforms with single source code.
  • An object of the present invention is to provide a platform-integrated SDK capable of developing multiple platforms with single source code.
  • an object of the present invention is to reduce the required human resources and times through development using single source code.
  • the method for providing a platform-integrated SDK capable of developing multiple platforms with single source code may include the steps of: receiving, from a user, a build instruction in which any one of the multiple platforms is designated as a build target platform, with respect to source code integrally written for the multiple platforms; importing a software development kit (SDK), among pre-stored SDKs, corresponding to the build target platform; building the source code after the SDK is imported; and providing the built object file to the user.
  • SDK software development kit
  • the source code may include in-app purchase processing code, and the in-app purchase processing code may include code in which a child class is overridden to branch an in-app purchase processing operation through a first preprocessor when the any one of the platforms is designated as the build target platform.
  • the importing of the SDK may include determining whether code bases of the platforms are similar to each other; and deciding an SDK import scheme based on whether the code bases are similar to each other, and may further include setting a rendering environment based on the build target platform after the importing of the SDK; and setting a build environment based on the build target platform.
  • the deciding of the SDK import scheme based on whether the code bases are similar to each other may include: importing a first SDK corresponding to each of the platforms together when the code bases of the platforms are similar to each other, and adding code for allowing an application of components included in the first SDK to be branched through a second preprocessor when the any one of the platforms is designated as the build target platform; or importing only a second SDK corresponding to the build target platform when the code bases of the platforms are not similar to each other.
  • the setting of the rendering environment may include disposing a rendering camera included in the SDK corresponding to the build target platform.
  • the source code may further include rendering processing code, and the rendering processing code may include code for allowing a rendering processing operation to be branched through the first preprocessor.
  • the setting of the build environment may include changing a build setting value of development software to a build setting value corresponding to the build target platform; and overwriting a manifest file included in the source code with a manifest file corresponding to the build target platform.
  • the development software may be, for example, development software corresponding to at least one of Unity engine, Unreal engine, Cry engine, Source engine, and Havok engine, and the type of engine corresponding to the development software in the present invention is not limited to the above example.
  • the method may include storing a first manifest file corresponding to each of the platforms in a first folder that is not included in the build, before the overwriting with the manifest file, and the overwriting with the manifest file may include overwriting a second manifest file corresponding to the build target platform among the first manifest files in a folder in which the manifest file included in the source code is located.
  • SDKs corresponding to the platforms may be compressed and stored in the pre-stored SDKs, respectively.
  • the apparatus for providing a platform-integrated SDK capable of developing multiple platforms with single source code may include a memory in which at least one program is recorded, and a processor for executing the program, in which the program may include instructions for executing: receiving, from a user, a build instruction in which any one of the multiple platforms is designated as a build target platform, with respect to source code integrally written for the multiple platforms; importing a software development kit (SDK), among pre-stored SDKs, corresponding to the build target platform; building the source code after the SDK is imported; and providing the built object file to the user.
  • SDK software development kit
  • the platform-integrated SDK capable of developing multiple platforms with single source code can be provided.
  • the required human resources and times can be reduced through development using single source code.
  • FIG. 1 is a block diagram showing subjects for providing a platform-integrated SDK capable of developing multiple platforms with single source code according to one embodiment of the present invention.
  • FIG. 2 is an operational flow chart showing a method for providing a platform-integrated SDK capable of developing multiple platforms with single source code according to one embodiment of the present invention.
  • FIG. 3 is an operational flow chart showing a method for providing a platform-integrated SDK capable of developing multiple platforms with single source code according to one embodiment of the present invention.
  • FIG. 4 is an operational flow chart showing a method for providing a platform-integrated SDK capable of developing multiple platforms with single source code according to one embodiment of the present invention.
  • FIG. 5 is an operational flow chart showing a method for providing a platform-integrated SDK capable of developing multiple platforms with single source code according to one embodiment of the present invention.
  • FIG. 6 is a diagram showing an example in which code bases of platforms are similar to each other.
  • FIG. 7 is a diagram showing an example of a build setting screen of development software.
  • FIG. 8 is a diagram showing an example of a folder for saving a manifest file and a folder for overwriting the manifest file.
  • FIG. 9 is a flow chart showing in the case of using the apparatus for providing a platform-integrated SDK capable of developing multiple platforms with single source code according to one embodiment of the present invention.
  • FIG. 10 is a view showing a computer system according to one embodiment of the present invention.
  • FIG. 1 is a block diagram showing subjects for providing a platform-integrated SDK capable of developing multiple platforms with single source code according to one embodiment of the present invention.
  • the subjects for providing a platform-integrated SDK capable of developing multiple platforms with single source code include an apparatus 110 for providing a platform-integrated SDK capable of developing multiple platforms with single source code, and a user terminal 120 .
  • the apparatus 110 for providing a platform-integrated SDK capable of developing multiple platforms with single source code may refer to an apparatus that receives a user's build instruction from the user terminal 120 .
  • the apparatus 110 for providing a platform-integrated SDK capable of developing multiple platforms with single source code may refer to an apparatus that receives customized service provision data reflecting user's body measurement data from the user terminal 120 to provide a customized service to the user terminal 120 .
  • the user terminal 120 may refer to a device that provides a build instruction inputted by the user to the apparatus 110 for providing a platform-integrated SDK capable of developing multiple platforms with single source code.
  • FIG. 2 is an operational flow chart showing a method for providing a platform-integrated SDK capable of developing multiple platforms with single source code according to one embodiment of the present invention.
  • a build instruction in which any one of the multiple platforms is designated as a build target platform may be received from a user (S 210 ).
  • the source code may include in-app purchase processing code.
  • the in-app purchase processing code may include code in which a child class is overridden to branch an in-app purchase processing operation through a first preprocessor when the any one of the platforms is designated as the build target platform.
  • the activation proceeds before initializing an IAP manager.
  • a universally unique identifier (uuid) of a product is locally defined, the locally defined product ID is collated with a product ID present on a server, and the payment proceeds when the collation matches.
  • the uuid list of the product is received from the server and then the payment proceeds with the received value.
  • the operation may be branched to be processed in response to a platform designated as a build target platform through the first preprocessor.
  • the SDK corresponding to the build target platform among pre-stored SDKs may be imported (S 220 ).
  • SDKs corresponding to the platforms may be compressed and stored in the pre-stored SDKs, respectively.
  • the source code may be built after the SDK is imported (S 230 ).
  • the built object file may be provided to the user (S 240 ).
  • FIG. 3 is an operational flow chart showing a method for providing a platform-integrated SDK capable of developing multiple platforms with single source code according to one embodiment of the present invention.
  • an SDK import scheme may be decided based on whether the code bases are similar (S 320 ).
  • a first SDK corresponding to each of the platforms may be imported together, and when the any one of the platforms is designated as the build target platform, code for allowing an application of components included in the first SDK to be branched through a second preprocessor may be added.
  • FIG. 4 is an operational flow chart showing a method for providing a platform-integrated SDK capable of developing multiple platforms with single source code according to one embodiment of the present invention.
  • a rendering environment may be set based on the build target platform (S 410 ).
  • a rendering camera included in the SDK corresponding to the build target platform may be disposed.
  • the source code may further include rendering processing code, and the rendering processing code may include code for allowing a rendering processing operation to be branched through the first preprocessor.
  • an exception handling may be additionally performed by using a scripting define symbol for IAP, if necessary.
  • a screen rendered by a main camera may be rendered in stereo in the development software without additional processing.
  • the build target platform is Google
  • the above function is not provided by the development software, so a separate rendering camera may be disposed to set a rendering environment.
  • the build environment may be set based on the build target platform (S 420 ).
  • FIG. 5 is an operational flow chart showing a method for providing a platform-integrated SDK capable of developing multiple platforms with single source code according to one embodiment of the present invention.
  • a build setting value of the development software may be changed to a build setting value corresponding to the build target platform (S 510 ).
  • FIG. 7 is a diagram showing an example of a build setting screen of development software.
  • the build setting value of the development software may be changed to a build setting value corresponding to the build target platform on the build setting screen.
  • OCULUS may be inputted to the item Scripting Define Symbol 711 in Other Settings 710 .
  • items Configuration of XR Settings 720 , Publishing Settings 730 , and Other Settings 710 may be changed to the build setting values corresponding to Oculus as the build target platform.
  • the above example is only an example according to one embodiment, and does not limit the scope of the present invention.
  • a manifest file included in the source code may be overwritten with a manifest file corresponding to the build target platform (S 520 ).
  • the method may include storing a first manifest file corresponding to each of the platforms in a first folder that is not included in the build.
  • step S 520 may include overwriting a second manifest file corresponding to the build target platform among the first manifest files in a folder in which the manifest file included in the source code is located.
  • the first manifest file corresponding to each of the platforms may be stored in a specific folder (such as a folder Unity Editor).
  • the specific folder may be a first folder that is not included in the build.
  • the second manifest file corresponding to the build target platform may be overwritten in another folder (such as a folder Unity Plugins) in which the manifest file included in the source code is located.
  • other files such as a file Keystore
  • the file Keystore may be overwritten while overwriting the manifest file.
  • FIG. 9 is a flow chart showing in the case of using the apparatus for providing a platform-integrated SDK capable of developing multiple platforms with single source code according to one embodiment of the present invention.
  • FIG. 10 is a view showing a computer system according to one embodiment of the present invention.
  • the apparatus for providing a platform-integrated SDK capable of developing multiple platforms with single source code may be implemented in a computer system 1000 such as a computer-readable recording medium.
  • the computer system 1000 may include at least one processor 1010 , memory 1030 , user interface input device 1040 , user interface output device 1050 , and storage 1060 that communicate with each other via a bus 1020 .
  • the computer system 1000 may further include a network interface 1070 connected to network 1080 .
  • the processor 1010 may be a central processing unit or a semiconductor device that executes processing instructions stored in the memory 1030 or the storage 1060 .
  • the memory 1030 and the storage 1060 may include various forms of volatile or non-volatile storage media.
  • the memory may include ROM 1031 or RAM 1032 .

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computing Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

A method for providing a platform-integrated SDK capable of developing multiple platforms with single source code, includes: receiving, from a user, a build instruction in which any one of the multiple platforms is designated as a build target platform, with respect to source code integrally written for the multiple platforms; importing a software development kit (SDK), among pre-stored SDKs, corresponding to the build target platform; building the source code after the SDK is imported; and providing the built object file to the user.

Description

    CROSS-REFERENCE TO RELATED APPLICATION
  • This application claims priority under 35 USC § 119 to Korean Patent Application No. 10-2021-0087426 filed on Jul. 2, 2021 in the Korean Intellectual Property Office (KIPO), the entire disclosure of which is incorporated herein by reference.
  • BACKGROUND OF THE INVENTION 1. Field of the Invention
  • The present invention relates to a method and an apparatus for providing a platform-integrated SDK capable of developing multiple platforms with single source code.
  • 2. Description of the Related Art
  • The content described below merely provides background information related to the embodiment according to the present invention and does not constitute the prior art.
  • As virtual reality (VR) devices diversify, the need for developing software for different platforms is emerging. However, various problems may occur due to conflicts between codes when SDKs are simultaneously imported to enable one project to be operable on various VR devices. In addition, a lot of human resources and times are required for the multi-platform development due to the different SDK structure for each device and each platform during VR software development.
  • SUMMARY OF THE INVENTION
  • An object of the present invention is to provide a platform-integrated SDK capable of developing multiple platforms with single source code.
  • In addition, an object of the present invention is to reduce the required human resources and times through development using single source code.
  • In order to achieve the above objects, the method for providing a platform-integrated SDK capable of developing multiple platforms with single source code according to one embodiment of the present invention may include the steps of: receiving, from a user, a build instruction in which any one of the multiple platforms is designated as a build target platform, with respect to source code integrally written for the multiple platforms; importing a software development kit (SDK), among pre-stored SDKs, corresponding to the build target platform; building the source code after the SDK is imported; and providing the built object file to the user.
  • The source code may include in-app purchase processing code, and the in-app purchase processing code may include code in which a child class is overridden to branch an in-app purchase processing operation through a first preprocessor when the any one of the platforms is designated as the build target platform.
  • The importing of the SDK may include determining whether code bases of the platforms are similar to each other; and deciding an SDK import scheme based on whether the code bases are similar to each other, and may further include setting a rendering environment based on the build target platform after the importing of the SDK; and setting a build environment based on the build target platform.
  • The deciding of the SDK import scheme based on whether the code bases are similar to each other may include: importing a first SDK corresponding to each of the platforms together when the code bases of the platforms are similar to each other, and adding code for allowing an application of components included in the first SDK to be branched through a second preprocessor when the any one of the platforms is designated as the build target platform; or importing only a second SDK corresponding to the build target platform when the code bases of the platforms are not similar to each other.
  • The setting of the rendering environment may include disposing a rendering camera included in the SDK corresponding to the build target platform.
  • The source code may further include rendering processing code, and the rendering processing code may include code for allowing a rendering processing operation to be branched through the first preprocessor.
  • The setting of the build environment may include changing a build setting value of development software to a build setting value corresponding to the build target platform; and overwriting a manifest file included in the source code with a manifest file corresponding to the build target platform.
  • The development software may be, for example, development software corresponding to at least one of Unity engine, Unreal engine, Cry engine, Source engine, and Havok engine, and the type of engine corresponding to the development software in the present invention is not limited to the above example.
  • The method may include storing a first manifest file corresponding to each of the platforms in a first folder that is not included in the build, before the overwriting with the manifest file, and the overwriting with the manifest file may include overwriting a second manifest file corresponding to the build target platform among the first manifest files in a folder in which the manifest file included in the source code is located.
  • SDKs corresponding to the platforms may be compressed and stored in the pre-stored SDKs, respectively.
  • In addition, the apparatus for providing a platform-integrated SDK capable of developing multiple platforms with single source code according to one embodiment of the present invention may include a memory in which at least one program is recorded, and a processor for executing the program, in which the program may include instructions for executing: receiving, from a user, a build instruction in which any one of the multiple platforms is designated as a build target platform, with respect to source code integrally written for the multiple platforms; importing a software development kit (SDK), among pre-stored SDKs, corresponding to the build target platform; building the source code after the SDK is imported; and providing the built object file to the user.
  • According to the present invention, the platform-integrated SDK capable of developing multiple platforms with single source code can be provided.
  • In addition, according to the present invention, the required human resources and times can be reduced through development using single source code.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 is a block diagram showing subjects for providing a platform-integrated SDK capable of developing multiple platforms with single source code according to one embodiment of the present invention.
  • FIG. 2 is an operational flow chart showing a method for providing a platform-integrated SDK capable of developing multiple platforms with single source code according to one embodiment of the present invention.
  • FIG. 3 is an operational flow chart showing a method for providing a platform-integrated SDK capable of developing multiple platforms with single source code according to one embodiment of the present invention.
  • FIG. 4 is an operational flow chart showing a method for providing a platform-integrated SDK capable of developing multiple platforms with single source code according to one embodiment of the present invention.
  • FIG. 5 is an operational flow chart showing a method for providing a platform-integrated SDK capable of developing multiple platforms with single source code according to one embodiment of the present invention.
  • FIG. 6 is a diagram showing an example in which code bases of platforms are similar to each other.
  • FIG. 7 is a diagram showing an example of a build setting screen of development software.
  • FIG. 8 is a diagram showing an example of a folder for saving a manifest file and a folder for overwriting the manifest file.
  • FIG. 9 is a flow chart showing in the case of using the apparatus for providing a platform-integrated SDK capable of developing multiple platforms with single source code according to one embodiment of the present invention.
  • FIG. 10 is a view showing a computer system according to one embodiment of the present invention.
  • DETAILED DESCRIPTION OF THE INVENTION
  • The present invention will be described in detail with reference to the accompanying drawings as follows. Herein, repeated descriptions and detailed descriptions for known functions and configurations that may unnecessarily obscure the essentials of the invention will be omitted. The embodiments of the present invention are provided in order to more completely describe the present invention to those having ordinary skill in the art. Accordingly, the shapes and sizes of components in the drawings may be exaggerated for clearer description.
  • Throughout the specification, when a part “includes” a certain component, the above expression does not exclude other components, but may further include the other components, unless particularly stated otherwise
  • Hereinafter, exemplary embodiments according to the present invention will be described in detail with reference to the accompanying drawings.
  • FIG. 1 is a block diagram showing subjects for providing a platform-integrated SDK capable of developing multiple platforms with single source code according to one embodiment of the present invention.
  • Referring to FIG. 1 , the subjects for providing a platform-integrated SDK capable of developing multiple platforms with single source code according to one embodiment of the present invention include an apparatus 110 for providing a platform-integrated SDK capable of developing multiple platforms with single source code, and a user terminal 120.
  • The apparatus 110 for providing a platform-integrated SDK capable of developing multiple platforms with single source code may refer to an apparatus that receives a user's build instruction from the user terminal 120.
  • The apparatus 110 for providing a platform-integrated SDK capable of developing multiple platforms with single source code may refer to an apparatus that receives customized service provision data reflecting user's body measurement data from the user terminal 120 to provide a customized service to the user terminal 120.
  • The user terminal 120 may refer to a device that provides a build instruction inputted by the user to the apparatus 110 for providing a platform-integrated SDK capable of developing multiple platforms with single source code.
  • FIG. 2 is an operational flow chart showing a method for providing a platform-integrated SDK capable of developing multiple platforms with single source code according to one embodiment of the present invention.
  • Refer to FIG. 2 according to the method for providing a platform-integrated SDK capable of developing multiple platforms with single source code according to one embodiment of the present invention. First, a build instruction in which any one of the multiple platforms is designated as a build target platform may be received from a user (S210).
  • The source code may include in-app purchase processing code.
  • At this point, the in-app purchase processing code may include code in which a child class is overridden to branch an in-app purchase processing operation through a first preprocessor when the any one of the platforms is designated as the build target platform.
  • For example, in the case of Xiaomi platform, because an app is required to be activated before proceeding with in-app purchase (TAP), the activation proceeds before initializing an IAP manager. In the case of Google platform, a universally unique identifier (uuid) of a product is locally defined, the locally defined product ID is collated with a product ID present on a server, and the payment proceeds when the collation matches. In the case of Oculus platform, the uuid list of the product is received from the server and then the payment proceeds with the received value. As in the above, because the in-app purchase processing operation for each platform is different, the operation may be branched to be processed in response to a platform designated as a build target platform through the first preprocessor.
  • Next, the SDK corresponding to the build target platform among pre-stored SDKs may be imported (S220).
  • SDKs corresponding to the platforms may be compressed and stored in the pre-stored SDKs, respectively.
  • Next, the source code may be built after the SDK is imported (S230).
  • Next, the built object file may be provided to the user (S240).
  • FIG. 3 is an operational flow chart showing a method for providing a platform-integrated SDK capable of developing multiple platforms with single source code according to one embodiment of the present invention.
  • Refer to FIG. 3 according to the method for providing a platform-integrated SDK capable of developing multiple platforms with single source code according to one embodiment of the present invention. First, it may be determined whether the code bases of the platforms are similar to each other (S310).
  • Next, an SDK import scheme may be decided based on whether the code bases are similar (S320).
  • At this point, when the code bases of the platforms are similar to each other, a first SDK corresponding to each of the platforms may be imported together, and when the any one of the platforms is designated as the build target platform, code for allowing an application of components included in the first SDK to be branched through a second preprocessor may be added.
  • For example, referring to FIG. 6 , in the case of Google platform and LG U+ platform that have similar code bases of the platforms, SDKs corresponding to the platforms, respectively, may be imported together. In addition, when the LG U+ platform is designated as the build target platform, code for allowing the application of non-overlapping code to be branched through the second preprocessor may be added. The above example is only an example according to one embodiment, and does not limit the scope of the present invention.
  • When the code bases of the platforms are not similar to each other, only the second SDK corresponding to the build target platform may be imported.
  • FIG. 4 is an operational flow chart showing a method for providing a platform-integrated SDK capable of developing multiple platforms with single source code according to one embodiment of the present invention.
  • Refer to FIG. 4 according to the method for providing a platform-integrated SDK capable of developing multiple platforms with single source code according to one embodiment of the present invention. After importing the SDK, a rendering environment may be set based on the build target platform (S410).
  • At this point, a rendering camera included in the SDK corresponding to the build target platform may be disposed.
  • The source code may further include rendering processing code, and the rendering processing code may include code for allowing a rendering processing operation to be branched through the first preprocessor.
  • As a selective embodiment, an exception handling may be additionally performed by using a scripting define symbol for IAP, if necessary.
  • For example, when the build target platform is Oculus, a screen rendered by a main camera may be rendered in stereo in the development software without additional processing. On the contrary, when the build target platform is Google, the above function is not provided by the development software, so a separate rendering camera may be disposed to set a rendering environment.
  • For another example, during processing an overlay UI using a canvas, two images may appear when the UI is excessively close. At this point, when the build target platform is Oculus, the problem may be solved by using Monoscopic as its own option. However, because the Monoscopic option is not provided when the build target platform is Google, the problem may be solved by applying an additional script corresponding to the Monoscopic option to the camera. The above example is only an example according to one embodiment, and does not limit the scope of the present invention.
  • Next, the build environment may be set based on the build target platform (S420).
  • FIG. 5 is an operational flow chart showing a method for providing a platform-integrated SDK capable of developing multiple platforms with single source code according to one embodiment of the present invention.
  • Refer to FIG. 5 according to the method for providing a platform-integrated SDK capable of developing multiple platforms with single source code according to one embodiment of the present invention. First, a build setting value of the development software may be changed to a build setting value corresponding to the build target platform (S510).
  • FIG. 7 is a diagram showing an example of a build setting screen of development software. The build setting value of the development software may be changed to a build setting value corresponding to the build target platform on the build setting screen.
  • For example, when the build target platform is Oculus, “OCULUS” may be inputted to the item Scripting Define Symbol 711 in Other Settings 710. In addition, items Configuration of XR Settings 720, Publishing Settings 730, and Other Settings 710 may be changed to the build setting values corresponding to Oculus as the build target platform. The above example is only an example according to one embodiment, and does not limit the scope of the present invention.
  • Next, a manifest file included in the source code may be overwritten with a manifest file corresponding to the build target platform (S520).
  • Before the overwriting with the manifest file, the method may include storing a first manifest file corresponding to each of the platforms in a first folder that is not included in the build. In addition, step S520 may include overwriting a second manifest file corresponding to the build target platform among the first manifest files in a folder in which the manifest file included in the source code is located.
  • For example, referring to FIG. 8 , the first manifest file corresponding to each of the platforms may be stored in a specific folder (such as a folder Unity Editor). The specific folder may be a first folder that is not included in the build. In addition, during build, the second manifest file corresponding to the build target platform may be overwritten in another folder (such as a folder Unity Plugins) in which the manifest file included in the source code is located. At this point, other files (such as a file Keystore) may be pasted together in addition to the manifest file. The file Keystore may be overwritten while overwriting the manifest file.
  • FIG. 9 is a flow chart showing in the case of using the apparatus for providing a platform-integrated SDK capable of developing multiple platforms with single source code according to one embodiment of the present invention.
  • Referring to FIG. 9 , it can be seen that multiple SDKs, such as Oculus, Google and Pico, are imported into the development software through the interface of the apparatus for providing the platform-integrated SDK according to the present invention.
  • FIG. 10 is a view showing a computer system according to one embodiment of the present invention.
  • The apparatus for providing a platform-integrated SDK capable of developing multiple platforms with single source code according to one embodiment of the present invention may be implemented in a computer system 1000 such as a computer-readable recording medium.
  • Referring to FIG. 10 , the computer system 1000 may include at least one processor 1010, memory 1030, user interface input device 1040, user interface output device 1050, and storage 1060 that communicate with each other via a bus 1020. In addition, the computer system 1000 may further include a network interface 1070 connected to network 1080. The processor 1010 may be a central processing unit or a semiconductor device that executes processing instructions stored in the memory 1030 or the storage 1060. The memory 1030 and the storage 1060 may include various forms of volatile or non-volatile storage media. For example, the memory may include ROM 1031 or RAM 1032.
  • The specific implementations described in the present invention merely are embodiments, and do not intended to limit the scope of the present invention in any case. For clarity of the specification, the description of conventional electronic components, control systems, software, and other functional aspects of the above systems may be omitted. In addition, the connections or connecting members of lines between the components shown in the drawings exemplify functional connections and/or physical or circuit-wise connections, and alternative or additional various functional connections, physical connections, or circuit-wise connections may be embodied in actual devices. In addition, the corresponding component may not be required for applying the present invention, unless specifically stated as “essential”, “important”, or the like.
  • Accordingly, the spirit of the present invention will not be limited to the embodiments described above, and the claims described below and all ranges equivalent to or modified from the claims will fall within the scope of the spirit of the present invention.

Claims (10)

What is claimed is:
1. A method for providing a platform-integrated SDK capable of developing multiple platforms with single source code, the method comprising:
receiving, from a user, a build instruction in which any one of the multiple platforms is designated as a build target platform, with respect to source code integrally written for the multiple platforms;
importing a software development kit (SDK), among pre-stored SDKs, corresponding to the build target platform;
building the source code after the SDK is imported; and
providing the built object file to the user.
2. The method of claim 1, wherein the source code includes in-app purchase processing code, and the in-app purchase processing code includes code in which a child class is overridden to branch an in-app purchase processing operation through a first preprocessor when the any one of the platforms is designated as the build target platform.
3. The method of claim 2, wherein the importing of the SDK includes:
determining whether code bases of the platforms are similar to each other; and
deciding an SDK import scheme based on whether the code bases are similar to each other, and
further includes:
setting a rendering environment based on the build target platform after the importing of the SDK; and
setting a build environment based on the build target platform.
4. The method of claim 3, wherein the deciding of the SDK import scheme based on whether the code bases are similar to each other includes:
importing a first SDK corresponding to each of the platforms together when the code bases of the platforms are similar to each other, and adding code for allowing an application of components included in the first SDK to be branched through a second preprocessor when the any one of the platforms is designated as the build target platform; or
importing only a second SDK corresponding to the build target platform when the code bases of the platforms are not similar to each other.
5. The method of claim 3, wherein the setting of the rendering environment includes disposing a rendering camera included in the SDK corresponding to the build target platform.
6. The method of claim 5, wherein the source code further includes rendering processing code, and the rendering processing code includes code for allowing a rendering processing operation to be branched through the first preprocessor.
7. The method of claim 3, wherein the setting of the build environment includes:
changing a build setting value of development software to a build setting value corresponding to the build target platform; and
overwriting a manifest file included in the source code with a manifest file corresponding to the build target platform.
8. The method of claim 7, further comprising:
storing a first manifest file corresponding to each of the platforms in a first folder that is not included in the build, before the overwriting with the manifest file, wherein
the overwriting with the manifest file includes overwriting a second manifest file corresponding to the build target platform among the first manifest files in a folder in which the manifest file included in the source code is located.
9. The method of claim 1, wherein SDKs corresponding to the platforms are compressed and stored in the pre-stored SDKs, respectively.
10. An apparatus for providing a platform-integrated SDK capable of developing multiple platforms with single source code, the apparatus comprising:
a memory in which at least one program is recorded; and
a processor for executing the program, wherein
the program includes instructions for executing:
receiving, from a user, a build instruction in which any one of the multiple platforms is designated as a build target platform, with respect to source code integrally written for the multiple platforms;
importing a software development kit (SDK), among pre-stored SDKs, corresponding to the build target platform;
building the source code after the SDK is imported; and
providing the built object file to the user.
US17/852,458 2021-07-02 2022-06-29 Method and apparatus for providing platform-integrated SDK capable of developing multiple platforms with single source code Active 2042-10-21 US12026507B2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020210087426A KR102324259B1 (en) 2021-07-02 2021-07-02 Method and apparatus for providing platform-integrated sdk capable of developing multiple platforms with a single source code
KR10-2021-0087426 2021-07-02

Publications (2)

Publication Number Publication Date
US20230004382A1 true US20230004382A1 (en) 2023-01-05
US12026507B2 US12026507B2 (en) 2024-07-02

Family

ID=78500228

Family Applications (1)

Application Number Title Priority Date Filing Date
US17/852,458 Active 2042-10-21 US12026507B2 (en) 2021-07-02 2022-06-29 Method and apparatus for providing platform-integrated SDK capable of developing multiple platforms with single source code

Country Status (2)

Country Link
US (1) US12026507B2 (en)
KR (2) KR102324259B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114115854A (en) * 2021-11-29 2022-03-01 北京百度网讯科技有限公司 SDK file generation method, device, equipment and storage medium

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7610577B1 (en) * 2004-05-29 2009-10-27 Sun Microsystems, Inc. Method for developing platform independent launchable applications
US20130326487A1 (en) * 2012-05-31 2013-12-05 Shenol YOUSOUF Emulating cloud functioning of applications locally
US9239705B2 (en) * 2013-06-18 2016-01-19 Ciambella Ltd. Method and apparatus for customized software development kit (SDK) generation
US9678726B1 (en) * 2015-03-27 2017-06-13 Amazon Technologies, Inc. Automatic generation of plugins for development tools
US20170351514A1 (en) * 2015-12-16 2017-12-07 International Business Machines Corporation Generating and managing applications using any number of different platforms
US20190004774A1 (en) * 2017-06-28 2019-01-03 Google Inc. Automated source code adaption to inject features between platform versions
CN111445274A (en) * 2018-12-27 2020-07-24 北京奇虎科技有限公司 Configurable packaging method and device based on advertising platform, and computing device

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5748964A (en) * 1994-12-20 1998-05-05 Sun Microsystems, Inc. Bytecode program interpreter apparatus and method with pre-verification of data type restrictions
US20030145190A1 (en) * 2001-12-07 2003-07-31 Paolo Faraboschi Compiler algorithm to implement speculative stores
US20050071805A1 (en) * 2003-09-30 2005-03-31 Johannes Lauterbach Developing applications using a metamodel
US20100057427A1 (en) * 2008-09-04 2010-03-04 Anthony Dean Walker Simulated processor execution using branch override
KR20130094003A (en) * 2012-02-15 2013-08-23 주식회사 시공미디어 System and method for making hybrid application
KR101892702B1 (en) * 2016-09-05 2018-10-04 바이플러그 주식회사 Server, apparatus and method for authoring app of supporting multiple platform
US10956304B2 (en) * 2019-01-25 2021-03-23 Microsoft Technology Licensing, Llc Dynamic diagnostic code instrumentation over a historic program execution

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7610577B1 (en) * 2004-05-29 2009-10-27 Sun Microsystems, Inc. Method for developing platform independent launchable applications
US20130326487A1 (en) * 2012-05-31 2013-12-05 Shenol YOUSOUF Emulating cloud functioning of applications locally
US9239705B2 (en) * 2013-06-18 2016-01-19 Ciambella Ltd. Method and apparatus for customized software development kit (SDK) generation
US9678726B1 (en) * 2015-03-27 2017-06-13 Amazon Technologies, Inc. Automatic generation of plugins for development tools
US20170351514A1 (en) * 2015-12-16 2017-12-07 International Business Machines Corporation Generating and managing applications using any number of different platforms
US20190004774A1 (en) * 2017-06-28 2019-01-03 Google Inc. Automated source code adaption to inject features between platform versions
CN111445274A (en) * 2018-12-27 2020-07-24 北京奇虎科技有限公司 Configurable packaging method and device based on advertising platform, and computing device

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Dagne, Lukas, "Flutter for cross-platform App and SDK development," Metropolia University of Applied Sciences, 2019. (Year: 2019) *
Gonsalves, Michael, "EVALUATING THE MOBILE DEVELOPMENT FRAMEWORKS APACHE CORDOVA AND FLUTTER AND THEIR IMPACT ON THE DEVELOPMENT PROCESS AND APPLICATION CHARACTERISTICS," Cal. State Chico, 2018. (Year: 2018) *
Napoli, Marco L., "Beginning Flutter A Hands On Guide to App Development," Wiley, 2020. (Year: 2020) *
Payne, Rap, "Beginning App Development with Flutter," apress, 2019. (Year: 2019) *

Also Published As

Publication number Publication date
US12026507B2 (en) 2024-07-02
KR20230006370A (en) 2023-01-10
KR102324259B1 (en) 2021-11-10
KR102610132B1 (en) 2023-12-05

Similar Documents

Publication Publication Date Title
US11467816B1 (en) Method and system of running an application
US7493614B2 (en) System architecture and related methods for dynamically adding software components to extend functionality of system processes
CN106802807B (en) Application delivery method based on container platform, container platform and application delivery system
CN107729246B (en) Auxiliary test method, device and equipment for target application and storage medium
CN104991793A (en) Method, device and system used for application program subpackage
CN105183760B (en) Webpage component loading method and device
US12026507B2 (en) Method and apparatus for providing platform-integrated SDK capable of developing multiple platforms with single source code
CN113157345B (en) Front-end engineering automatic starting method and device
CN106843901B (en) Page rendering and verification method and device
CN111273942A (en) Code generation method, storage medium, electronic device and system
WO2019029451A1 (en) Method for publishing mobile applications and electronic apparatus
CN106897080A (en) The processing method and processing device of dynamic link library
WO2021143626A1 (en) Service platform component management method and system, device, and readable storage medium
CN105808630B (en) Android application auditing method and device
CN109766123B (en) Application program packaging method and device
CN107977222A (en) Suitable for the conversion of the upgrade file of eMMC, generation method and device
EP4394593A1 (en) Skin changing method and apparatus for display interface, vehicle and storage medium
CN109558186A (en) A kind of page display method and device
CN111611505A (en) Method for accessing multimedia resources in electronic book, computing equipment and storage medium
CN113590221B (en) Method and device for detecting number of shader variants, electronic equipment and storage medium
CN116962807A (en) Video rendering method, device, equipment and storage medium
CN113794846A (en) Video cloud clipping method and device and cloud clipping server
CN112241297B (en) Data display method, system, computer equipment and readable storage medium
CN114721728A (en) Processing method based on cloud application, electronic equipment and storage medium
CN112685202A (en) Cross-platform communication method and device and computing equipment

Legal Events

Date Code Title Description
AS Assignment

Owner name: FAKEEYES CO.,LTD., KOREA, REPUBLIC OF

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:KIM, SEOK JOONG;SON, MIN SEUNG;KIM, DO YEONG;REEL/FRAME:060348/0473

Effective date: 20220628

STPP Information on status: patent application and granting procedure in general

Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION

STPP Information on status: patent application and granting procedure in general

Free format text: NON FINAL ACTION MAILED

STPP Information on status: patent application and granting procedure in general

Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER

STPP Information on status: patent application and granting procedure in general

Free format text: FINAL REJECTION MAILED

STPP Information on status: patent application and granting procedure in general

Free format text: RESPONSE AFTER FINAL ACTION FORWARDED TO EXAMINER

STPP Information on status: patent application and granting procedure in general

Free format text: PUBLICATIONS -- ISSUE FEE PAYMENT RECEIVED

STPP Information on status: patent application and granting procedure in general

Free format text: PUBLICATIONS -- ISSUE FEE PAYMENT VERIFIED

STCF Information on status: patent grant

Free format text: PATENTED CASE