이 페이지에서는 Tizen 플랫폼용 네이티브 코드 플러그인에 대해 설명합니다.
[DllImport ("PluginName")]
private static extern float FooPluginFunction();
# include <tizen.h>
EXPORT_API float FooPluginFunction();
C++(. cpp)를 사용하여 플러그인을 구현하는 경우 이름 맹글링 문제를 방지하기 위해 함수가 C 링크를 사용하여 선언되는지 확인해야 합니다.
extern "C" {
EXPORT_API float FooPluginFunction();
}
C로 작성된 플러그인은 해당 언어에 이름 맹글링이 사용되지 않으므로 이렇게 할 필요가 없습니다.
빌드된 공유 라이브러리를 Assets->Plugins->Tizen->libs 폴더로 복사해야 합니다. 그려면 C# 스크립트에서 다음과 같은 함수를 정의할 때 Unity가 이름을 기준으로 라이브러리를 찾습니다.
[DllImport ("PluginName")]
private static extern float FooPluginFunction ();
PluginName 에는 파일 이름의 접두사(‘lib’)나 확장자(‘.so’)가 포함되지 않아야 합니다. 추가적인 C# 코드 레이어로 모든 네이티브 코드 메서드를 래핑해야 합니다. 이 코드는 앱이 실제 디바이스에서 실행 중인 경우에만 Application.platform을 확인하고 네이티브 메서드를 호출해야 합니다. 에디터에서 실행 중인 경우 C# 코드로부터 더미 값이 반환될 수 있습니다. 플랫폼 정의를 사용하여 플랫폼 기반 코드 컴파일을 제어할 수도 있습니다.
Unity Tizen은 UnitySendMessage:를 통해 native-to-managed 콜백 기능을 제한적으로 지원합니다.
UnitySendMessage("GameObjectName1", "MethodName1", "Message to send");
이 함수에는 세 개의 파라미터인 타겟 게임 오브젝트의 이름, 해당 오브젝트를 호출할 스크립트 메서드, 호출된 메서드에 전달할 메시지 문자열입니다.
알려진 제한 사항.
function MethodName(message:string)