香港6合总彩透码主论坛
 找回密碼
 注冊帳號

掃一掃,訪問微社區

薛飛 網頁鏈接拉起Unity Android和iOS APP

12
回復
2251
查看
打印 上一主題 下一主題
[ 復制鏈接 ]
排名
417
昨日變化

21

主題

233

帖子

4296

積分

Rank: 9Rank: 9Rank: 9

UID
686
好友
18
蠻牛幣
5491
威望
0
注冊時間
2013-7-4
在線時間
1934 小時
最后登錄
2020-1-15

專欄作家

QQ

馬上注冊,結交更多好友,享用更多功能,讓你輕松玩轉社區。

您需要 登錄 才可以下載或查看,沒有帳號?注冊帳號

x
本帖最后由 AWNUXCVBN 于 2019-3-15 15:00 編輯

1、安卓端代碼
[Java] 純文本查看 復制代碼
package cn.net.xuefei.schemedemo;

import android.net.Uri;
import android.os.Bundle;
import android.util.Log;

import com.unity3d.player.UnityPlayer;
import com.unity3d.player.UnityPlayerActivity;
 
public class MainActivity extends UnityPlayerActivity {

    private String launchInfo="";
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        launchInfo = onLaunchInfo();
    }

    @Override
    public void onResume()
    {
        super.onResume();
        launchInfo = onLaunchInfo();
    }

    private String onLaunchInfo()
    {
        String info="";
        Uri uri = getIntent().getData();
        if (uri != null) {
            // 完整的url信息
            String url = uri.toString(); 
            info = url;[/font][/color][color=#444444]            getIntent().setData(null);
            Log.e("Unity", "url: " + url);
        }
        return info;

    }

    public void getLaunchInfo()
    {
        UnityPlayer.UnitySendMessage("Main Camera", "OnLaunchInfo", launchInfo);
        launchInfo="";
    }
}


2、Unity中 Manifest.xml
[XML] 純文本查看 復制代碼
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package = "cn.net.xuefei.schemedemo"
    android:versionCode="1"
    android:versionName="1.0">

  <application
      android:allowBackup="true"
      android:icon="@drawable/app_icon"
      android:label="@string/app_name"
      android:supportsRtl="true">

    <activity android:name=".MainActivity" >
      <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
      </intent-filter>
      <intent-filter>
        <action android:name="android.intent.action.VIEW" />
        <category android:name="android.intent.category.BROWSABLE" />
        <category android:name="android.intent.category.DEFAULT" />
        <data android:scheme="scheme"
              android:host="host"
              android:path="/path"
              android:port="8888"/>
      </intent-filter>
      <meta-data android:name="unityplayer.UnityActivity" android:value="true" />
    </activity>
  </application> 
</manifest>


3、Unity中代碼
[C#] 純文本查看 復制代碼
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

#if UNITY_IOS
using System.Runtime.InteropServices;
#endif

public class SchemeDemo : MonoBehaviour
{
    public Text text;

    // Use this for initialization
    void Start()
    {
        GetInfo();
    }

    // Update is called once per frame
    void Update()
    {

    }

    public void OnLaunchInfo(string launchInfo)
    {
        Debug.LogError("launchInfo:" + launchInfo);
        text.text = launchInfo;
    }

    public void GetInfo()
    {
        
#if UNITY_ANDROID
        AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
        AndroidJavaObject jo = jc.GetStatic<AndroidJavaObject>("currentActivity");
        jo.Call("getLaunchInfo");
#elif UNITY_IOS
        _GetLaunchInfo();
#endif
    }

    private void OnApplicationFocus(bool focus)
    {
        Debug.LogError("focus:" + focus);
        if (true)
        {
            GetInfo();
        }
    }

#if UNITY_IOS
    [DllImport("__Internal")]
    private static extern void _GetLaunchInfo();
#endif
}


4、設置Unity iOS URL Schemes,修改導出的Xcode工程中的UnityAppController.mm
[AppleScript] 純文本查看 復制代碼
#import "UnityAppController.h"

NSString *URLString = @"";

// 向Unity傳遞參數;
extern void UnitySendMessage(const char *, const char *, const char *);

//添加的代碼
- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<NSString *,id> *)options
{
    URLString = [url absoluteString]; 
    return YES;
}

- (BOOL)application:(UIApplication*)application openURL:(NSURL*)url sourceApplication:(NSString*)sourceApplication annotation:(id)annotation
{
    //添加的代碼
    URLString = [url absoluteString]; 
    return YES;
}

extern "C"  
{  
    void _GetLaunchInfo();  
}  
  
void _GetLaunchInfo()  
{    
    UnitySendMessage( "Main Camera", [@"OnLaunchInfo" UTF8String], [URLString UTF8String] );  
    // 清空,防止造成干擾;  
    URLString = @"";  
}  

