Coder Social home page Coder Social logo

gentom / unity-webview Goto Github PK

View Code? Open in Web Editor NEW

This project forked from gree/unity-webview

0.0 1.0 0.0 7.66 MB

License: zlib License

HTML 2.66% JavaScript 2.77% C# 23.43% Ruby 2.29% Shell 2.42% Batchfile 0.44% Java 12.86% Objective-C 36.57% Objective-C++ 16.56%

unity-webview's Introduction

unity-webview

unity-webview is a plugin for Unity 5 that overlays WebView components on Unity view. It works on Android, iOS, Unity Web Player, and OS X (Windows is not supported for now).

unity-webview is derived from keijiro-san's https://github.com/keijiro/unity-webview-integration .

Sample Project

It is placed under sample/. You can open it and import the plugin as below:

  1. Open sample/Assets/Sample.unity.
  2. Open dist/unity-webview.unitypackage and import all files. It might be easier to extract dist/unity-webview.zip instead if you've imported unity-webview before.

Platform Specific Notes

OS X (Editor)

App Transport Security

Since Unity 5.3.0, Unity.app is built with ATS (App Transport Security) enabled and non-secured connection (HTTP) is not permitted. If you want to open http://foo/bar.html with this plugin on Unity OS X Editor, you need to open /Applications/Unity5.3.4p3/Unity.app/Contents/Info.plist with a text editor and add the following,

--- Info.plist~	2016-04-11 18:29:25.000000000 +0900
+++ Info.plist	2016-04-15 16:17:28.000000000 +0900
@@ -57,5 +57,10 @@
 	<string>EditorApplicationPrincipalClass</string>
 	<key>UnityBuildNumber</key>
 	<string>b902ad490cea</string>
+	<key>NSAppTransportSecurity</key>
+	<dict>
+		<key>NSAllowsArbitraryLoads</key>
+		<true/>
+	</dict>
 </dict>
 </plist>

or invoke the following from your terminal,

/usr/libexec/PlistBuddy -c "Add NSAppTransportSecurity:NSAllowsArbitraryLoads bool true" /Applications/Unity/Unity.app/Contents/Info.plist
References

WebViewSeparated.bundle

WebViewSeparated.bundle is a variation of WebView.bundle. It is based on gree#161 . As noted in the pull-request, it shows a separate window and allows a developer to utilize the Safari debugger. For enabling it, please define WEBVIEW_SEPARATED.

iOS

The implementation now supports WKWebView but it is disabled by default. For enabling it, please set enableWKWebView as below:

		webViewObject.Init(
            ...
            enableWKWebView: true);

Android

NOTE: the following steps are now performed by Assets/Plugins/Android/Editor/UnityWebViewPostprocessBuild.cs.

Once you built an apk, please copy sample/Temp/StatingArea/AndroidManifest-main.xml to sample/Assets/Plugins/Android/AndroidManifest.xml, edit the latter to add android:hardwareAccelerated="true" to <activity android:name="com.unity3d.player.UnityPlayerActivity" ..., and rebuilt the apk. Although some old/buggy devices may not work well with android:hardwareAccelerated="true", the WebView runs very smoothly with this setting.

NOTE: Unity 5.6.1p4 or newer (including 2017 1.0) seems to fix the issue. cf. gree#212 (comment)

For Unity 5.6.0 and 5.6.1 (except 5.6.1p4), you also need to modify android:name from com.unity3d.player.UnityPlayerActivity to net.gree.unitywebview.CUnityPlayerActivity. This custom activity implementation will adjust Unity's SurfaceView z order. Please refer plugins/Android/src/net/gree/unitywebview/CUnityPlayerActivity.java and plugins/Android/src/net/gree/unitywebview/CUnityPlayer.java if you already have your own activity implementation.

Web Player

The implementation utilizes IFRAME so please put both "an_unityplayer_page.html" and "a_page_loaded_in_webview.html" should be placed on the same domain for avoiding cross-domain requests.

unity-webview's People

Contributors

kojinakamaru avatar splhack avatar dolow avatar n-yoda avatar shinobushiva avatar bala-kyawhtin-tecotec avatar jake1256 avatar drc-genki-kokubun avatar astrubel avatar aki-null avatar hallucinogen avatar imkira avatar rskorski-gsn avatar appirits-nakamatsu avatar codec-abc avatar hiroyuki0115 avatar shinriyo avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.