5、網頁
[HTML] 純文本查看 復制代碼
<!doctype html>
<html lang="en">
<head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0">
        <title>Document</title>
</head>
<body>
        <input  id="btn" type="button" value="喚起SchemeDemo">
        <script>
                var btn = document.getElementById('btn');
                
                btn.onclick = function () {
                        jump('scheme://host:8888/path?ps=123456');
                };
                
                function  GetMobelType()  {                
                        var  browser  =   {                    
                                versions:   function()  {                        
                                        var  u  =  window.navigator.userAgent;    
                                        console.log(u);  //Safari瀏覽器 Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/11.1.1 Safari/605.1.15                  
                                        return  {                            
                                                trident:  u.indexOf('Trident')  >  -1, //IE內核
                                                presto:  u.indexOf('Presto')  >  -1, //opera內核
                                                Alipay:  u.indexOf('Alipay')  >  -1, //支付寶
                                                webKit:  u.indexOf('AppleWebKit')  >  -1, //蘋果、谷歌內核
                                                gecko:  u.indexOf('Gecko')  >  -1  &&  u.indexOf('KHTML')  ==  -1, //火狐內核
                                                mobile:  !!u.match(/AppleWebKit.*Mobile.*/), //是否為移動終端
                                                ios:  !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/), //ios終端
                                                android:  u.indexOf('Android')  >  -1  ||  u.indexOf('Linux')  >  -1, //android終端或者uc瀏覽器
                                                iPhone:  u.indexOf('iPhone')  >  -1  ||  u.indexOf('Mac')  >  -1, //是否為iPhone或者安卓QQ瀏覽器
                                                //iPhone: u.match(/iphone|ipod|ipad/),//
                                                iPad:  u.indexOf('iPad')  >  -1, //是否為iPad
                                                webApp:  u.indexOf('Safari')  ==  -1, //是否為web應用程序,沒有頭部與底部
                                                weixin:  u.indexOf('MicroMessenger')  >  -1, //是否為微信瀏覽器
                                                qq: u.match(/\sQQ/i) !== null, //是否QQ
                                                Safari:  u.indexOf('Safari')  >  -1,
                                                  ///Safari瀏覽器,
                                        };                    
                                }()                
                        };                
                        return  browser.versions;            
                }
                
                
                function jump(myurl) { 
                        var timeout = 2300, timer = null;
                        if(GetMobelType().weixin) {
                                // 微信瀏覽器不支持跳轉
                                // 可以顯示提示在其他瀏覽器打開
                        } else {
                                var startTime = Date.now();
                                if(GetMobelType().android) {
                                        var ifr = document.createElement('iframe');
                                        ifr.src = myurl;//這里是喚起App的協議,有Android可愛的同事提供
                                        ifr.style.display = 'none';
                                        document.body.appendChild(ifr);
                                        timer = setTimeout(function() {
                                                var endTime = Date.now();
                                                if(!startTime || endTime - startTime < timeout + 300) {
                                                        document.body.removeChild(ifr);
                                                        //window.open("喚起失敗跳轉的鏈接");
                                                        window.open("https://www.ganghood.net.cn/SchemeDemo.apk");
                                                }
                                        }, timeout);
                                }
                                if(GetMobelType().ios || GetMobelType().iPhone || GetMobelType().iPad) {
                                        if(GetMobelType.qq) { 
                                        // ios的蘋果瀏覽器
                                        // 提示在瀏覽器打開的蒙板
                                        } else {
                                                /*var ifr = document.createElement("iframe");
                                                ifr.src = myurl;
                                                ifr.style.display = "none";*/ // iOS9+不支持iframe喚起app
                                                window.location.href = myurl; //喚起協議,由iOS小哥哥提供
                                                //document.body.appendChild(ifr);
                                                
                                                timer = setTimeout(function() {
                                                        // window.location.href = "ios下載的鏈接";
                                                        window.location.href = "https://www.ganghood.net.cn/沒有該文件.ipa";
                                                }, timeout);
                                        };
                                }
                        }
                }
        </script>
</body>
</html>



工程地址https://gitee.com/awnuxcvbn/SchemeDemo


TIM圖片20190315140409.jpg (27.58 KB, 下載次數: 86)

TIM圖片20190315140409.jpg
回復

使用道具 舉報

排名
5516
昨日變化

4

主題

91

帖子

497

積分

Rank: 7Rank: 7Rank: 7Rank: 7

UID
1997
好友
2
蠻牛幣
1383
威望
0
注冊時間
2013-8-14
在線時間
78 小時
最后登錄
2020-2-20
QQ
沙發
2019-3-15 14:36:36 只看該作者
91飛先生厲害了
回復

使用道具 舉報

6蠻牛粉絲
1090/1500
排名
2551
昨日變化

4

主題

101

帖子

1090

積分

Rank: 6Rank: 6Rank: 6

UID
46865
好友
1
蠻牛幣
1192
威望
0
注冊時間
2014-9-26
在線時間
419 小時
最后登錄
2020-2-25
板凳
2019-3-15 14:37:45 只看該作者
91飛先生厲害了
回復

使用道具 舉報

7日久生情
4298/5000
排名
2981
昨日變化

33

主題

2579

帖子

4298

積分

Rank: 7Rank: 7Rank: 7Rank: 7

UID
173503
好友
7
蠻牛幣
1097
威望
0
注冊時間
2016-10-5
在線時間
1190 小時
最后登錄
2020-2-26
地板
2019-3-15 20:07:32 只看該作者
沒看明白是什么意思!!!
回復 支持 反對

使用道具 舉報

7日久生情
2249/5000
排名
2353
昨日變化

8

主題

801

帖子

2249

積分

Rank: 7Rank: 7Rank: 7Rank: 7

UID
40014
好友
16
蠻牛幣
3715
威望
0
注冊時間
2014-8-15
在線時間
666 小時
最后登錄
2020-2-3
QQ
5#
2019-3-16 01:31:57 只看該作者
網頁鏈接拉起Unity Android和iOS APP
回復 支持 反對

使用道具 舉報

6蠻牛粉絲
1223/1500
排名
2066
昨日變化

0

主題

273

帖子

1223

積分

Rank: 6Rank: 6Rank: 6

UID
26073
好友
1
蠻牛幣
4871
威望
0
注冊時間
2014-5-21
在線時間
282 小時
最后登錄
2020-1-17
6#
2019-3-16 09:18:59 只看該作者
表示不太懂
回復

使用道具 舉報

6蠻牛粉絲
1058/1500
排名
5516
昨日變化

0

主題

660

帖子

1058

積分

Rank: 6Rank: 6Rank: 6

UID
300432
好友
1
蠻牛幣
1232
威望
0
注冊時間
2018-10-18
在線時間
137 小時
最后登錄
2019-12-13
7#
2019-3-16 10:00:12 只看該作者
66666666666666
回復

使用道具 舉報

7日久生情
2683/5000
排名
4094
昨日變化

0

主題

1880

帖子

2683

積分

Rank: 7Rank: 7Rank: 7Rank: 7

UID
254705
好友
1
蠻牛幣
2408
威望
0
注冊時間
2017-11-16
在線時間
441 小時
最后登錄
2020-2-24
8#
2019-3-18 08:26:46 只看該作者
66666666666666666666666666666
回復 支持 反對

使用道具 舉報

7日久生情
1723/5000
排名
10820
昨日變化

3

主題

1367

帖子

1723

積分

Rank: 7Rank: 7Rank: 7Rank: 7

UID
310426
好友
0
蠻牛幣
2653
威望
0
注冊時間
2019-1-2
在線時間
257 小時
最后登錄
2020-2-21
9#
2019-3-18 08:55:05 只看該作者
厲害了啊
回復

使用道具 舉報

6蠻牛粉絲
1287/1500
排名
16957
昨日變化

4

主題

775

帖子

1287

積分

Rank: 6Rank: 6Rank: 6

UID
199204
好友
2
蠻牛幣
2649
威望
0
注冊時間
2017-1-5
在線時間
469 小時
最后登錄
2020-2-26
10#
2019-3-18 13:25:10 只看該作者
謝謝分享
回復

使用道具 舉報

7日久生情
2683/5000
排名
4094
昨日變化

0

主題

1880

帖子

2683

積分

Rank: 7Rank: 7Rank: 7Rank: 7

UID
254705
好友
1
蠻牛幣
2408
威望
0
注冊時間
2017-11-16
在線時間
441 小時
最后登錄
2020-2-24
11#
2019-3-20 08:30:04 只看該作者
6666666666666666666666666666666
回復 支持 反對

使用道具 舉報

4四處流浪
407/500
排名
13056
昨日變化

0

主題

275

帖子

407

積分

Rank: 4

UID
199276
好友
0
蠻牛幣
7
威望
0
注冊時間
2017-1-5
在線時間
64 小時
最后登錄
2019-5-17
12#
2019-3-22 09:44:23 只看該作者
erthtsryesryseryseyestry
回復 支持 反對

使用道具 舉報

4四處流浪
452/500
排名
31434
昨日變化

0

主題

310

帖子

452

積分

Rank: 4

UID
247666
好友
0
蠻牛幣
119
威望
0
注冊時間
2017-10-9
在線時間
131 小時
最后登錄
2020-2-2
13#
2019-3-23 11:02:47 只看該作者
飛先生厲害了
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 注冊帳號

本版積分規則

香港6合总彩透码主论坛
在线理财平台灬乾贷网25 全球股市大盘行情 2011年上证指数分析 香溢融通股票 四海策略配资 海螺水泥股票 怎么炒股新手入门 大同煤业股票行情 股票分析师考试 九江股票配资